]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
sh.c (sh_init_builtins): Add PARAMS to declaration.
[gcc.git] / gcc / ChangeLog
CommitLineData
8202c8c4
R
1Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
2
3 * sh.c (sh_init_builtins): Add PARAMS to declaration.
4 (sh_media_init_builtins, sh_expand_builtin): Likewise.
5 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
6 (sh_expand_binop_v2sf): Likewise.
7 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
8 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
9 (sh_initialize_trampoline): Likewise.
10
07893d4f
UW
112002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
12
13 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
14 new condition code modes.
15 s390.c (s390_match_ccmode_set): Handle those new CC modes.
16 (s390_select_ccmode): Likewise.
17 (s390_branch_condition_mask): Likewise.
18
19 * s390-protos.h (s390_tm_ccmode): Declare.
20 s390.c (s390_tm_ccmode): New function.
21 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
22
23 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
24 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
25 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
26
27 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
28 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
29 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
30 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
31 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
32
33 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
34 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
35 "*cmpqi_ccs_0"): Remove, replace by ...
36 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
37 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
38 "*tstqi", "*tstqi_cconly"): ... these new patterns.
39
40 ("*cmpsidi_ccs"): Remove, replace by ...
41 ("*cmpsi_ccs_sign"): ... this new pattern.
42 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
43
44 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
45 ("*cli"): ... this new pattern.
46
47 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
48 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
49 New patterns.
50 ("adddi3_64"): Rename to "*adddi3_64".
51 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
52 ("adddi3"): Adapt expander.
53
54 ("*addsi3_cc"): Allow "general_operand" for operand 2.
55 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
56 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
57
58 ("addhi3", "addqi3"): Remove, replace by ...
59 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
60
61 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
62 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
63 ("subdi3"): Replace by insn and splitter "*subdi3_31".
64 ("subdi3"): New expander.
65
66 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
67
68 ("subhi3", "subqi3"): Remove, replace by ...
69 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
70
71 ("*muldi3_sign"): New pattern.
72 ("muldi3"): Do not clobber CC.
73 ("mulsi3"): Likewise.
74 ("mulsi_6432"): Likewise.
75
db62867b
DC
762002-08-13 Denis Chertykov <denisc@overta.ru>
77
78 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
79 which can change CC0.
80
8ba46434
R
81Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
82
83 * gcse.c (adjust_libcall_notes): New function.
84 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
85
8733892f
NS
862002-08-13 Nathan Sidwell <nathan@codesourcery.com>
87
88 * libgcc2.c (L_bb): Remove unneeded #includes.
89 (__global_counters, __gthreads_active): Remove unused globals.
90 (__bb_exit_func): Merge counts into files rather than appending.
91 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
92 (ALL_CFLAGS): ... to here.
93
f4769721
DC
942002-08-13 Denis Chertykov <denisc@overta.ru>
95
96 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
97 (function_epilogue): Don't calculate function size.
98 (ip2k_set_compare): Don't use lookup_const_double.
99 (asm_file_start): Initialization of commands_in_file removed.
100 (asm_file_end): Output of commands_in_file removed.
101
102 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
103 __INT_MAX__.
104
c31cddfd
NB
1052002-08-13 Neil Booth <neil@daikokuya.co.uk>
106
107 * c-opts.c (c_common_init_options): Check option array is
108 sorted if checking enabled.
109
f076f0ce
GDR
1102002-08-13 Gabriel Dos Reis <gdr@nerim.net>
111
112 * c-pretty-print.c: #include "c-tree.h".
113 (pp_c_simple_type_specifier): Tweak.
114 (pp_c_storage_class_specifier): New.
115 (pp_c_function_specifier): Likewise.
116 (pp_c_declaration_specifiers): Likewise.
117 (pp_c_init_declarator): Likewise.
118 (pp_c_declaration): Likewise.
119 (pp_c_direct_declarator): Stub.
120 (pp_c_declarator): Likewise.
121 (pp_c_parameter_declaration): Likewise.
122
f4ff5a69
NB
1232002-08-13 Neil Booth <neil@daikokuya.co.uk>
124
125 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
126 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
127 struct deferred_opt): New.
128 (COMMAND_LINE_OPTIONS): Add -M*.
129 (missing_arg): Update.
130 (c_common_decode_option): Handle -M*.
131 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
132 don't call cpp_post_options.
133 (c_common_finish, check_deps_environment_vars): Update.
134 * cppfiles.c (stack_include_file, handle_missing_header): Update.
135 * cpphash.h (CPP_PRINT_DEPS): Remove.
136 * cppinit.c: Don't include version.h.
137 (cpp_create_reader): Don't call deps_init. Initialize
138 warn_long_long.
139 (cpp_read_main_file): Init deps if necessary.
140 (cpp_destroy): Conditionally free deps.
141 (cpp_finish): Update.
142 (no_tgt): Remove.
143 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
144 (cpp_post_options): Rename post_options.
145 * cpplib.h (struct cpp_options): Remove some dependency options;
146 move others to a new structure.
147 (cpp_post_options): Remove.
148 (cpp_finish): Comment.
149 * fix-header.c (read_scan_file): Don't call cpp_post_options.
150
34116c2a
HPN
1512002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
152
153 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
154 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
155 MMIX_rR_REGNUM as clobbered.
156 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
157
9b32718c
GDR
1582002-08-12 Gabriel Dos Reis <gdr@nerim.net>
159
160 * diagnostic.h (output_formatted_scalar): Rename from
161 output_formatted_integer.
162 * diagnostic.def: Add DK_DEBUG.
163 * diagnostic.c (output_decimal): Adjust.
164 (output_long_decimal): Likewise.
165 (output_unsigned_decimal): Likewise.
166 (output_octal): Likewise.
167 (output_long_octal): Likewise.
168 (output_hexadecimal): Likewise.
169 (output_long_hexadecimal): Likewise.
170 * c-pretty-print.c (pp_c_type_specifier): New function.
171 (pp_c_specifier_qualifier_list): Likewise.
172 (pp_c_abstract_declarator): Likewise.
173 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
174
032613df
DE
1752002-08-12 David Edelsohn <edelsohn@gnu.org>
176
177 * doc/trouble.texi (Disappointments): Add static constructor and
178 destructor dependency information for AIX.
179
a3737481
NB
1802002-08-12 Neil Booth <neil@daikokuya.co.uk>
181
182 * cpphash.h (struct printer): New from cppmain.c.
183 (cpp_reader): New member.
184 * cppmain.c (struct printer): Move to cpphash.h.
185 (options, print): Remove.
186 (account_for_newlines, print_line, maybe_print_line,
187 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
188 scan_translation_unit_trad, cb_line_change, cb_ident,
189 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
190 cb_def_pragma): Make reentrant.
191
d71f7700
KG
1922002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
193
194 * real.c (ieee_64): Always define.
195 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
196 (dec_h): Not used yet, hide it.
197 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
198 macro controlling use.
199 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
200
c16576e6
JH
201Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
202
203 * i386.md (tablejump): Sign extend the operand.
204 * i386.c (classify_argument): Fix missed case from previous patch.
205
460bd0e3
NB
2062002-08-12 Neil Booth <neil@daikokuya.co.uk>
207
208 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
209 to c-copts.c.
210 (warn_multichar): Die.
211 (cb_register_builtins): Export.
212 * c-common.h (warn_multichar, preprocess_file): Remove.
213 (cb_register_builtins): New.
214 * c-lang.c (c_init): Remove.
215 (LANG_HOOKS_INIT): Use c_objc_common_init.
216 * c-lex.c (init_c_lex): Don't canonicalize filename.
217 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
218 (preprocess_file): Make static. Update for cpplib.
219 (c_common_decode_option): Remove warn_multichar. Use in_fname.
220 (c_common_post_options): Set some cpp options here.
221 (c_common_init): Move from c-common.c.
222 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
223 * cpplib.h (struct cpp_options): Remove in_fname.
224 (cpp_preprocess_file): Update.
225 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
226
f3f268dd
KG
2272002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
228
229 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
230
f0201fba
KG
2312002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
232
233 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
234 backslash in comment preceeding macro definition.
235 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
236 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
237 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
238
e56fc090
HPN
2392002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
240
241 * expr.c (store_expr): In condition for checking if value is
242 generated in TARGET, move call to expr_size last.
243
76c3e73e
NB
2442002-08-11 Neil Booth <neil@daikokuya.co.uk>
245
246 * c-common.c (c_common_init): Call preprocess_file instead.
247 (c_common_finish): Move to c-opts.c.
248 * c-common.h (preprocess_file): new.
249 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
250 check_deps_environment_vars, c_common_finish): New.
251 (c_common_decode_option): Update for out_fname and dependencies.
252 * cppinit.c (init_dependency_output, output_deps): Remove.
253 (cpp_destroy): Update prototype.
254 (cpp_add_dependency_target): New.
255 (cpp_read_main_file): Don't overlay a buffer.
256 (cpp_finish): Take a deps output stream and write deps to it.
257 Return the error count.
258 (cpp_post_options): Don't canonicalize out_fname, or do anything
259 with dependencies.
260 * cpplib.h (struct cpp_options): Remove out_fname and
261 preprocess_only.
262 (cpp_add_dependency_target): New.
263 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
264 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
265 set preprocess_only. Don't handle the output stream directly.
266
e0c32c62
KG
2672002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
268
269 * dsp16xx.c (print_operand): Fix format specifier.
270 * dsp16xx.md: Avoid automatic aggregate initialization.
271 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
272 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
273 integer constant modifier.
274 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
275 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
276 guards.
277 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
278 * v850.c (v850_select_section): Mark parameter with
279 ATTRIBUTE_UNUSED.
280 * global.c (global_alloc): Const-ify.
281 * ra-colorize.c (hardregset_to_string): Fix format specifier.
282
7ae8cf75
KG
2832002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
284
285 * darwin-c.c (darwin_pragma_options): Const-ify.
286 * darwin.c (machopic_non_lazy_ptr_name,
287 machopic_validate_stub_or_non_lazy_ptr): Likewise.
288 (machopic_indirect_data_reference): Wrap variables in macros
289 controlling their use.
290 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
291 (machopic_select_section): Use parentheses around && within ||.
292 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
293
8819cab5
KG
2942002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
295
296 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
297 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
298 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
299 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
300 mdr_try_remove_redundant_insns, track_w_reload,
301 mdr_try_wreg_elim): Make function static to match prototype.
302 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
303 parameter with ATTRIBUTE_UNUSED.
304
ab2877a3
KG
3052002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
306
307 * arc.c (arc_init): Don't use ISO C style function definitions.
308 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
309 arm_get_strip_length, arm_strip_name_encoding): Likewise.
310 * avr.h (progmem_section): Likewise.
311 * h8300.c h8300_asm_insn_count): Likewise.
312 * m32r.c (init_idents): Likewise.
313 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
314 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
315 * xtensa.c (xtensa_build_va_list): Likewise.
316
08767a6f
NB
3172002-08-11 Neil Booth <neil@daikokuya.co.uk>
318
319 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
320 * c-opts.c (parse_option): Rename find_opt.
321 (set_std_c99): New function.
322 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
323 (missing_arg): Remove OPT_std_bad. Handle -o.
324 (c_common_decode_option): Handle input and output file names,
325 -o and -remap. Clean up -std= handling.
326 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
327 (cpp_handle_option): Similarly. Don't handle filenames.
328
db01f480
JH
329Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
330
331 * i386.c (classify_argument): Fix computing of field's offsets.
332
a7701995
AJ
3332002-08-11 Andreas Jaeger <aj@suse.de>
334
335 PR target/7531:
336 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
337
2516f236
ZL
3382002-08-10 Ziemowit Laski <zlaski@apple.com>
339
340 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
341 reference to clk_objective_c with flag_objc.
342 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
343 Likewise.
344 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
345
f749a36b
NB
3462002-08-10 Neil Booth <neil@daikokuya.co.uk>
347
348 * c-opts.c (set_std_cxx98, set_std_c89): New.
349 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
350 (c_common_decode_option): Handle new switches from cppinit.c.
351 Add -std=gnu++98.
352 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
353 (no_arg, no_num): Remove.
354 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
355 switches apart from -lang-objc and lang-asm.
356 (cpp_handle_option): Similarly.
357 * cpplib.h (cpp_set_lang): New.
358 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
359 -std=gnu++98.
360 * objc/lang-specs.h: Remove -ansi.
361
77abb5d8
JH
362Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
363 Graham Stott
364
365 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
366 errors.
367
fac37dc4
KG
3682002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
369
d950dee3
KG
370 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
371 emit_jump_insn): Fix uninitialized variable.
372 * gcov.c (init_line_info): Likewise.
373 * genautomata.c (transform_3): Add braces around ambiguous
374 else.
375 * ifcvt.c (cond_exec_process_insns): Mark parameter with
376 ATTRIBUTE_UNUSED.
377 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
378 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
379 variable.
380
fac37dc4
KG
381 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
382 warnings in output files.
383
0f7866e7
ZL
3842002-08-09 Ziemowit Laski <zlaski@apple.com>
385
386 * c-common.c (flag_objc): New.
387 * c-common.h (c_language_kind): Get rid of clk_objective_c
388 enum value.
389 (flag_objc): New extern declaration.
390 * c-decl.c (implicitly_declare): Call objc_check_decl
391 instead of maybe_objc_check_decl.
392 (finish_decl): Likewise.
393 (grokfield): Likewise.
394 (finish_struct): Likewise.
395 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
396 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 397 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
398 objc_message_selector.
399 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
400 replace with flag_objc as needed.
401 * c-opts.c (c_common_init_options): Likewise.
402 (c_common_decode_option): Likewise.
403 * c-parse.in (init_reswords): Likewise.
404 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
405 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 406 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
407 objc_message_selector.
408 * c-typeck.c (comptypes): Call objc_comptypes instead of
409 maybe_objc_comptypes, and/or objc_message_selector instead of
410 maybe_building_objc_message_expr.
411 (comp_target_types): Likewise.
412 (convert_for_assignment): Likewise.
413 (warn_for_assignment): Likewise.
414 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
415 independently of those for other languages.
416 * objc/objc-act.c (maybe_objc_comptypes): Delete.
417 (maybe_objc_check_decl): Delete.
a7701995 418 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
419 objc_message_selector.
420 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
421 clk_objective_c; set flag_objc flag.
422
c512fd7b
TM
4232002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
424
425 * ifcvt.c (find_if_case_2): Test correct basic block for size.
426
5e1bf043 4272002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 428
5e1bf043
DJ
429 * config/rs6000/rs6000.md: Add sibcall patterns.
430 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
431 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
432 Rewritten to handle sibcalls.
433 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
434 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
435
2043c38e
NS
4362002-08-08 Nathan Sidwell <nathan@codesourcery.com>
437
438 * profile.c (da_file_name): New static var.
439 (init_branch_prob): Initialize it.
440 (end_branch_prob): Remove da file.
441
442 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
443 * configure.in (coverage_flags) default to nothing.
444 * configure: Rebuilt.
445
4b7091eb
NB
4462002-08-09 Neil Booth <neil@daikokuya.co.uk>
447
448 * Makefile.in (c-opts.o): Update
449 * c-opts.c: Include intl.h.
450 (print_help): Move from cppinit.c. Remove unused options.
451 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
452 (missing_arg): Complain for switches without an argument.
453 (c_common_decode_option): Reject missing joined arguments.
454 Handle new switches from cppinit.c.
455 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
456 (cpp_handle_option): Similarly.
457 (print_help): Moved to c-opts.c.
458 * cpplib.h (struct cpp_options): Remove help_only.
459 * gcc.c (cpp_unique_options): Remove -$.
460 * doc/cppopts.texi: Undocument -h.
461
9e20be0c
JJ
4622002-08-08 Jakub Jelinek <jakub@redhat.com>
463
464 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
465 legitimate constant.
466 (legitimate_pic_operand_p): Neither pic operand.
467 (legitimate_address_p): But legitimate address.
468 (get_thread_pointer): Generate MEM/u instead of CONST around
469 UNSPEC_TP.
470 (print_operand): Remove printing of UNSPEC_TP.
471 (print_operand_address): And print it here.
472
7b9be5c7 4732002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 474
a7701995
AJ
475 * objc/objc-act.c (build_selector_translation_table): Issue warning,
476 when -Wselector is used,if method for which selector is being
7b9be5c7 477 created does not exist.
a7701995 478
5615d8fd
SC
4792002-08-08 Stephen Clarke <stephen.clarke@superh.com>
480
481 * config/sh/sh.c (prepare_move_operands): Only call
482 target_reg_operand if TARGET_SHMEDIA.
a7701995 483
3b85fe5f
JJ
4842002-08-08 Jakub Jelinek <jakub@redhat.com>
485
486 * config/rs6000/rs6000.h, config/rs6000/aix.h,
487 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
488 two patches.
489 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
490
e10c79fe
LB
4912002-08-08 Lars Brinkhoff <lars@nocrew.org>
492 Richard Henderson <rth@redhat.com>
493
494 * emit-rtl.c (gen_rtx_REG): After reload, only return
495 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
496
aa2a83dc
JJ
4972002-08-08 Jakub Jelinek <jakub@redhat.com>
498
499 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
500 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
501 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
502 macro.
503
aeaf4d25
AN
5042002-08-08 Adam Nemet <anemet@lnxw.com>
505
506 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
507 register.
508 (thumb_expand_prologue): Likewise.
509 (thumb_output_function_prologue): Likewise.
510 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
511 the additional push of the PIC register.
512
22aa533e
NS
5132002-08-08 Nathan Sidwell <nathan@codesourcery.com>
514
515 * configure.in (enable_coverage): New enable switch.
516 * configure: Rebuilt.
517 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
518 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
519 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
520 (mostlyclean): Remove coverage files.
521 * doc/install.texi: Document enable_coverage.
522
523 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
524 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
525 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
526 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
527 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
528 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
529 files.
a7701995 530
18bdccaa
NB
5312002-08-08 Neil Booth <neil@daikokuya.co.uk>
532
533 * c-opts.c (cpp_opts): New.
534 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
535 (c_common_decode_options): Handle cpplib switches.
536 (c_common_init_options): Set cpp_opts.
537 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
538 (cpp_handle_option): Similarly.
539
774b5662
DE
5402002-08-08 David Edelsohn <edelsohn@gnu.org>
541
542 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
543 (TARGET_ALTIVEC_ABI): Same.
544 (TARGET_ALTIVEC_VRSAVE): Same.
545
546 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
547 icode not CODE_FOR_nothing. Change switch to if.
548
957e9e48
AM
5492002-08-08 Alan Modra <amodra@bigpond.net.au>
550
551 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
552
daf06049
JJ
5532002-08-08 Jakub Jelinek <jakub@redhat.com>
554
555 * stor-layout.c (place_union_field): For bitfields if
556 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
557 TYPE_USER_ALIGN.
558
043d39a6
JDA
5592002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
560
561 * pa.c (struct deferred_plabel): Constify name field.
562
34bb92e3
NB
5632002-08-07 Neil Booth <neil@daikokuya.co.uk>
564
565 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
566
3ec5d64d
JDA
5672002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
568
569 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
570 local_prefix are the same.
571 * configure: Rebuilt.
572
ad9335eb
JJ
5732002-08-07 Jakub Jelinek <jakub@redhat.com>
574 Richard Henderson <rth@redhat.com>
575
576 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
577 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
578 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
579 (place_field): Likewise.
580 * config/i386/i386.c (x86_field_alignment): Don't check
581 DECL_USER_ALIGN here.
582 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
583 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
584 prototype.
585 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
586 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
587 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
588 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
589 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
590 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
591
0b6f2917
NB
5922002-08-07 Neil Booth <neil@daikokuya.co.uk>
593
594 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
595 * c-common.c: Don't include tree-inline.h.
596 (c_common_init_options, c_common_post_options): Move to c-opts.c.
597 * c-common.h (c_common_decode_option): New.
598 * c-decl.c (c_decode_option): Remove.
599 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
600 * c-opts.c: New file.
601 * c-tree.h (c_decode_option): Remove.
602 * doc/passes.texi: Update.
603 * objc/objc-act.c (objc_decode_option): Remove.
604 * objc/objc-act.h (objc_decode_option): Remove.
605 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
606 c_common_decode_option.
607
e49ec17d
CD
6082002-08-07 Chris Demetriou <cgd@broadcom.com>
609
610 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
611 dependency on TARGET_DOUBLE_FLOAT.
612
ac1ca451
SC
6132002-08-07 Stephen Clarke <stephen.clarke@superh.com>
614
615 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
616 overwrite callee-save registers. Fix comment.
617
af34e51e
CD
6182002-08-06 Chris Demetriou <cgd@broadcom.com>
619
620 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
621 in target_flags based on ISA, if it was not set on the command
622 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
623 support Branch Likely instructions.
624 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
625 (TARGET_BRANCHLIKELY): Likewise.
626 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
627 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
628 ISA_HAS_BRANCHLIKELY.
629 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
630 * doc/invoke.texi: Document new MIPS -mbranch-likely and
631 -mno-branch-likely options.
632
2631af95
KG
6332002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
634
f538618e
KG
635 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
636
2631af95
KG
637 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
638 $(GCONFIG_H).
639
1ae0ccb6
AH
6402002-08-06 Aldy Hernandez <aldyh@redhat.com>
641
642 * c-decl.c (duplicate_decls): Error out for incompatible TLS
643 declarations.
644
645 * testsuite/gcc.dg/tls/diag-3.c: New.
646
f1a044c7
JM
6472002-08-06 Jason Merrill <jason@redhat.com>
648
649 * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
650 a VAR_DECL with RTL that matches the target, just return that RTL.
651
8d3e27d1
DJ
6522002-08-06 Dale Johannesen <dalej@apple.com>
653 * c-common.c (fname_decl): Use line number 0 for
654 __func__, to avoid confusing debuggers.
655
8b219a76
NS
6562002-08-06 Nathan Sidwell <nathan@codesourcery.com>
657
658 * gcov.c: Tidy.
659 (struct line_info, struct coverage): New structures.
660 (gcov_file_name, gcov_file): Remove globals.
661 (output_data): Take source file parameter. Fix memory leak. Break
662 up into ...
663 (init_line_info, output_line_info, make_gcov_file_name,
664 accumulate_branch_counts): ... here.
665 (calculate_branch_probs, function_summary): Adjust.
666 (main): Adjust.
667 (function_*): Remove global variables.
668
317e98c0
NB
6692002-08-06 Neil Booth <neil@daikokuya.co.uk>
670
671 * dwarf2out.c: Remove unused macros.
672
81d41e74
NB
6732002-08-06 Neil Booth <neil@daikokuya.co.uk>
674
675 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
676
58551c23
NB
6772002-08-06 Neil Booth <neil@daikokuya.co.uk>
678
679 * cppinit.c (struct lang_flags): Rename trigraphs std.
680 (set_lang): Update.
681 * cpplib.h (struct cpp_options): New member std.
682 * cppmacro.c (_cpp_builtin_macro_text): Use std.
683 (collect_args): Flag whether to swallow a possible future
684 comma pasted with varargs.
685 (replace_args): Use this flag.
686 * doc/cpp.texi: Update varargs extension documentation.
687
daeabcd0
JJ
6882002-08-06 Jakub Jelinek <jakub@redhat.com>
689
690 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
691
39e3a681
JJ
6922002-08-06 Jakub Jelinek <jakub@redhat.com>
693
9812691e
JJ
694 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
695 and MODE_CLASS_INT modes.
39e3a681 696
609a87f3
JJ
6972002-08-06 Jakub Jelinek <jakub@redhat.com>
698
699 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
700 --{enable,disable}-threads is given to configure.
701 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
702 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
703 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
704 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
705 Remove thread_file setting here.
706
ff4c5e7b
DE
7072002-08-06 David Edelsohn <edelsohn@gnu.org>
708
709 * doc/install.texi (Binaries): Update Bull Freeware URL.
710
54f3aa9e
GP
7112002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
712
713 * doc/gcc.texi (Top): Rename Index to Keyword Index.
714
d19202ba
NS
7152002-08-05 Nathan Sidwell <nathan@codesourcery.com>
716
717 * gcov.c (output_data): Round to % to nearest, tweak formatting.
718
1bed5ee3
JJ
7192002-08-05 Jakub Jelinek <jakub@redhat.com>
720
721 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
722 of the operands into MINUS_EXPR if code is PLUS_EXPR.
723
84512347
DR
7242002-08-05 Douglas B Rupp <rupp@gnat.com>
725
726 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
727 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
728 drectve_section): Define.
729 * config/i386/t-interix: Replace interix.o rule with winnt.o.
730 * config/i386/interix.c: Remove.
731
b835f6f1
GK
7322002-08-05 Geoffrey Keating <geoffk@redhat.com>
733
734 * attribs.c: Don't include obstack.h.
735 * builtins.c: Likewise.
736 * cfganal.c: Likewise.
737 * cfgbuild.c: Likewise.
738 * cfgcleanup.c: Likewise.
739 * emit-rtl.c: Likewise.
740 * loop.c: Likewise.
741 * stmt.c: Likewise.
742
743 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
744
fd291392
GDR
7452002-08-05 Gabriel Dos Reis <gdr@nerim.net>
746
747 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
748
054b7507
CD
7492002-08-04 Chris Demetriou <cgd@broadcom.com>
750
751 * doc/invoke.texi: Remove duplicated paragraph describing
752 TARGET_SWITCHES.
753
6d9f628e
GK
7542002-08-04 Geoffrey Keating <geoffk@redhat.com>
755
756 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
757 * collect2.h (permanent_obstack): Delete declaration.
758 * collect2.c (permanent_obstack): Delete definition.
759 (main): Don't initialise permanent_obstack. Use xstrdup instead.
760 * expr.c: Don't include obstack.h.
761 (permanent_obstack): Delete declaration.
762 * function.c: Don't include obstack.h.
763 (permanent_obstack): Delete declaration.
764 * integrate.c: Don't include obstack.h.
765 (function_maybepermanent_obstack): Delete declaration.
766 * print-tree.c (debug_tree): Use x*alloc not permalloc.
767 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
768 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
769 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
770 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
771 of permalloc, expralloc, perm_calloc.
772 * tree.c (permanent_obstack): Delete definition.
773 (init_ttree): Rename from init_obstacks.
774 (permalloc): Delete.
775 (perm_calloc): Delete.
776 (dump_tree_statistics): Don't print information about
777 permanent_obstack.
778 * varasm.c (assemble_start_function): Use xstrdup instead of
779 permalloc/strcpy.
780 (assemble_variable): Likewise.
781 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
782 permalloc.
783 (unicosmk_add_extern): Likewise.
784 * config/c4x/c4x.c (c4x_external_ref): Likewise.
785 (c4x_global_label): Likewise.
786 * config/frv/frv.c (frv_encode_section_info): Likewise.
787 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
788 (i386_pe_record_exported_symbol): Likewise.
789 * config/mips/mips.c (mips_output_external): Likewise.
790 (mips_output_external_libcall): Likewise.
791 * config/pa/pa.c: (permanent_obstack): Delete declaration.
792 (output_call): Use ggc_strdup instead of allocating on
793 permanent_obstack.
794 * config/romp/romp.c: Include ggc.h.
795 (get_symref): Don't declare permanent_obstack, use ggc_strdup
796 intead of permanent_obstack.
797 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
798 instead of permalloc.
799 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
800 instead of permalloc
801 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
802 instead of permalloc.
803 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
804 permalloc.
805
36a05131
BS
8062002-08-04 Bernd Schmidt <bernds@redhat.com>
807
808 Contribute a port developed primarily by Michael Meissner,
809 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
810 * config.gcc: Add frv-elf target.
811 * config/frv/cmovd.c: New file.
812 * config/frv/cmovh.c: New file.
813 * config/frv/cmovw.c: New file.
814 * config/frv/frv-abi.h: New file.
815 * config/frv/frv-asm.h: New file.
816 * config/frv/frv-modes.def: New file.
817 * config/frv/frv-protos.h: New file.
818 * config/frv/frv.c: New file.
819 * config/frv/frv.h: New file.
820 * config/frv/frv.md: New file.
821 * config/frv/frvbegin.c: New file.
822 * config/frv/frvend.c: New file.
823 * config/frv/lib1funcs.asm: New file.
824 * config/frv/media.h: New file.
825 * config/frv/modi.c: New file.
826 * config/frv/t-frv: New file.
827 * config/frv/uitod.c: New file.
828 * config/frv/uitof.c: New file.
829 * config/frv/ulltod.c: New file.
830 * config/frv/ulltof.c: New file.
831 * config/frv/umodi.c: New file.
832 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
833
834 * config/frv/media.h: Removed again.
835
37b8715b
NS
8362002-08-04 Nathan Sidwell <nathan@codesourcery.com>
837
838 * gcov.c (bb_file_time): New static variable.
839 (object_directory): May also be object file.
840 (preserve_paths): New static variable.
841 (print_usage): Adjust.
842 (options): Adjust.
843 (process_args): Adjust.
844 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
845 file. Find modification date on bb file.
846 (read_profile): Don't rewind a NULL file.
847 (format_hwint): New static function.
848 (function_summary): Use format_hwint.
849 (output_data): SOURCE_FILE_NAME is never relative to
850 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
851 mangling. Adjust output format to make it more machine readable.
852 * doc/gcov.texi: Document & clarify semantics.
a7701995 853
d500c5d7
JM
8542002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
855
856 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
857
ea67fe71
NS
8582002-08-04 Nathan Sidwell <nathan@codesourcery.com>
859
860 * gcc.c (cc1_options): Pass output file as auxbase when
861 appropriate.
862 * profile.c (init_branch_prob): FILENAME has already had ending
863 stripped.
864 * final.c (end_final): Likewise.
865 * toplev.c (aux_base_name): New global.
866 (compile_file): Pass aux_base_name to init init_branch_prob and
867 end_final.
868 (independent_decode_option, case 'a'): New auxinfo options.
869 (case 'd'): Protect against mising basename.
870 (do_compile): Initialize aux_base_name.
871 * toplev.h (aux_base_name): New global.
872 * doc/invoke.texi: Adjust documentation.
873
b23c054d
NS
8742002-08-04 Nathan Sidwell <nathan@codesourcery.com>
875
876 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
877 of TARGET_ALIGN_DOUBLE.
878
04c1334c 8792002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 880
04c1334c
GDR
881 * diagnostic.c (inform): New function.
882 * diagnostic.h (inform): Declare.
a7701995 883
e34eaae5
DE
8842002-08-03 David Edelsohn <edelsohn@gnu.org>
885
886 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
887 (movhi_internal): Same.
888 (movqi_internal): Same.
889 (movdi_internal64): Same.
890
891 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
892
893 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
894 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
895 (COMMON_ASM_OP): Define.
896 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
897 Use ALIGN parameter.
898 (LOCAL_COMMON_ASM_OP): Define.
899 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
900
e7b489c8
RS
9012002-08-03 Roger Sayle <roger@eyesopen.com>
902
903 * builtins.def: Define new builtin functions exp, expf, expl,
904 log, logf and logl (and their __builtin_* variants).
905 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
906 Define exp_optab and log_optab.
907 * optabs.c (init_optans): Initialize exp_optab and log_optab.
908 * genopinit.c (optabs): Implement exp_optab and log_optab
909 using exp?f2 and log?f2 patterns.
910 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
911 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
912 (expand_builtin): Ignore the new builtins (and all cos and
913 sin variants) when not optimizing. Expand new builtins via
914 expand_builtin_mathfn when flag_unsafe_math_optimizations.
915
916 * doc/extend.texi: Document new exp and log builtins.
917 * doc/md.texi: Document new exp?f2 and log?f2 patterns
918 (and previously undocumented cos?f2 and sin?f2 patterns).
919
de8920be
JM
9202002-08-03 Jason Merrill <jason@redhat.com>
921
922 * explow.c (int_expr_size): New fn.
923 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
924 * expr.h: Declare it.
925
ba462c8e
KW
9262002-08-02 Krister Walfridsson <cato@df.lth.se>
927
928 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
929 gengtype-* dependencies.
930
2017ed61
EC
9312002-08-02 Eric Christopher <echristo@redhat.com>
932
933 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
934 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
935 #ifndef to #undef.
936 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
937
055dd007
DE
9382002-08-02 David Edelsohn <edelsohn@gnu.org>
939
940 PR optimize/7067
941 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
942 small if optimizing for size.
943
771a2a66
DJ
9442002-08-02 Daniel Jacobowitz <drow@mvista.com>
945
946 * configure.in (FORBUILD): Use $build_alias.
947 * configure: Regenerated.
948
ac8ab9fe
RS
9492002-08-02 Richard Sandiford <rsandifo@redhat.com>
950
951 * config.gcc: Don't include mips/abi64.h in $tm_file.
952 * hard-reg-set.h (call_really_used_regs): Declare.
953 * config/mips/abi64.h: Remove file.
954 * config/mips/linux.h,
955 * config/mips/iris6.h: Don't include it.
956 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
957 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
958 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
959 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
960 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
961 Bring across definitions from abi64.h.
962 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
963 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
964 (struct mips_args): Use it.
965 * config/mips/mips.c (mips_conditional_register_usage): Define.
966
a77a9a18
JM
9672002-08-02 Jason Merrill <jason@redhat.com>
968
969 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
970 * langhooks.c (lhd_expr_size): Define default.
971 * langhooks.h (struct lang_hooks): Add expr_size.
972 * explow.c (expr_size): Call it.
973 * expr.c (store_expr): Don't copy an expression of size zero.
974 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
975 to store.
976 * Makefile.in (builtins.o): Depend on langhooks.h.
977
a6be5aee
KG
9782002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
979
980 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
981 * ra-debug.c: Include "tm_p.h".
982 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
983
e3e16ee3
TM
9842002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
985
986 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
987 when not honoring signalling NaNs.
988 (simplify_ternary_operation): a == b has a definite value
989 when not honoring NaNs.
990
b9d8832d
JM
9912002-08-02 Jason Merrill <jason@redhat.com>
992
993 * gdbinit.in (pct): New macro.
994
825abef4
SS
9952002-08-01 Stan Shebs <shebs@apple.com>
996 Andreas Tobler <toa@pop.agri.ch>
997
998 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
999 plays nice with Darwin headers.
bf2e488f 1000 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 1001
56da7207
ZW
10022002-08-01 Zack Weinberg <zack@codesourcery.com>
1003
1004 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
1005 * cppinit.c (cpp_post_options): Likewise.
1006
1007 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
1008 warning about 'LL' suffix (but not 'ULL' etc) when
1009 -Wno-long-long is in effect.
1010
1011 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
1012 Check for failing time()/localtime(), issue a warning, and
1013 make __TIME__ and __DATE__ expand to fallback strings.
1014
1015 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
1016 and __TIME__ when the date and time cannot be determined.
1017
f4857b9b
AM
10182002-08-02 Alan Modra <amodra@bigpond.net.au>
1019
1020 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
1021
77ca7b2e
DJ
10222002-08-01 Daniel Jacobowitz <drow@mvista.com>
1023
1024 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
1025
5b552f76
CD
10262002-08-01 Chris Demetriou <cgd@broadcom.com>
1027
1028 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
1029 (mipsisa64sb1el-*-elf*): Likewise.
1030 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
1031 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
1032 (TARGET_SB1, TUNE_SB1): New macros.
1033 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
1034 -mtune flags.
1035
54fbf6a1
DE
10362002-08-01 David Edelsohn <edelsohn@gnu.org>
1037
1038 * varasm.c (asm_emit_uninitialized): Return false if global BSS
1039 and ASM_EMIT_BSS not supported by target.
1040 (assemble_variable): Do not duplicate uninitialized logic.
1041 Fall through if asm_emit_uninitialized failed.
1042
3d16b407
CD
10432002-08-01 Chris Demetriou <cgd@broadcom.com>
1044
1045 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
1046
fb52d8de
AM
10472002-08-02 Alan Modra <amodra@bigpond.net.au>
1048
80926cc1
AM
1049 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
1050 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
1051
fb52d8de
AM
1052 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
1053 HOST_BITS_PER_WIDE_INT == 64.
1054
a4b5414c
KG
10552002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1056
1057 * df.c (df_insn_table_realloc): Change parameter to unsigned.
1058 * optabs.c (expand_binop): Make variable unsigned.
1059 * simplify-rtx.c (simplify_subreg): Likewise.
1060 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
1061
a03e67c3
FS
10622002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1063
1064 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
1065
de273d3f
RH
10662002-08-01 Richard Henderson <rth@redhat.com>
1067
56da7207 1068 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
1069 flag_reorder_blocks for -Os.
1070
1071 * config/avr/avr.c (avr_optimization_options): Remove.
1072 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
1073 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
1074 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
1075
4e4d733e
L
10762002-08-01 H.J. Lu <hjl@gnu.org>
1077 Richard Henderson <rth@redhat.com>
1078
1079 * output.h (DECL_READONLY_SECTION): Remove.
1080 (decl_readonly_section): Declare.
1081 * varasm.c (decl_readonly_section): New.
1082 (default_section_type_flags, default_select_section): Use it.
1083 * config/arm/pe.c (arm_pe_unique_section): Likewise.
1084 * config/i386/interix.c (i386_pe_unique_section): Likewise.
1085 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
1086 * config/mcore/mcore.c (mcore_unique_section): Likewise.
1087 * config/mips/mips.c (mips_unique_section): Likewise.
1088
32e9b960
RH
10892002-08-01 Richard Henderson <rth@redhat.com>
1090
1091 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
1092 refers to a subroutine parameter.
1093
81e602b5
JJ
10942002-08-01 Jakub Jelinek <jakub@redhat.com>
1095
1096 * varasm.c (assemble_visibility): Strip name encoding.
1097
ac14c725
ID
10982002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
1099
1100 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
1101 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
1102 when there is no frame pointer.
1103 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
1104 registers properly.
1105 * config/ns32k/__unorddf2.c: New file.
1106 * config/ns32k/__unordsf2.c: New file.
1107 * config/ns32k/t-ns32k: New file.
1108 * config.gcc (ns32k-*-netbsd*): Use it.
1109
17072732
AH
11102002-08-01 Aldy Hernandez <aldyh@redhat.com>
1111
1112 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
1113
c288218a
NB
11142002-08-01 Neil Booth <neil@daikokuya.co.uk>
1115
1116 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
1117
43bfc248
BK
11182002-08-01 Benjamin Kosnik <bkoz@redhat.com>
1119
1120 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
1121
479f2cea
RS
11222002-08-01 Richard Sandiford <rsandifo@redhat.com>
1123
1124 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
1125
02280659
ZD
11262002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1127
1128 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
1129 n_sets): Removed.
1130 (expr_hash_table, set_hash_table): Type changed to ...
1131 (struct hash_table): New type.
1132 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
1133 insert_expr_in_table, insert_set_in_table, compute_hash_table,
1134 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
1135 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
1136 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
1137 (alloc_hash_table): New.
1138 (free_set_hash_table, free_expr_hash_table): Merged to ...
1139 (free_hash_table): New.
1140 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
1141 (compute_hash_table_work): New.
1142 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
1143 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
1144 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
1145 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
1146 hoist_code, one_code_hoisting_pass,
1147 trim_ld_motion_mems): Altered due to changed type of hash tables.
1148
905173eb
ZW
11492002-08-01 Zack Weinberg <zack@codesourcery.com>
1150
1151 * final.c (output_alternate_entry_point):
1152 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
1153
83321d36
KG
11542002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1155
ad0f1765
KG
1156 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
1157 avoid ISO C style function definition.
1158
83321d36
KG
1159 * expr.c (expand_assignment): Delete unused variable.
1160
73e42cf3
TM
11612002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
1162
1163 * c-common.c (cb_register_builtins): Set
1164 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
1165 is given, and to 0 otherwise.
1166 * combine.c (simplify_if_then_else): HONOR_NANS
1167 implies FLOAT_MODE_P.
1168
78df51fe
NB
11692002-08-01 Neil Booth <neil@daikokuya.co.uk>
1170
1171 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
1172 (cpp_handle_option): Don't handle it.
1173 (print_help): Update.
1174 * doc/cppopts.texi: Update.
1175
abecfc8f
NB
11762002-08-01 Neil Booth <neil@daikokuya.co.uk>
1177
1178 * c-common.c (cb_register_builtins): If C++, define
1179 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
1180 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
1181cp:
1182 * lang-specs.h: Simplify in accordance with new code in
1183 c-common.c.
1184
4078b403
NB
11852002-08-01 Neil Booth <neil@daikokuya.co.uk>
1186
1187 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
1188 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
1189 * c-decl.c: Move all warning and flag variables to c-common.c.
1190 * c-format.c: Move all warning variables to c-common.c.
1191 * c-tree.h: Move all warning and flag declarations to c-common.h.
1192 * objc/objc-act.c: Move all warning variables to c-common.c.
1193 (flag_warn_protocol): Rename warn_protocol.
1194
692f5611
JDA
11952002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
1196
1197 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
1198
480e7ded
GS
11992002-07-31 Graham Stott <grahams@btinternet.com>
1200
905173eb 1201 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
1202 .section prefix.
1203
b069de3b
SS
12042002-07-31 Stan Shebs <shebs@apple.com>
1205
1206 * config.gcc (i[34567]86-*-darwin*): New configuration.
1207 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
1208 defining.
1209 (TARGET_ENCODE_SECTION_INFO): Ditto.
1210 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
1211 * config/darwin.c (machopic_indirect_data_reference): Remove
1212 setting of RTX_UNCHANGING_P.
1213 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
1214 not to be applied to sums.
1215 * config/i386/t-darwin: New file.
1216 * config/i386/darwin.h: New file.
1217 * config/i386/i386.h (TARGET_MACHO): Add default definition.
1218 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
1219 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
1220 label and not the GOT add.
1221 (constant_address_p): For Mach-O, seeing a CONST is enough.
1222 (legitimate_pic_address_disp_p): Add a Mach-O case.
1223 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
1224 (legitimize_pic_address): Use generic Mach-O code to legitimize.
1225 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
1226 if outputting a difference.
1227 (ix86_output_addr_diff_elt): Add Mach-O case.
1228 (ix86_expand_move): Similarly.
1229 (ix86_expand_call): Similarly.
1230 (current_machopic_label_num): New global.
1231 (machopic_output_stub): New function.
1232 (ix86_value_regno): New function.
1233 (ix86_function_value): Use it instead of VALUE_REGNO.
1234 (ix86_libcall_value): Ditto.
1235 * config/i386/unix.h (VALUE_REGNO): Remove.
1236
1de4ecb6
GS
12372002-07-31 Graham Stott <grahas@btinternet.com>
1238
1239 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 1240 hash for LABEL_REF's.
1de4ecb6 1241
23368455
GS
12422002-07-31 Graham Stott <grahams@btinternet.com>
1243
1244 * config/rs6000/rs6000.c (spe_init_builtins,
1245 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 1246 Replace ANSI with K&R function def.
23368455 1247
ad72b533
DE
12482002-07-31 David Edelsohn <edelsohn@gnu.org>
1249
1250 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
1251 for CCFPmode.
1252
302359da
RS
12532002-07-31 Richard Sandiford <rsandifo@redhat.com>
1254
1255 * config/mips/crtn.asm: Don't use __mips16 to determine the
1256 return-address offset. Define RA to a suitable temporary
1257 register for the return address.
1258
ead0c1d5
RS
12592002-07-31 Richard Sandiford <rsandifo@redhat.com>
1260
1261 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
1262 constraints to 'd'.
1263
3fb9d48a
CD
12642002-07-30 Chris Demetriou <cgd@broadcom.com>
1265
1266 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
1267 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
1268 patch on 2002-07-29.)
1269 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1270
072cdaed
KG
12712002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1272
506a61b1
KG
1273 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
1274 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
1275 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
1276 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
1277 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
1278 (ASM_GLOBALIZE_LABEL): Delete.
1279 (GLOBAL_ASM_OP): Define.
1280
072cdaed 1281 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 1282
072cdaed
KG
1283 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
1284 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
1285
6fd14075
GK
12862002-07-30 Geoffrey Keating <geoffk@redhat.com>
1287
1288 * doc/extend.texi (Hints implementation): Document that GCC
1289 mostly ignores `register'.
1290
2e8f2e8f
TM
12912002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
1292
1293 * flags.h: Declare flag_finite_math_only.
1294 Use it in definition of HONOR_NANS and
1295 HONOR_INFINITIES.
1296 * c-common.c (cb_register_builtins): Emit
1297 __FINITE_MATH_ONLY__ when flag_finite_math_only
1298 is set.
1299 * combine.c (simplify_if_then_else): If
1300 flag_finite_math_only is set, a == b has a
1301 definite value.
1302 * toplev.c: Initialize flag_finite_math_only.
1303 (set_flags_fast_math): Set it on -ffast-math.
1304 (flag_fast_math_set_p): Test it.
1305 * doc/invoke.texi: Document -ffinite-math-only.
1306
a538e580
RH
13072002-07-30 Richard Henderson <rth@redhat.com>
1308
1309 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
1310 (noce_process_if_block): Likewise.
1311
26e20555
BS
13122002-07-30 Bernd Schmidt <bernds@redhat.com>
1313
1314 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
1315 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
1316 * genemit.c (gen_expand): Recognize return insns even if the return
1317 appears in a parallel.
d8088c6f
BS
1318 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
1319 * config/fp-bit.c: Likewise.
1320 * doc/tm.texi: Document it.
905173eb 1321
0559cc77
DE
13222002-07-30 David Edelsohn <edelsohn@gnu.org>
1323 Zack Weinberg <zack@codesourcery.com>
1324
1325 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
1326 CODE_FOR_nothing. Change switch to if.
1327 (rs6000_expand_binop_builtin): Same.
1328 (rs6000_expand_builtin): Expand builtin if target support enabled.
1329 (rs6000_init_builtins): Init builtin if target support enabled.
1330 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
1331
60b8aa94
FS
13322002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1333
1334 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
1335
714fb710
RS
13362002-07-30 Richard Sandiford <rsandifo@redhat.com>
1337
1338 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
1339
c608a684
R
1340Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
1341
1342 * sh.md (cond_delay_slot): New attribute.
1343 (cbranch delay): Use it for anulled-true case.
1344 (stuff_delay_slot): New pattern.
1345 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
1346 delay slot insn.
1347 (gen_far_branch): Emit stuff_delay_slot pattern.
1348
0a756401
R
1349Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
1350
1351 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
1352
68e82b83
KH
13532002-07-30 Kazu Hirata <kazu@cs.umass.edu>
1354
1355 * fold-const.c: Fix comment typos.
1356 * gcse.c: Likewise.
1357 * reload1.c: Likewise.
1358
fe6b547a
AH
13592002-07-29 Aldy Hernandez <aldyh@redhat.com>
1360
1361 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
1362 for TARGET_SPE.
1363
7ff4a7ef
GDR
13642002-07-30 Gabriel Dos Reis <gdr@nerim.net>
1365
1366 * c-pretty-print.h (pp_c_statement): Declare.
1367 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
1368 (pp_c_statement): Define.
1369
4ad5e05d
KG
13702002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1371
1372 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
1373 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
1374 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
1375 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
1376 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
1377 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
1378
1379 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
1380 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
1381
1e6a3e1e
GDR
13822002-07-30 Gabriel Dos Reis <gdr@nerim.net>
1383
1384 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
1385 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
1386 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
1387 (pp_c_expression): Update.
1388
1dcd444b
KG
13892002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1390
1391 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
1392 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
1393 * alpha/vms-ld.c (main): Likewise.
1394 * dsp16xx.c (double_reg_to_memory): Likewise.
1395 * mcore.c (mcore_expand_prolog): Likewise.
1396 * cppfiles.c (read_name_map): Likewise.
1397 * gensupport.c (process_rtx, identify_predicable_attribute,
1398 alter_test_for_insn): Likewise.
1399 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
1400
e62f4abc
RS
14012002-07-29 Roger Sayle <roger@eyesopen.com>
1402
1403 * builtins.c (expand_builtin): Change the default behavior to
905173eb 1404 only issue an error if the builtin function doesn't have a
e62f4abc
RS
1405 fallback library call. Remove several cases handled by the
1406 new default.
1407
0cd2fb44
JDA
14082002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
1409
1410 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
1411 floating point format of the target is IEEE.
1412 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
1413 format of the target is DEC.
1414
b642261e
RH
14152002-07-29 Richard Henderson <rth@redhat.com>
1416
1417 * unroll.c (verify_addresses): Remove.
1418 (find_splittable_givs): Never split DEST_ADDR givs.
1419
cba57c9d
GK
14202002-07-29 Geoffrey Keating <geoffk@redhat.com>
1421
1422 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
1423 is exhaustive.
1424 (Files): Improve documentation on generated source files.
1425
1426 * doc/extend.texi (Translation implementation): Document what
1427 diagnostics look like.
1428 (Identifiers implementation): Document that there's normally no
1429 limit on identifier names.
1430 (Integers implementation): Document two's complement.
1431 (Hints implementation): Document that GCC honours 'inline', mostly.
1432 (Preprocessing directives implementation): Document that GCC
1433 requires the current time.
1434
76a8ecba
GDR
14352002-07-30 Gabriel Dos Reis <gdr@nerim.net>
1436
1437 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
1438 (pp_initializer): New macro.
1439 (pp_c_initializer): Declare.
1440 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
1441 (pp_c_initializer): Define.
1442 (pp_c_initializer_list): New function.
1443 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
1444 VECTOR_CST, CONSTRUCTOR.
1445 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 1446 IMAGPART_EXPR.
76a8ecba
GDR
1447 (pp_c_cast_expression): Handle FLOAT_EXPR.
1448 (pp_c_assignment_expression): Handle INIT_EXPR.
1449 (pp_c_expression): Update.
1450
4307be72
NB
14512002-07-30 Neil Booth <neil@daikokuya.co.uk>
1452
1453 * objc/objc-act.c (objc_init): Return immediately if filename
1454 is NULL.
1455
6d439235
EC
14562002-07-29 Eric Christopher <echristo@redhat.com>
1457
905173eb
ZW
1458 * config/mips/elf.h: Remove ecoff.h and gofast includes.
1459 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
1460 (SDB_DEBUGGING_INFO): Undefine.
1461 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
1462 (PUT_SDB_SIZE): Remove.
1463 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
1464 (STARTFILE_SPEC): Add isa3264 define.
1465 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
1466 * config/mips/ecoff.h: Remove. and here...
1467 * config/mips/iris3.h: and here...
1468 * config/mips/sni-svr4.h: and here...
1469 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
1470 Add assembler -mmdebug options for non-dwarf debugging.
1471 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
1472 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
1473 * config/mips/isa3264.h: Ditto.
1474 * config/mips/t-isa3264: Fix up for file removal and gofast configure
1475 change.
1476 * config/mips/t-elf: Ditto.
1477 * config/mips/t-ecoff: Ditto.
1478 * config/mips/t-r3900: Ditto.
1479 * config/mips/t-iris5-6: Ditto.
1480 * config/mips/t-isa3264: Ditto.
1481 * config/mips/t-linux: Remove.
1482 * config/mips/t-netbsd: Remove.
1483 * config/mips/t-mips: New file.
1484 * config/mips/t-gofast: Ditto.
1485 * config/mips/netbsd.h: Remove unnecessary undefines.
1486 * config/mips/linux.h: Remove #include of mips.h.
1487 * config.gcc: Add mips.h include for elf targets. Remove tm_file
1488 for ecoff. Add gofast configure option for mips.
6d439235 1489
4357a6c3
CD
14902002-07-29 Chris Demetriou <cgd@broadcom.com>
1491
1492 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
1493 linker scripts use STARTUP directives consistently.
1494 * configure: Regenerate.
1495 * config.in: Regenerate.
1496 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
1497 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
1498 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1499 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
1500 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
1501 will be the same.
1502
9a5cd606
AH
15032002-07-29 Aldy Hernandez <aldyh@redhat.com>
1504
1505 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
1506
a23acaa6
AH
15072002-07-29 Aldy Hernandez <aldyh@redhat.com>
1508
1509 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
1510
10ed84db
AH
15112002-07-29 Aldy Hernandez <aldy@quesejoda.com>
1512
1513 * config/rs6000/rs6000.md: Move altivec patterns from here...
1514
1515 * config/rs6000/altivec.md: ...to here.
1516
c3021e5d
AH
15172002-07-29 Aldy Hernandez <aldyh@redhat.com>
1518
1519 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
1520
6f1087be
RH
15212002-07-29 Richard Henderson <rth@redhat.com>
1522
1523 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
1524 set_mem_attributes and add BITPOS argument. Subtract it from
1525 OFFSET when same is adjusted.
1526 (set_mem_attributes): New wrapper function.
1527 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
1528 remove offset adjustment hack.
1529 * expr.h (set_mem_attributes_minus_bitpos): Declare.
1530
61ccbcfd
GDR
15312002-07-29 Gabriel Dos Reis <gdr@nerim.net>
1532
1533 * Makefile.in (C_OBJS): Include c-pretty-print.o
1534 (c-pretty-print.o): Add depency rule.
1535 * pretty-print.h: Add more macros.
1536 * c-pretty-print.c: New file.
1537 * c-pretty-print.h: Likewise.
1538
09101f56
AH
15392002-07-29 Aldy Hernandez <aldyh@redhat.com>
1540
1541 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
1542 constants to __ev64_s32__.
1543 (__internal_ev_mwhgsmian): Same.
1544 (__internal_ev_mwhgsmfan): Same.
1545 (__internal_ev_mwhgssfan): Same.
1546 (__internal_ev_mwhgumiaa): Same.
1547 (__internal_ev_mwhgsmiaa): Same.
1548 (__internal_ev_mwhgsmfaa): Same.
1549 (__internal_ev_mwhgssfaa): Same.
1550
af673a52
DE
15512002-07-29 David Edelsohn <edelsohn@gnu.org>
1552
1553 * varasm.c (assemble_variable): Narrow test for uninitialized
1554 without BSS target support.
1555
6c208acd
NS
15562002-07-29 Nathan Sidwell <nathan@codesourcery.com>
1557
1558 * profile.c: Add file comment describing the overall algorithm and
1559 structures.
1560 (struct edge_info): Add comments.
1561 (struct bb_info): Add comments.
1562 * basic-block.h (EDGE_*): Add comments.
1563 * doc/gcov.texi (Gcov Data Files): Document bit flags.
1564
624f0d60
BW
15652002-07-29 Bob Wilson <bob.wilson@acm.org>
1566
1567 * config/xtensa/elf.h, config/xtensa/linux.h
1568 (TARGET_OS_CPP_BUILTINS): Define.
1569 (CPP_PREDEFINES): Remove.
1570 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
1571 (CPP_SPEC): Remove.
1572
2199e5fa
ZW
15732002-07-29 Zack Weinberg <zack@codesourcery.com>
1574
1575 * gensupport.c: Include hashtab.h.
1576 (insn_elision, condition_table, hash_c_test, cmp_c_test,
1577 maybe_eval_c_test): New routines and data structures to
1578 support insn elision.
1579 (init_md_reader): Read and initialize the condition_table.
1580 (read_md_rtx): Discard insn patterns whose C test is provably
1581 always false.
1582 * gensupport.h: Declare new functions and data structures.
1583
1584 * genconditions.c, dummy-conditions.c: New files.
1585 * Makefile.in: Build genconditions; run it to construct
1586 insn-conditions.c; build that and link it into most gen*
1587 programs.
1588 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
1589 (GEN): Delete, unused.
1590 (STAGESTUFF): Update.
1591
1592 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
1593 CODE_FOR_nothing for all elided patterns.
1594 (main): Tweaked to support this.
1595 * genflags.c (gen_proto): Emit a static inline generator
1596 function here for all elided patterns, which simply returns
1597 NULL_RTX.
1598 (gen_insn): Do not define HAVE_xxx for elided patterns.
1599 (main): Tweaked to support this. No need to forward-declare
1600 struct rtx_def.
1601 * genrecog.c: Do not bother emitting the C test if it's known
1602 to be true at compile time.
1603
6ab185d6
MS
16042002-07-29 Mike Stump <mrs@apple.com>
1605
6d439235 1606 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 1607 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 1608
72b075d1
RE
16092002-07-29 Richard Earnshaw <rearnsha@arm.com>
1610
1611 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
1612 remove clobber of LR.
1613 (sibcall_insn, sibcall_value_insn): Update accordingly.
1614 (sibcall_epilogue): Remove debugging comment from assembler stream.
1615
f63c45ec
GDR
16162002-07-29 Gabriel Dos Reis <gdr@nerim.net>
1617
1618 * pretty-print.h: Define more macros.
1619 * diagnostic.h (output_formatted_integer): Moved from...
1620 * diagnostic.c: ... here.
1621
c27c15db
KG
16222002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1623
1624 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
1625
99086d59
ZW
16262002-07-28 Zack Weinberg <zack@codesourcery.com>
1627
1628 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
1629 arguments. Always use ".-symbol" as expression argument.
1630 * doc/tm.texi: Update to match. Document requirement for
1631 ".size symbol, .-symbol" to be acceptable to assembler.
1632
1633 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
1634 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
1635 config/i386/freebsd-aout.h, config/i386/sco5.h,
1636 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
1637 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
1638
dd86aabf
KG
16392002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1640
6fd327e9
KG
1641 * Makefile.in (gengtype-lex.c): Fix error in last change.
1642
8155cedd
KG
1643 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
1644 backslash.
1645
dd86aabf
KG
1646 * Makefile.in (vmsdbgout.o): Depend on function.h.
1647
1648 * vmsdbgout.c: Include function.h.
1649
d4348177
AM
16502002-07-28 Alan Modra <amodra@bigpond.net.au>
1651
1652 * prefix.c (update_path): Don't strip single `.' path components
1653 unless stripping a later `..' component. Exit loop as soon as
1654 a valid path is found.
1655
c2ef6d34
RS
16562002-07-27 Roger Sayle <roger@eyesopen.com>
1657
1658 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
1659 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
1660 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
1661 floating point unordered comparisons (e.g. __builtin_isgreater)
1662 as const, and leave the remaining GCC_BUILTINs unchanged.
1663
1664 * c-decl.c (builtin_function): No need to explicitly mark
1665 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
1666
52bfebf0
RS
16672002-07-27 Roger Sayle <roger@eyesopen.com>
1668
1669 * Makefile.in: rtlanal.o now depends upon real.h.
1670
1671 * flags.h [flag_signaling_nans]: New flag.
1672 [HONOR_SNANS]: New macro.
1673
1674 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 1675 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
1676 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
1677 (process_options): flag_signaling_nans implies flag_trapping_math.
1678
1679 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
1680 when -fsignaling-nans. First step to implementing WG14's N965.
1681
1682 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
1683 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
1684 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
1685
1686 * simplify-rtx.c (simplify_relational_operation): Conditionalize
1687 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
1688
1689 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
1690 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
1691 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
1692 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
1693 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
1694
1695 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
1696
e66f55b8
KG
16972002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1698
1699 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
1700 * gengtype-lex.l (YY_USE_PROTOS): Undef.
1701 (YY_DECL): Define.
1702
a3926fe1
RS
17032002-07-27 Roger Sayle <roger@eyesopen.com>
1704
1705 * doc/invoke.texi: Document that both -fno-builtin-foo and
1706 -fno-builtin are supported by the g++ front-end.
1707
ef69da62
SS
17082002-07-27 Stan Shebs <shebs@apple.com>
1709
1710 * configure.in: Rename config_gtfiles to target_gtfiles.
1711 * configure: Regenerate.
1712 * doc/gty.texi: Update reference.
1713 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
1714 instead of appending to it.
1715
a4b0320c
AH
17162002-07-25 Aldy Hernandez <aldyh@redhat.com>
1717
1718 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
1719 vectors are split into two registers.
1720 (function_arg): Same.
1721
c427db5d
R
1722Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
1723
1724 * pa.md (extv): Check predicates before emitting extv_32.
1725
57ac7be9
AM
17262002-07-27 Alan Modra <amodra@bigpond.net.au>
1727
1728 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
1729 (rs6000_traceback): New var.
1730 (rs6000_override_options): Set rs6000_traceback.
1731 (rs6000_output_function_epilogue): Implement traceback options.
1732 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
1733 (rs6000_traceback_name): Declare.
1734
1735 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
1736 label reference when NO_PROFILE_COUNTERS.
1737
8e51619a
JM
17382002-07-26 Jason Merrill <jason@redhat.com>
1739
1740 * function.c (assign_parms): Handle frontend-directed pass by
1741 invisible reference.
1742
b41f25cf
NB
17432002-07-26 Neil Booth <neil@daikokuya.co.uk>
1744
1745 * doc/cppopts.texi: Update.
1746
c2734e05
NB
17472002-07-26 Neil Booth <neil@daikokuya.co.uk>
1748
1749 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
1750 warnings on assertions.
1751
c372b0fa
NB
17522002-07-26 Neil Booth <neil@daikokuya.co.uk>
1753
1754 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
1755 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
1756 RID_COMPL): Remove.
1757 * c-parse.in (rid_to_yy): Similarly.
1758
558ee214
JM
17592002-07-26 Jason Merrill <jason@redhat.com>
1760
1761 * c-dump.c: Resurrect.
1762 * tree-dump.c: Move C-specific stuff to c-dump.c.
1763 * c-common.h: Declare c_dump_tree.
1764 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
1765 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
1766 (c-dump.o): New rule.
1767
ce71f754
AM
17682002-07-26 Alan Modra <amodra@bigpond.net.au>
1769
1770 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
1771 PowerPC64. Replace "T" and "S" constraints with "n" when the
1772 predicate will do. Formatting fixes.
1773 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
1774 as for extzvsi_internal1.
1775
e179e7d7
NB
17762002-07-25 Neil Booth <neil@daikokuya.co.uk>
1777
1778 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
1779 DERIV_END_LABEL_FMT): Remove.
1780 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
1781
a2056183
NB
17822002-07-25 Neil Booth <neil@daikokuya.co.uk>
1783
1784 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
1785 Remove.
1786
308c142a
SS
17872002-07-25 Stan Shebs <shebs@apple.com>
1788
1789 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
1790 local var dwarfp.
1791 (output_compiler_stub): Remove unused locals.
1792 (output_call): Always initialize line number.
1793
59324685
R
1794Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
1795
1796 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
1797 * sh.md (truncdiqi2, movqi_media): Likewise.
1798
77bbd421
NB
17992002-07-25 Neil Booth <neil@daikokuya.co.uk>
1800
1801 * gcse.c (obstack_chunk_alloc): Remove.
1802 (gcse_alloc): Fix to count allocated bytes.
1803 * collect2.c (SYMBOL__MAIN): Remove.
1804
7bad45b0
NB
18052002-07-25 Neil Booth <neil@daikokuya.co.uk>
1806
1807 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
1808 HAVE_TARGET_EXECUTABLE_SUFFIX.
1809
184166b5
R
1810Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
1811
1812 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
1813 SIZE, EXPR and OFFSET.
1814
40cb04f1
RH
18152002-07-25 Richard Henderson <rth@redhat.com>
1816
1817 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
1818 in ARRAY_REF of DECL_P case.
1819
a27fb29b
RS
18202002-07-25 Richard Sandiford <rsandifo@redhat.com>
1821
1822 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
1823 description. Document -mips32, -mips64, and the associated -march
1824 values. Describe the "mipsN" arguments to -march. Say that the
1825 -mipsN options are equivalent to -march. Reword the description
1826 of default type sizes.
1827 * toplev.h (target_flags_explicit): Declare.
1828 * toplev.c (target_flags_explicit): New var.
1829 (set_target_switch): Update target_flags_explicit.
1830 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
1831 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
1832 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
1833 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
1834 * config/mips/mips.h (mips_cpu_info): New struct.
1835 (mips_cpu_string, mips_explicit_type_size_string): Remove.
1836 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
1837 (MIPS_CPP_SET_PROCESSOR): New macro.
1838 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
1839 Define _MIPS_ARCH and _MIPS_TUNE.
1840 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
1841 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
1842 MIPS_ISA_DEFAULT were already defined.
1843 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
1844 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
1845 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
1846 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
1847 (ABI_GAS_ASM_SPEC): Remove.
1848 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
1849 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
1850 Invoke %(asm_abi_default_spec) if no ABI was specified.
1851 (CC1_SPEC): Remove ISA -> register-size rules.
1852 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
1853 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
1854 (mips_cpu_string, mips_explicit_type_size_string): Remove.
1855 (mips_cpu_info_table): New array.
1856 (mips_set_architecture, mips_set_tune): New fns.
1857 (override_options): Rework to make -mipsN equivalent to -march.
1858 Detect more erroneous cases, including those removed from CC1_SPEC.
1859 Don't change the ABI based on architecture, or vice versa.
1860 Unify logic with GAS.
1861 (mips_asm_file_start): Get architecture name from mips_arch_info.
1862 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
1863 (mips_parse_cpu): Take the name of the option as argument. Handle
1864 'from-abi'. Raise an error if the option is wrong.
1865 (mips_cpu_info_from_isa): New fn.
1866
6bbdc759
RS
18672002-07-25 Richard Sandiford <rsandifo@redhat.com>
1868
1869 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
1870 (tablejump_mips162): Likewise.
1871
80a62484
R
1872Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
1873
1874 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
1875 int_mode_for_mode.
1876
ea793912
GDR
18772002-07-25 Gabriel Dos Reis <gdr@nerim.net>
1878
1879 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 1880 complaining.
ea793912
GDR
1881 * c-common.h (c_sizeof): Adjust definition.
1882 (c_alignof): Likewise.
1883 * c-tree.h (c_sizeof_nowarn): Now macro.
1884 * c-typeck.c (c_sizeof_nowarn): Remove definition.
1885
2d615444
NB
18862002-07-25 Neil Booth <neil@daikokuya.co.uk>
1887
1888 * c-decl.c (c_decode_option): No need to handle switches
1889 cpplib handles.
1890
2be2ac70
ZW
18912002-07-24 Zack Weinberg <zack@codesourcery.com>
1892
1893 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
1894 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
1895 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
1896 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
1897
1898 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
1899 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
1900 config/cris/aout.h, config/i386/freebsd-aout.h,
1901 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
1902 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
1903 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
1904 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
1905 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
1906 config/xtensa/elf.h, config/xtensa/linux.h:
1907 Use the new macros.
1908 Where possible, remove redundant definitions of SIZE_ASM_OP,
1909 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
1910
518878e1
AH
19112002-07-24 Aldy Hernandez <aldyh@redhat.com>
1912
1913 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
1914 TARGET_ISEL, and TARGET_FPRS.
99086d59 1915
518878e1
AH
1916 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1917 -mabi=spe, -mabi=no-spe, and -misel=.
1918
1919 * config/rs6000/rs6000-protos.h: Add output_isel.
1920 Move vrsave_operation prototype here.
1921
1922 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
1923 (smaxsi3): Same.
1924 (uminsi3): Same.
1925 (umaxsi3): Same.
1926 (abssi2_nopower): Disallow when TARGET_ISEL.
1927 (*ne0): Same.
1928 (negsf2): Change to expand and rename old pattern to *negsf2.
1929 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 1930
518878e1
AH
1931 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
1932 fixunssfsi2.
1933
1934 Change patterns that check for TARGET_HARD_FLOAT or
1935 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
1936
1937 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
1938 rs6000_isel, rs6000_fprs, rs6000_isel_string.
1939 (rs6000_override_options): Add 8540 case to
1940 processor_target_table.
1941 Set rs6000_isel for the 8540.
1942 Call rs6000_parse_isel_option.
1943 (enable_mask_for_builtins): New.
1944 (rs6000_parse_isel_option): New.
1945 (rs6000_parse_abi_options): Add spe and no-spe.
1946 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
1947 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
1948 for TARGET_HARD_FLOAT.
1949 Add case for SPE_VECTOR_MODE.
1950 (rs6000_legitimize_reload_address): Handle SPE vector modes.
1951 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
1952 vector modes.
1953 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
1954 (rs6000_emit_move): Check for TARGET_FPRS.
1955 Add cases for SPE vector modes.
1956 (function_arg_boundary): Return 64 for SPE vector modes.
1957 (function_arg_advance): Check for TARGET_FPRS and
1958 Handle SPE vectors.
1959 (function_arg): Same.
1960 (setup_incoming_varargs): Check for TARGET_FPRS.
1961 (rs6000_va_arg): Same.
1962 (struct builtin_description): Un-constify mask field. Move up in
1963 file.
1964 (bdesc_2arg): Un-constify and add SPE builtins.
1965 (bdesc_1arg): Same.
1966 (bdesc_spe_predicates): New.
1967 (bdesc_spe_evsel): New.
1968 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
1969 (rs6000_expand_binop_builtin): Same.
1970 (bdesc_2arg_spe): New.
1971 (spe_expand_builtin): New.
1972 (spe_expand_predicate_builtin): New.
1973 (spe_expand_evsel_builtin): New.
1974 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
1975 (rs6000_init_builtins): Initialize SPE builtins. Call
1976 rs6000_common_init_builtins.
1977 (altivec_init_builtins): Move all non-altivec builtin code to...
1978 (rs6000_common_init_builtins): ...here. New function.
1979 (branch_positive_comparison_operator): Allow NE code for SPE.
1980 (ccr_bit): Return correct ccr bit for SPE fp.
1981 (print_operand): Emit crnor in 'D' case for SPE.
1982 New case 't'.
1983 Add SPE code for 'y' case.
1984 (rs6000_generate_compare): Generate rtl for SPE fp.
1985 (output_cbranch): Handle SPE hard floats.
1986 (rs6000_emit_cmove): Handle isel.
1987 (rs6000_emit_int_cmove): New.
1988 (output_isel): New.
1989 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
1990 64-bits for SPE.
1991 (debug_stack_info): Add SPE info.
1992 (gen_frame_mem_offset): New.
1993 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
1994 Change mode of frame pointer, when saving it, to Pmode.
1995 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
1996 Misc cleanups and use gen_frame_mem_offset when appropriate.
1997
1998 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
1999 (TARGET_SPE_ABI): New.
2000 (TARGET_SPE): New.
2001 (TARGET_ISEL): New.
2002 (TARGET_FPRS): New.
2003 (FIXED_SCRATCH): New.
2004 (RTX_COSTS): Add PROCESSOR_PPC8540.
2005 (ASM_CPU_SPEC): Add case for 8540.
2006 (TARGET_OPTIONS): Add isel= case.
2007 (rs6000_spe_abi): New.
2008 (rs6000_isel): New.
2009 (rs6000_fprs): New.
2010 (rs6000_isel_string): New.
2011 (UNITS_PER_SPE_WORD): New.
2012 (LOCAL_ALIGNMENT): Adjust for SPE.
2013 (HARD_REGNO_MODE_OK): Same.
2014 (DATA_ALIGNMENT): Same.
2015 (MEMBER_TYPE_FORCES_BLK): New.
2016 (FIRST_PSEUDO_REGISTER): Set to 113.
2017 (FIXED_REGISTERS): Add SPE registers.
2018 (reg_class): Same.
2019 (REG_CLASS_NAMES): Same.
2020 (REG_CLASS_CONTENTS): Same.
2021 (REGNO_REG_CLASS): Same.
2022 (REGISTER_NAMES): Same.
2023 (DEBUG_REGISTER_NAMES): Same.
2024 (ADDITIONAL_REGISTER_NAMES): Same.
2025 (CALL_USED_REGISTERS): Same.
2026 (CALL_REALLY_USED_REGISTERS): Same.
2027 (SPE_ACC_REGNO): New.
2028 (SPEFSCR_REGNO): New.
2029 (SPE_SIMD_REGNO_P): New.
2030 (HARD_REGNO_NREGS): Adjust for SPE.
2031 (VECTOR_MODE_SUPPORTED_P): Same.
2032 (REGNO_REG_CLASS): Same.
2033 (FUNCTION_VALUE): Same.
2034 (LIBCALL_VALUE): Same.
2035 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
2036 (SPE_VECTOR_MODE): New.
2037 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
2038 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
2039 (rs6000_stack): Add spe_gp_size, spe_padding_size,
2040 spe_gp_save_offset.
2041 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
2042 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
2043 (SPE_CONST_OFFSET_OK): New.
2044 (rs6000_builtins): Add SPE builtins.
2045
2046 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 2047
518878e1
AH
2048 * config/rs6000/eabispe.h: New.
2049
2050 * config/rs6000/spe.h: New.
2051
2052 * config/rs600/spe.md: New.
2053
2054 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
2055 __SIMD__ for TARGET_SPE.
2056
2057 * config.gcc: Add powerpc-*-eabispe* case.
2058 Add spe.h to user headers for powerpc.
2059
8d1b7ba1
CD
20602002-07-24 Chris Demetriou <cgd@broadcom.com>
2061
2062 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
2063 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2064 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
2065
8ad8135a
RH
20662002-07-24 Richard Henderson <rth@redhat.com>
2067
2068 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
2069 form when not optimizing.
2070
dc44a4d8
DM
20712002-07-24 David Mosberger <davidm@hpl.hp.com>
2072
2073 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
2074 thread_pointer_rtx as unchanging.
2075
c5605318
MM
20762002-07-24 Michael Matz <matz@suse.de>
2077
2078 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
2079 (free_reg): Use it.
2080
3ade30ea
RE
20812002-07-24 Richard Earnshaw <rearnsha@arm.com>
2082
2083 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
2084 pattern.
2085 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
2086 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
2087
8a3ad737
CD
20882002-07-24 Chris Demetriou <cgd@broadcom.com>
2089
2090 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
2091 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2092 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
2093
7e51e626
JH
2094Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2095
2096 * toplev.c (rest_of_compilation): Dump loops before clobbering
2097 the structure.
2098
5df533b3
JH
2099Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
2100
2101 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
2102
79258dce
RS
21032002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
2104
2105 PR optimization/7291
2106 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
2107 problem on x86_64.
2108
26ff2117
GDR
21092002-07-24 Gabriel Dos Reis <gdr@nerim.net>
2110
2111 * pretty-print.h: Add macros from cp/error.c
2112
0ba1b2ff
AM
21132002-07-24 Alan Modra <amodra@bigpond.net.au>
2114
2115 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
2116 (mask64_2_operand): Declare.
2117 (build_mask64_2_operands): Declare.
2118 (and64_2_operand): Declare.
2119 (extract_MB): Declare.
2120 (extract_ME): Declare.
2121 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
2122 CONST_DOUBLE code.
2123 (mask_operand_wrap): New insn predicate.
2124 (mask64_2_operand): Likewise.
2125 (and64_2_operand): Likewise.
2126 (build_mask64_2_operands): New function.
2127 (extract_MB): New function.
2128 (extract_ME): New function.
2129 (print_operand <case m,M>): Use extract_MB and extract_ME.
2130 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
2131 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
2132 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
2133 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
2134 * config/rs6000/rs6000.md (andsi3_internal3): New
2135 (andsi3_internal3+1): Enable split for powerpc64.
2136 (andsi3_internal3+2): New split.
2137 (andsi3_internal4): Renamed old andsi3_internal3.
2138 (andsi3_internal5): New.
2139 (andsi3_internal5+1): Enable split for powerpc64.
2140 (andsi3_internal5+2): New split.
2141 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
2142 (anddi3): Handle 't' constraint.
2143 (anddi3+1): New split.
2144 (anddi3_internal2): Handle 't' constraint.
2145 (anddi3_internal2+1): New split.
2146 (anddi3_internal3): Handle 't' constraint.
2147 (anddi3_internal3+1): New split.
2148
097657c3
AM
21492002-07-24 Alan Modra <amodra@bigpond.net.au>
2150
2151 * config/rs6000/rs6000.md: Remove scratch reg on insns using
2152 addze and similar (plus (comparison r1 r2) r3) insns. Add
2153 missing scratch reg in one case. Formatting fixes.
2154
a69cbaac
NB
21552002-07-24 Neil Booth <neil@daikokuya.co.uk>
2156
2157 * cppexp.c (parse_defined): Mark macro used.
2158 * cpphash.h (struct cpp_macro): New member "used".
2159 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
2160 (struct cpp_reader): New member.
2161 * cppinit.c (cpp_finish_options): Set first_unused_line.
2162 (cpp_finish): Warn of unused macros if requested.
2163 (OPT_TABLE): New switches.
2164 (cpp_handle_option): Handle them.
2165 * cpplib.c (do_undef): Warn if macro unused.
2166 (do_ifdef, do_ifndef): Mark macro used.
2167 * cpplib.h (struct cpp_options): New member.
2168 * cppmacro.c (_cpp_warn_if_unused_macro): New.
2169 (enter_macro_context): Mark macro used.
2170 (_cpp_create_definition): Mark macro unused; warn if unused
2171 when redefined.
2172 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
2173 Mark macros used.
2174 * doc/cppopts.texi: Update.
2175
c0667597
NB
21762002-07-23 Neil Booth <neil@daikokuya.co.uk>
2177
2178 * dwarf2out.c (SECTION_ASM_OP,
2179 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
2180 * system.h (SECTION_ASM_OP): Poison.
2181 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
2182 * config/alpha/alpha-interix.h, config/mips/linux.h
2183 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
2184 * config/mmix/mmix-protos.h, config/mmix/mmix.c
2185 (mmix_asm_output_define_label_difference_symbol): Remove.
2186 * config/mmix/mmix.h
2187 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 2188 * doc/tm.texi: Remove documentation.
c0667597 2189
bf7cd754
R
2190Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
2191
2192 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
2193 (constrain_operands): Likewise.
2194 * regclass.c (record_reg_classes): Likewise.
2195 * reload.c (find_reloads): Likewise.
2196 * doc/md.texi: Likewise.
451f86fd
R
2197
2198 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
2199 * simplify-rtx.c (simplify_subreg): When converting to a non-int
2200 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
2201
2202 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
2203 from individual subregs, check that each subreg has been generated
2204 sucessfully.
2205
10d6af32
NB
22062002-07-23 Neil Booth <neil@daikokuya.co.uk>
2207
2208 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
2209 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
2210 FOR_EACH_BB_IN_SBITMAP): Remove.
2211 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
2212 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
2213 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
2214 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
2215 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
2216 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
2217
6aaae39a
GDR
22182002-07-23 Gabriel Dos Reis <gdr@nerim.net>
2219
2220 * pretty-print.h: New file.
2221
45e574d0
JDA
22222002-07-23 Paul Koning <pkoning@equallogic.com>
2223
2224 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
2225 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
2226 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
2227 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 2228 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
2229 to internal form.
2230 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
2231 vs. others.
2232 (e113toe): Change to use ieeetoe.
2233
22342002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2235
2236 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
2237 IBM.
2238 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
2239 (e64toe): Remove special cases for DEC and IBM. Remove support for
2240 ARM_EXTENDED_IEEE_FORMAT.
2241 (e24toe): Remove special cases for DEC.
2242 (significand_size): Simplify. Indent.
2243 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
2244 (etoieee, toieee): New.
2245 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
2246 etoieee and toieee for IEEE arithmetic.
2247
3764f879
GDR
22482002-07-23 Gabriel Dos Reis <gdr@nerim.net>
2249
2250 * doc/extend.texi: Say ISO C90, not ISO C89.
2251 * doc/invoke.texi: Likewise.
2252 * doc/standards.texi: Likewise.
2253
aa0f70e6
SE
22542002-07-23 Steve Ellcey <sje@cup.hp.com>
2255
2256 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
2257 Fix permutation of conversion and plus/mult.
2258 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
2259 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
2260 (expand_builtin_strncpy) Ditto.
2261 (expand_builtin_memset) Ditto.
2262
fa72b064
GDR
22632002-07-23 Gabriel Dos Reis <gdr@nerim.net>
2264
2265 Fix PR/7363:
2266 * c-common.c (c_sizeof_or_alignof_type): New function.
2267 (c_alignof): Remove definition.
2268 * c-common.h (c_sizeof, c_alignof): Define as macros.
2269 (c_sizeof_or_alignof_type): Declare.
2270 (my_friendly_assert): Moved from cp/cp-tree.h
2271 * c-typeck.c (c_sizeof): Remove definition.
2272
2b773ee2
JH
22732002-07-23 Jan Hubicka <jh@suse.cz>
2274
2275 * gcse.c (try_replace_reg): Use num_changes_pending.
2276 * recog.c (num_changes_pending): New function.
2277 (validate_replace_src): Use validate_repalce_src_group.
2278 (validate_replace_src_group): New.
2279 * recog.h (validate_repalce_src_group): New.
2280 (num_changes_pending): Likewise.
2281
a0dc500c
R
2282Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
2283
2284 * calls.c (emit_library_call_value_1): If
2285 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
2286 libcall, const call nor pure call.
2287
d22eda7b
NB
22882002-07-23 Neil Booth <neil@daikokuya.co.uk>
2289
2290 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
2291
b5e66e65
NB
22922002-07-23 Neil Booth <neil@daikokuya.co.uk>
2293
2294 * vmsdbgout.c (SECTION_ASM_OP): Remove.
2295
c3a600c0
NB
22962002-07-23 Neil Booth <neil@daikokuya.co.uk>
2297
2298 * config/i386/i386.c (AT_BP): Remove.
2299
4fa31c2a
NB
23002002-07-23 Neil Booth <neil@daikokuya.co.uk>
2301
2302 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
2303 Default definition.
2304 * gcse.c: Don't define obstack_chunk_free.
2305 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
2306 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
2307 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
2308 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
2309 Don't define obstack macros.
2310
fd576c86
SC
23112002-07-22 Stephane Carrez <stcarrez@nerim.fr>
2312
2313 PR target/6744
2314 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
2315 ASM_OPERANDS instructions.
2316
b791ff31
SC
23172002-07-22 Stephane Carrez <stcarrez@nerim.fr>
2318
2319 PR target/7361
2320 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
2321 constant addresses only on 68HC12.
2322
4a941115
NB
23232002-07-22 Neil Booth <neil@daikokuya.co.uk>
2324
2325 * cppfiles.c (stack_include_file): Correct test of whether
2326 a dependency should be output.
2327
7488cc6d
DE
23282002-07-22 David Edelsohn <edelsohn@gnu.org>
2329
2330 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
2331
b41caf7c
RE
23322002-07-22 Richard Earnshaw <rearnsha@arm.com>
2333
2334 * arm.md (movqi): If optimizing and we can create pseudos, use
2335 a ZERO_EXTEND to load from memory, then copy the result into the
2336 target.
2337 (movhi): Likewise, but only for ARMv4.
2338
492e9934
NB
23392002-07-22 Neil Booth <neil@daikokuya.co.uk>
2340
2341 * ssa-ccp.c (PHI_PARMS): Remove.
2342
f01f01a6
RS
23432002-07-22 Richard Sandiford <rsandifo@redhat.com>
2344
2345 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
2346 on big-endian targets.
2347
c2ae8aef
KG
23482002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2349
2350 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
2351 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
2352 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
2353 New formatting macros.
2354
2355 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
2356
eab2120d
R
2357Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
2358
2359 * rtlanal.c (subreg_regno_offset): Return correct offset for
2360 big endian paradoxical subregs.
0d541696
R
2361
2362 * optabs.c (expand_vector_unop): Don't expand using sub_optab
2363 if we got the wrong mode.
bb9b3805
R
2364
2365 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
2366 * genrecog.c (write_switch, write_cond): Use it.
2367 * genemit.c (gen_exp): Likewise.
2368
e96eb215
JJ
23692002-07-22 Jakub Jelinek <jakub@redhat.com>
2370
2371 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
2372
cf3c4f56
JJ
23732002-07-22 Jakub Jelinek <jakub@redhat.com>
2374
2375 * c-decl.c (build_compound_literal): Defer compound literal decls
2376 until until file end to emit them only if they are actually used.
2377
533c4863
KG
23782002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2379
2380 * ra-build.c (check_conflict_numbers): Hide unused function.
2381 (livethrough_conflicts_bb): Avoid automatic aggregate
2382 initialization.
2383 (parts_to_webs_1): Avoid `U' integer constant modifier.
2384 (conflicts_between_webs): Wrap a variable in the macro controlling
2385 its usage.
2386 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
2387 (dump_igraph, dump_graph_cost): Avoid string concatenation
2388 (dump_static_insn_cost): Avoid automatic aggregate
2389 initialization.
2390 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
2391 initialization.
2392 (dump_cost): Avoid string concatenation
2393
8943a0b4
RH
23942002-07-21 Richard Henderson <rth@redhat.com>
2395
2396 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
2397 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
2398
b1aef35b
RH
23992002-07-21 Richard Henderson <rth@redhat.com>
2400
2401 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
2402 that are not unrolled completely.
2403
5e1afb11
RH
24042002-07-21 Richard Henderson <rth@redhat.com>
2405
2406 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
2407 * loop.c (strength_reduce): Update.
2408 * toplev.c (rest_of_compilation): Do unrolling in the first
2409 loop pass, not the second.
2410
c67a1cf6
RH
24112002-07-21 Richard Henderson <rth@redhat.com>
2412
2413 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
2414 when flag_argument_noalias == 2.
2415 * alias.c (nonoverlapping_memrefs_p): Handle that.
2416 * print-rtl.c (print_mem_expr): Likewise.
2417
b68daef4
HS
24182002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
2419
2420 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
2421 instead of __negdi2 directly.
2422
060a58c5
NB
24232002-07-21 Neil Booth <neil@daikokuya.co.uk>
2424
2425 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
2426 * function.c (SYMBOL__MAIN): Remove definition.
2427 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 2428 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
2429 * profile.c (GCOV_INDEX_TO_BB): Remove.
2430 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
2431 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
2432
2f8dd115
NB
24332002-07-21 Neil Booth <neil@daikokuya.co.uk>
2434
2435 * c-lex.c (GET_ENVIRONMENT): Remove.
2436 * collect2.c (GET_ENV_PATH_LIST): Remove.
2437 (prefix_from_env): Use GET_ENVIRONMENT.
2438 * cppinit.c (GET_ENV_PATH_LIST): Remove.
2439 (init_standard_includes): Use GET_ENVIRONMENT.
2440 * defaults.h (GET_ENVIRONMENT): Define here if not already.
2441 * gcc.c (GET_ENV_PATH_LIST): Remove.
2442 (make_relative_prefix, process_command): Update.
2443 * protoize.c (GET_ENV_PATH_LIST): Remove.
2444 (do_processing): Update.
2445
56508306
GDR
24462002-07-21 Gabriel Dos Reis <gdr@nerim.net>
2447
2448 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
2449 (grokdeclarator): Likewise.
2450 * c-format.c (C_STD_NAME): Likewise.
2451 * c-lex.c (interpret_integer): Likewise.
2452 * c-typeck.c (build_array_ref): Likewise.
2453 * cpplex.c (_cpp_lex_direct): Likewise.
2454 * toplev.c (documented_lang_options): Likewise.
2455
e2f62855
NB
24562002-07-21 Neil Booth <neil@daikokuya.co.uk>
2457
2458 * c-format.c (T99_I, T99_UI): Remove.
2459
c89d1dfd
NB
24602002-07-21 Neil Booth <neil@daikokuya.co.uk>
2461
2462 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
2463
46690369
JH
2464Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
2465
2466 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
2467 do_local_cprop.
2468
60ffc1b8
AJ
24692002-07-21 Andreas Jaeger <aj@suse.de>
2470
99086d59 2471 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 2472
c05ffc49
BS
24732002-07-21 Bernd Schmidt <bernds@redhat.com>
2474
2475 Improvements for the ifcvt pass from Michael Meissner, with patches
2476 by Richard Sandiford <rsandifo@redhat.com>
2477 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
2478 * ifcvt.c (cond_exec_changed_p): New static variable.
2479 (last_active_insn): New function, renamed from last_active_insn_p
2480 and changed to return the last active insn in a basic block. All
2481 callers updated.
2482 (block_fallthru): New function.
2483 (cond_exec_process_insns): New argument CE_INFO. Pass it to
2484 IFCVT_MODIFY_INSN. All callers updated.
2485 Return false if START or END are NULL.
2486 Handle case where we're processing an insn that is already
2487 conditional.
2488
2489 (noce_process_if_block): CE_INFO argument rather than
2490 multiple args containing the involved basic blocks. All callers
2491 changed.
2492 (process_if_block, merge_if_block, find_if_block,
2493 cond_exec_process_if_block): Likewise.
2494
2495 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
2496 changed.
2497 Use new function last_active_insn to simplify some code.
2498 New code to handle multiple tests.
2499 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
2500 cond_exec_changed_p to TRUE.
2501
2502 (process_if_block): New code to handle multiple tests.
2503 (merge_if_block): Likewise.
2504 (find_if_header): New arg PASS. Changed to return the currently
2505 processed basic block or NULL instead of true/false. All callers
2506 changed.
2507 Call IFCVT_INIT_EXTRA_FIELDS.
2508 (block_jumps_and_fallthru_p): New function.
2509 (find_if_block): Discover opportunities to convert multiple tests.
2510 Add additional debugging output.
2511 Update the ce_info structure before returning.
2512
2513 (if_convert): Run multiple passes of if-conversion.
2514 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
2515 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
2516 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
2517 these macros.
2518
ae860ff7
JH
2519Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
2520
2521 * gcse.c: Include cselib.h
2522 (constptop_register): Break out from ...
2523 (cprop_insn): ... here; kill basic_block argument.
2524 (do_local_cprop, local_cprop_pass): New functions.
2525 (one_cprop_pass): Call local_cprop_pass.
2526
0da65b89
RS
25272002-07-20 Roger Sayle <roger@eyesopen.com>
2528
2529 * simplify-rtx.c (simplify_relational_operation): Optimize
2530 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
2531
47cc673a
MM
25322002-07-20 Michae Matz <matz@suse.de>
2533
2534 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
2535
68e65275
NB
25362002-07-20 Neil Booth <neil@daikokuya.co.uk>
2537
2538 * cppexp.c (struct op): Add token pointer.
2539 (check_promotion, CHECK_PROMOTION): New.
2540 (optab): Update.
2541 (_cpp_parse_expr): Update, use token pointer of struct op.
2542 (reduce): Warn about change of sign owing to promotion.
2543 * cppinit.c (cpp_handle_option): New warning if -Wall.
2544 * cpplib.h (struct cpp_options): New member.
2545
e3485bbc
DE
25462002-07-19 David Edelsohn <edelsohn@gnu.org>
2547
2548 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
2549 fpu list. Separate Power4 compare and delayed_compare. Correct
2550 Power4 fpcompare.
2551 (fix_truncdfsi2_internal): Restore FPR preference.
2552 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
2553 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
2554
449655a6
MV
25552002-07-19 Momchil Velikov <velco@fadata.bg>
2556
2557 * reload1.c (reload_as_needed): Duplicate oldpat.
2558
8b583747
AM
25592002-07-20 Alan Modra <amodra@bigpond.net.au>
2560
2561 PR optimization/7130
2562 * loop.h (struct loop_info): Add "preconditioned".
2563 * unroll.c (unroll_loop): Set it.
2564 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
2565
0dc36574
ZW
25662002-07-19 Zack Weinberg <zack@codesourcery.com>
2567
2568 * rtl.def (CODE_LABEL): Remove slot 8.
2569 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
2570 (LABEL_ALTERNATE_NAME): Delete.
2571 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
2572 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
2573
2574 * final.c (output_alternate_entry_point): New.
2575 (final_scan_insn): Use it instead of
2576 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
2577 of a case label being an alternate entry point.
2578
2579 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
2580 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
2581 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
2582 (field deleted).
2583 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
2584
2585 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
2586 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
2587 * doc/tm.texi: Delete documentation of
2588 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
2589
59267987
RO
25902002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2591
2592 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
2593 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
2594 (LINK_SPEC): Define.
2595 (STARTFILE_SPEC): Define.
2596 (ENDFILE_SPEC): Define.
2597
2598 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
2599 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
2600
2601 * config/mips/iris6-o32-gas.h: New file.
2602 * config.gcc (mips-sgi-irix6*o32): Use it.
2603
2604 * config/mips/t-iris5-gas: New file.
2605 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
2606
75aef48a
NB
26072002-07-19 Neil Booth <neil@daikokuya.co.uk>
2608
2609 * cppexp.c (ALWAYS_EVAL): Remove.
2610 (optab, reduce): Always evaluate.
2611 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
2612 only if not skipping evaluation.
2613
72a5503d
MM
26142002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
2615
2616 * config/avr/avr.c (debug_hard_reg_set): Remove.
2617
059ba716
CD
26182002-07-19 Chris Demetriou <cgd@broadcom.com>
2619
2620 * gcc.c (cpp_options): Include "%1" (cc1_spec).
2621
544823b6
RH
26222002-07-19 Richard Henderson <rth@redhat.com>
2623
2624 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
2625
c35383cb
AM
26262002-07-19 Alan Modra <amodra@bigpond.net.au>
2627
2628 * prefix.c (update_path): Don't zap single `.' path components
2629 unless followed by another `.' and fix typo last patch.
2630
ad28cff7
NB
26312002-07-18 Neil Booth <neil@daikokuya.co.uk>
2632
2633 * cppexp.c (cpp_num_mul): Remove unused parameter.
2634 (UNARY, BINARY, OTHER, binary_handler): Remove.
2635 (ALWAYS_EVAL): New.
2636 (optab): Update.
2637 (reduce): Refactor to a large switch, don't use a function
2638 pointer.
2639
139b7f86
BT
26402002-07-18 Bo Thorsen <bo@berlioz.suse.de>
2641
2642 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
2643
e69d1422
R
2644Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
2645
2646 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
2647 (sh_expand_binop_v2sf): Likewise.
2648 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
2649 (int_gpr_dest, trunc_hi_operand): New functions.
2650 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
2651 trunc_hi_operand.
2652 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
2653 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
2654 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
2655 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
2656 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
2657 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
2658 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
2659 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
2660 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
2661 (movsf_ie+1): Likewise.
2662 (loaddi_trunc): Use int_gpr_dest predicate.
2663 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
2664 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
2665 (casesi_worker_0+[12], casesi_worker): Likewise.
2666 (shcompact_preserve_incoming_args): Likewise.
2667 (mov_nop): Use any_register_operand predicate.
2668 (mperm_w0): Use trunc_hi_operand predicate.
2669
47a4976f
JDA
26702002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
2671
2672 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
2673 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
2674 numbering.
2675
f3a4e54e
JDA
26762002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
2677
2678 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
2679
30484ccf
RH
26802002-07-18 Richard Henderson <rth@redhat.com>
2681
2682 PR optimization/7147
2683 * ifcvt.c (noce_get_condition): Make certain that the condition
2684 is valid at JUMP.
2685
d042370e
R
2686Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
2687
2688 * sh.c (barrier_align, push): Shut up compiler warnings.
2689 (initial_elimination_offset,sh_media_init_builtins): Likewise.
2690 (reg_no_subreg_operand): Delete.
2691
61fee9b3
BT
26922002-07-17 Bo Thorsen <bo@suse.de>
2693
2694 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
2695 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
2696 (STARTFILE_SPEC): Remove hardcoded library paths.
2697 (ENDFILE_SPEC): Likewise.
2698
f305679f
JH
2699Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
2700
2701 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
2702
2703 * gcse.c (try_replace_reg): Do not return false positives.
2704
99bcb625
AM
27052002-07-18 Alan Modra <amodra@bigpond.net.au>
2706
f6f23ad2
AM
2707 * prefix.c: (update_path): Strip ".." components when prior dir
2708 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
2709
99bcb625
AM
2710 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
2711 (ASM_OUTPUT_REG_POP): Likewise.
2712
09eeeacb
AM
27132002-07-18 Alan Modra <amodra@bigpond.net.au>
2714
2715 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
2716 adjustments to first_reg for profiling case.
2717 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
2718 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
2719 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
2720 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
2721 (ASM_OUTPUT_REG_POP): Define.
2722 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
2723 (ASM_OUTPUT_REG_POP): Undef.
2724
74d06cf2
NB
27252002-07-17 Neil Booth <neil@daikokuya.co.uk>
2726
2727 * cpplib.c (do_sccs): Handle #sccs on all systems.
2728 * system.h (SCCS_DIRECTIVE): Poison.
2729 * config/darwin.h, config/freebsd.h, config/netbsd.h,
2730 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
2731 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
2732 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
2733 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
2734 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
2735 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
2736 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
2737 Remove all references to SCCS_DIRECTIVE.
2738 * doc/cpp.texi, doc/tm.texi: Update.
2739
61dde664
R
2740Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
2741
2742 * regrename.c (maybe_mode_change): New function.
2743 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
2744
97f51ac4
RB
27452002-07-17 Rodney Brown <rbrown64@csc.com.au>
2746
2747 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
2748 suppress addition when either ct or cf are zero.
2749
f1a73cfe 27502002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 2751 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
2752
2753 PR optimization/6713
2754 * loop.c (loop_givs_rescan): Explicitly delete the insn that
2755 sets a non-replaceable giv after issuing the new one.
2756
23ff0223
NB
27572002-07-17 Neil Booth <neil@daikokuya.co.uk>
2758
2759 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
2760 eval_token): Clarify and correct use of "bool" variables.
2761 * cpplib.h (struct cpp_options): Similarly.
2762 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
2763 * cpptrad.c (recursive_macro): Similarly.
2764
ac09192a
R
2765Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
2766
d28586ab 2767 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 2768 SHmedia code.
68cef009
R
2769
2770 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
2771
2772 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
2773 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
2774
2775 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
2776 * sh-protos.h (sh_initialize_trampoline): Declare.
2777 * sh.c (sh_initialize_trampoline): New function.
2778 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
2779 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
2780 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
2781 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
2782 * sh.md (initialize_trampoline, double_shori): New patterns.
2783 (initialize_trampoline_compact): Likewise.
2784 (shmedia32_initialize_trampoline_big): Remove.
2785 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
2786
2787 * sh-protos.h (binary_float_operator): Remove declaration.
2788 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
2789 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
2790 (unary_float_operator, sh_expand_unop_v2sf): New functions.
2791 (sh_expand_binop_v2sf): Likewise.
2792 (zero_vec_operand): Delete.
2793 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
2794 all non-shared ones.
2795 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
2796 Enable nsb and byterev.
2797 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
2798 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
2799 in general regs.
2800 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
2801 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
2802 immediate operands.
2803 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
2804 Add DF_HI_REGS.
2805 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
2806 lowpart fp regs - only for big endian for now.
2807 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
2808 when FPU is in use.
2809 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
2810 (LOAD_EXTEND_OP): NIL for SImode.
2811 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
2812 general and fp registers is 4.
2813 PREDICATE_CODES: Amend binary_float_operator entry.
2814 Remove zero_vec_operand. Add unary_float_operator.
2815 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
2816 subreg SET_DEST.
2817 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
2818 (truncdiqi2): Do sign extension.
2819 (movsi_media, movdi_media): Allow to use r63 to an fp register.
2820 (movdf_media, movsf_media): Likewise.
2821 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
2822 Collapse to one define_insn_and_split. Allow immediate sources.
2823 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
2824 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
2825 (movv4sf): Allow immediate sources.
2826 (movsf_media_nofpu+1): Don't split moves to FP registers.
2827 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
2828 (movv8qi_i+3): Check against CONST0_RTX.
2829 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
2830 for input and output operands. Fix argument 3 to gen_mextr_rl.
2831 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
2832 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
2833 (mshf0_w, fipr, ftrv): Likewise.
2834 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
2835
e9d7b180
JD
28362002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2837
2838 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
2839 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
2840 * arm.c: Similarly.
2841
8214bf98
RS
28422002-07-17 Richard Sandiford <rsandifo@redhat.com>
2843
2844 * config/mips/mips-protos.h (mips_sign_extend): Declare.
2845 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
2846 (TARGET_SWITCHES): Remove debugh.
2847 (ISA_HAS_TRUNC_W): New macro.
2848 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
2849 (PREDICATE_CODES): Remove se_nonimmediate_operand.
2850 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
2851 any SImode move_operand.
2852 (se_nonimmediate_operand): Remove.
2853 (mips_sign_extend): New.
2854 (mips_move_2words): Use it for sign-extended source operands.
2855 (override_options): Allow integers to be put into single FPRs.
2856 (mips_secondary_reload_class): Handle integers in float registers.
2857 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
2858 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
2859 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
2860 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
2861 (fix_truncdfdi2): Provide only a single alternative, in which the
2862 integer is in a float register. Depend on TARGET_FLOAT64 rather
2863 than TARGET_64BIT.
2864 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
2865 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
2866 (movdi_internal2): Don't allow the source operand to be sign-extended.
2867 Add alternatives for float registers.
2868 (*movdi_internal2_extend): New. Version of movdi_internal2 that
2869 allows sign-extension.
2870 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
2871 (movsi_internal2): Rename to movsi_internal. Add alternatives for
2872 float registers. Remove TARGET_DEBUG_H_MODE test.
2873 (movhi_internal1): Rename to movhi_internal. Don't check
2874 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
2875 (movqi_internal1): Rename to movqi_internal and remove
2876 TARGET_DEBUG_H_MODE dependency.
2877 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
2878
7ab0121e
JW
28792002-07-16 Jim Wilson <wilson@redhat.com>
2880
2881 * toplev.c (lang_dependent_init): Create function context for
2882 init_expr_once.
2883
349ccf2e
HPN
28842002-07-16 Hans-Peter Nilsson <hp@axis.com>
2885
2886 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
2887 --gc-sections if -r.
2888 * config/cris/cris.h: Ditto.
2889
06ec023f
RB
28902002-07-16 Rodney Brown <rbrown64@csc.com.au>
2891
2892 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
2893 the comparison directly gives a mask suppress addition when cf is
2894 zero by complementing the mask.
2895
39cef914
NN
28962002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
2897
2898 * Makefile.in: Delete references to enquire.
2899 * enquire.c: Move to contrib.
2900
92c1a778
SS
29012002-07-16 Stan Shebs <shebs@apple.com>
2902
2aa9948d
SS
2903 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
2904 config/rs6000/darwin.h.
2905 (ASM_OUTPUT_SKIP): Ditto.
2906 (TEXT_SECTION_ASM_OP): Ditto.
2907 (DATA_SECTION_ASM_OP): Ditto.
2908 (ASM_APP_ON): Define.
2909 (ASM_APP_OFF): Define.
2910 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
2911 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
2912
2913 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
2914 (machopic_function_base_name): Declare result to be const.
2915 (machopic_non_lazy_ptr_name): Ditto.
2916 (machopic_stub_name): Ditto.
2aa9948d 2917 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 2918
daaab00a
JH
2919Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
2920
2921 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
2922
63c574cc
JH
2923Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
2924
2925 * i386.md (prefetch): Fix for 64bit mode.
2926 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
2927
2a500b9e
JH
2928Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2929
2930 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
2931 * i386.c (x86_machine_dependent_reorg): New function.
2932 * i386-protos.h (x86_machine_dependent_reorg): Declare.
2933
e5faf155
ZW
29342002-07-16 Zack Weinberg <zack@codesourcery.com>
2935
2936 * builtins.c (std_expand_builtin_va_start): Remove unused
2937 first argument.
2938 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
2939 std_expand_builtin_va_start with just two arguments.
2940 * expr.h: Update prototypes.
2941
2942 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
2943 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
2944 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
2945 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
2946 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
2947 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
2948 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
2949 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
2950 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
2951 argument from all implementations of EXPAND_BUILTIN_VA_START
2952 and all uses of std_expand_builtin_va_start.
2953
dbf65c2f
R
2954Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
2955
2956 * regrename.c (copy_value): Don't record high part copies.
2957
6acb6d3e 29582002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 2959
6acb6d3e
SE
2960 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
2961 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
2962 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
2963
5d7c2819
ID
29642002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2965
2966 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
2967
2968 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
2969 into addsi3 using register class "x" and "y".
2970
2971 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
2972 "earlyclobber" constraint modifier for some alternative.
e5faf155 2973
5d7c2819
ID
2974 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
2975 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
2976 unordered.
2977 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
2978
2979 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
2980 (TARGET_SWITCHES): Add -mieee-compare option.
2981 (OVERRIDE_OPTIONS): 32332 is a subset of
2982 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
2983 (TARGET_SWITCHES): Fix description of bitfield option.
2984 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
2985 -mieee-compare option. Remove 32332 flag.
2986
5da4f548 29872002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
2988
2989 * explow.c (convert_memory_address): Remove special handling
5da4f548 2990 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 2991 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
2992 (movedi_symbolic): Fix typo.
2993 (load_fptr): Remove mode restriction so it works for SI and DI.
2994 (load_fptr_internal1): Ditto.
2995 (load_gprel): Ditto.
2996 (load_symptr_internal1): Ditto.
2997 (call_pic): Ditto.
5d7c2819 2998 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
2999 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
3000 (ia64_expand_move): Ditto.
3001 (ia64_assemble_integer): Handle SImode function pointers.
3002 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
3003 (ia64_expand_op_and_fetch): Ditto.
3004 (ia64_expand_compare_and_swap): Ditto.
3005 (ia64_expand_lock_test_and_set): Ditto.
3006 (ia64_expand_lock_release): Ditto.
3007
1575c31e
JD
30082002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3009
3010 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
3011
30122002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3013 Richard Earnshaw <rearnsha@arm.com>
3014
e5faf155 3015 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
3016 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
3017
3894f59e
RE
30182002-07-16 Richard Earnshaw <rearnsha@arm.com>
3019
3020 * arm.md (stack_tie): New insn. Use an idiom that the alias code
3021 understands to be a memory clobber.
3022 * arm.c (arm_expand_prologue): Use it.
3023
e0b89be2 30242002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
3025
3026 * ra-rewrite.c: #include reload.h, insn-config.h
3027 * ra-build.c: #include reload.h
3028 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 3029 depend on reload.h, insn-config.h.
54b2a7f8 3030
cffa2189
R
3031Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
3032
3033 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
3034 the same size as a word.
3035
3036 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
3037 BYTES_BIG_ENDIAN into account.
3038
052c96b1
JH
3039Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
3040
3041 * i386.md (prefetch): Fix for 64bit mode.
3042 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
3043
3044 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
3045
ae32926b
MM
30462002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
3047
3048 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
3049
6c535c69
ZW
30502002-07-15 Zack Weinberg <zack@codesourcery.com>
3051
3052 * ginclude/varargs.h: Replace with stub which issues #error.
3053 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
3054 __builtin_va_start.
3055
3056 * builtins.def (BUILT_IN_VARARGS_START): Delete.
3057 (BUILT_IN_VA_START): New.
3058 * builtins.c (expand_builtin_va_start): Eliminate first
3059 argument and code to implement pre-ISO varargs.
3060 (std_expand_builtin_va_start): Ignore first argument; it is
3061 always 1.
3062 (expand_builtin): Handle BUILT_IN_VA_START and
3063 BUILT_IN_STDARG_START identically. Delete
3064 BUILT_IN_VARARGS_START case.
3065
3066 * function.c (assign_parms): Delete hide_last_arg and all
3067 its uses.
3068 (mark_varargs): Delete function.
3069 * function.h (struct function): Delete 'varargs' bit.
3070 (current_function_varargs): Delete macro.
3071 * tree.h: Don't declare mark_varargs.
3072
3073 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
3074 (c_expand_body): Don't call mark_varargs.
3075 * c-objc-common.c: Handle BUILT_IN_VA_START and
3076 BUILT_IN_STDARG_START identically. Delete
3077 BUILT_IN_VARARGS_START case.
3078 * c-tree.h: Don't declare c_mark_varargs.
3079 * c-parse.in: Remove grammar rules for '&...' (which has been
3080 commented out since before 2.7.2) and for '...' in K+R
3081 argument declarations.
3082
3083 * builtins.c, function.c, integrate.c, sibcall.c,
3084 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
3085 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
3086 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
3087 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
3088 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
3089 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
3090 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
3091 config/stormy16/stormy16.c: Delete all references to
3092 current_function_varargs, and code predicated on that flag.
3093
3094 * config/alpha/alpha.c (alpha_va_start),
3095 config/arc/arc.c (arc_va_start),
3096 config/i386/i386.c (ix86_va_start),
3097 config/mips/mips.c (mips_va_start),
3098 config/mn10300/mn10300.c (mn10300_va_start),
3099 config/rs6000/rs6000.c (rs6000_va_start),
3100 config/s390/s390.c (s390_va_start),
3101 config/sh/sh.c (sh_va_start),
3102 Ignore first argument; it is always 1.
3103
3104 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
3105 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
3106 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
3107 Delete m68hc11_va_start.
3108 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
3109 No need to define EXPAND_BUILTIN_VA_START.
3110
3111 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
3112 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
3113
6d80a854
EB
31142002-07-15 Eric Botcazou <ebotcazou@multimania.com>
3115
3116 PR optimization/7153
3117 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
3118 dies in more than one insn.
3119
043cfcbe
JT
31202002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
3121
3122 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
3123
ed8d2920 31242002-07-15 Michael Matz <matz@suse.de>,
6c535c69 3125 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
3126 Denis Chertykov <denisc@overta.ru>
3127
3128 Add a new register allocator.
3129
3130 * ra.c: New file.
3131 * ra.h: New file.
3132 * ra-build.c: New file.
3133 * ra-colorize.c: New file.
3134 * ra-debug.c: New file.
3135 * ra-rewrite.c: New file.
3136
3137 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
3138 (ra-rewrite.o): New .o files for libbackend.a.
3139 (GTFILES): Add basic-block.h.
3140
3141 * toplev.c (flag_new_regalloc): New.
3142 (f_options): New option "new-ra".
3143 (rest_of_compilation): Call initialize_uninitialized_subregs()
3144 only for the old allocator. If flag_new_regalloc is set, call
3145 new allocator, instead of local_alloc(), global_alloc() and
3146 friends.
3147
3148 * doc/invoke.texi: Document -fnew-ra.
3149 * basic-block.h (FOR_ALL_BB): New.
3150 * config/rs6000/rs6000.c (print_operand): Write small constants
3151 as @l+80.
3152
3153 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
3154 (df_reg_table_realloc): Make size at least as large as max_reg_num().
3155 (df_insn_table_realloc): Size argument now is absolute, not relative.
3156 Changed all callers.
3157
3158 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
3159 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
3160
3161 2002-06-20 Michael Matz <matz@suse.de>
3162
3163 * df.h (struct ref.id): Make unsigned.
3164 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
3165
3166 2002-06-13 Michael Matz <matz@suse.de>
3167
3168 * df.h (DF_REF_MODE_CHANGE): New flag.
3169 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
3170 involving subregs with invalid mode changes, when
3171 CLASS_CANNOT_CHANGE_MODE is defined.
3172
3173 2002-05-07 Michael Matz <matz@suse.de>
3174
3175 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
3176
3177 2002-05-03 Michael Matz <matz@suse.de>
3178
3179 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
3180
3181 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
3182
3183 * regclass.c (regclass): Work with all regs which have sets or
3184 refs.
3185 (reg_scan_mark_refs): Count regs inside (clobber ...).
3186
3187 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
3188
3189 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
3190 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
3191 add new refs.
3192 (df_bb_refs_update): Don't clear insns_modified here, ...
3193 (df_analyse): ... but here.
3194
3195 * sbitmap.c (dump_sbitmap_file): New.
3196 (debug_sbitmap): Use it.
3197
3198 * sbitmap.h (dump_sbitmap_file): Add prototype.
3199
3200 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
3201
3202 * df.c (df_insn_modify): Grow the UID table if necessary, rather
3203 than assume all emits go through df_insns_modify.
3204
3205 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
3206
3207 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
3208 increase REG_N_REFS (like flow does), so that regclass doesn't
3209 think a reg is useless, and thus, not calculate a class, when it
3210 really should have.
3211
3212 2001-01-28 Daniel Berlin <dberlin@redhat.com>
3213
3214 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
3215 dataflow analysis.
3216
794a292d
JJ
32172002-07-15 Jakub Jelinek <jakub@redhat.com>
3218
3219 PR middle-end/7245
3220 * config/i386/i386.c (const_int_1_31_operand): New.
3221 * config/i386/i386.h (PREDICATE_CODES): Add it.
3222 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
3223 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
3224 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
3225
05d49501
AM
32262002-07-14 Alan Modra <amodra@bigpond.net.au>
3227
3228 PR target/7282
3229 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
3230 (floatunssidf2): Likewise.
3231 (floatsidf_ppc64): New insn_and_split.
3232 (floatunssidf_ppc64): Likewise.
3233
e89617fe
AJ
32342002-07-14 Andreas Jaeger <aj@suse.de>
3235
3236 * config.gcc (sh64): Remove unused
3237 target_requires_64bit_host_wide_int.
3238
78762e3b
RS
32392002-07-12 Roger Sayle <roger@eyesopen.com>
3240
3241 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
3242 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
3243 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
3244 whether clear_by_pieces should be used to clear storage.
3245 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
3246
3247 * doc/tm.texi: Document these two new target macros.
3248
f7a454e9
SC
32492002-07-12 Stephane Carrez <stcarrez@nerim.fr>
3250
3251 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
3252 the scratch register.
3253 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
3254 of it, forbid reload to use it.
3255
26af4041
MM
32562002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
3257
3258 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
3259 usage on 64-bit hosts, return value was truncated to 32 bits.
3260
226cfe61
R
3261Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
3262
3263 * simplify-rtx.c (simplify_subreg): Handle floating point
3264 CONST_DOUBLEs. When an integer subreg of a smaller mode than
3265 the element mode is requested, compute a subreg with an
3266 integer mode of the same size as the element mode first.
3267
25c25947
R
3268Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3269
3270 * combine.c (try_combine): When converting a paradoxical subreg
3271 to an extension, take LOAD_EXTEND_OP into account.
3272
789b7de5
RO
32732002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3274
3275 * config.gcc (mips-sgi-irix6*o32): New configuration.
3276
3277 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
3278 configurations.
3279 * configure: Regenerate.
3280
3281 * config/mips/iris6-o32-as.h: New file.
3282 * config/mips/iris6-o32.h: New file.
e89617fe 3283
789b7de5
RO
3284 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
3285 (NM_FLAGS): Define.
3286 (HAVE_AS_SHF_MERGE): Undefine.
3287
3288 * config/mips/t-iris5-as: New file.
3289 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
3290
3291 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
3292 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
3293 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
3294 dp-bit.c, fp-bit.c): Move ...
3295 * config/mips/t-iris5-6: ... here.
3296 New file, shared by IRIX 5 and IRIX 6.
3297 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
3298 mips-sgi-irix5*): Use it.
3299
3300 * config/mips/iris6.h: Remove duplicate comment.
3301
3302 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
3303 !TARGET_IRIX6]: Define.
3304 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
3305
3306 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
3307
a18c2c5f
JDA
33082002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3309
3310 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
3311 and delete code to force constant to register.
3312 * pa-protos.h (adddi3_operand): Add prototype.
3313 * pa.c (adddi3_operand): New function.
3314
e65a2d65
RS
33152002-07-11 Roger Sayle <roger@eyesopen.com>
3316
3317 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
3318 non-ANSI builtin functions.
3319
a06e3c40
R
3320Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
3321
3322 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
3323 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
3324 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
3325 (gen_const_vector_0): Use it.
3326
47abc309
JDA
33272002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3328
3329 * pa.md (adddi3): For 32-bit targets, force constants to a register
3330 if they don't fit in an 11-bit immediate. Change insn predicate to
3331 arith11_operand. Remove comment.
3332 * pa.c (cint_ok_for_move): Fix comment.
3333 (emit_move_sequence): Don't directly split DImode constants on 32-bit
3334 targets.
3335
8ac9d31f
TJ
33362002-07-11 Tim Josling <tej@melbpc.org.au>
3337
e89617fe 3338 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
3339
3340 * Makefile.in
3341 (STAGESTUFF): add gtyp-gen.h
3342 (GTFILES): Remove front end specific files.
3343 (GTFILES_FILES_LANGS): New, from configure..
3344 (GTFILES_FILES_FILES): Likewise.
3345 (GTFILES_LANG_DIR_NAMES): Likewise.
3346 (GTFILES_SRCDIR): Likewise.
3347 (gtyp-gen.h): Build from configure information.
3348 (s-gtype): Remove command line parameters from gengtype.
3349 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
3350 (mostlyclean): Delete files generated by and for gengtype.
3351
3352 * c-config-lang.in: New file.
3353
3354 * configure.in (all_gtfiles_files_langs): New. Accumulate files
3355 for each language.
3356 (all_gtfiles_files_files): New. Accumulate language for each file
3357 accumulated.
3358 (gtfiles): Pick up value for C.
3359 (srcdir): AC-SUBST this variable.
3360 (all_gtfiles_files_langs): AC-SUBST this variable.
3361 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 3362
8ac9d31f 3363 * configure: Regenerate.
e89617fe 3364
8ac9d31f
TJ
3365 * gengtype-lex.l (parse_file): Make parameter const.
3366
3367 * gengtype.c (toplevel): include gtyp-gen.h.
3368 (BASE_FILE_<language> unnamed enum): Delete.
3369 (lang_names): Delete (replaced by gtyp-gen.h)
3370 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
3371 all references.
3372 (NUM_GT_FILES): New.
3373 (NUM_LANG_FILES): New.
3374 (srcdir_len): New.
3375 (NUM_BASE_FILES): Change calculation.
3376 (open_base_files): Change prototype to avoid warning.
3377 (startswith): Delete.
3378 (get_file_basename): Iterate through generated language list not
3379 hard coded list.
3380 (get_base_file_bitmap): Use generated list of files and languages.
3381 (close_output_files): Add prototype to rmove warning.
3382 (main): Iterate through list of generated files from gtyp-gen.h
3383 rather than command line paramaters. Ignore duplicated file
e89617fe 3384 names.
8ac9d31f
TJ
3385
3386 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 3387
8ac9d31f
TJ
3388 * doc/sourcebuild.texi: Document gtfiles variable.
3389
3390 * doc/gty.texi: Document changes to gtfiles variable for front
3391 ends.
3392
3393 * objc/config-lang.in (gtfiles): Add files needed for objc front
3394 end.
3395
0e603223
RS
33962002-07-10 Roger Sayle <roger@eyesopen.com>
3397
3398 PR c/2454
3399 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
3400 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
3401
c5358a5d
RS
34022002-07-10 Roger Sayle <roger@eyesopen.com>
3403 Zack Weinberg <zack@codesourcery.com>
3404
3405 * builtins.def: Make the argument types of abort and exit
3406 independent of the front-end.
3407
a35f8b74
AM
34082002-07-11 Alan Modra <amodra@bigpond.net.au>
3409
3410 * config/rs6000/linux64.h (ASM_SPEC): Define.
3411
89e7058f
AH
34122002-07-10 Aldy Hernandez <aldyh@redhat.com>
3413
6c535c69
ZW
3414 * config/rs6000/rs6000.c (emit_frame_save): New.
3415 (rs6000_frame_related): Replace reg2 before reg.
3416 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
3417 and eh_return registers.
89e7058f 3418
086bbd21
TM
34192002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
3420
3421 Revert all patches for optimization of Complex .op. Real.
3422 * complex_part_zero_p: Remove
3423 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
3424 with x.
3425 * expand_cmplxdiv_wide: Ditto.
3426 * expand_binop: Ditto.
3427
126dbce0
MM
34282002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
3429
3430 * config/avr/avr.md: Fix two 0x80000000 constants to make them
3431 negative also on 64-bit hosts.
3432
3433 Default to -fno-reorder-blocks when optimizing for size.
3434 * config/avr/avr-protos.h (avr_optimization_options): Declare.
3435 * config/avr/avr.c (avr_optimization_options): New function.
3436 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
3437
3438 Optimize returning from simple functions.
3439 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
3440 * config/avr/avr.c (avr_simple_epilogue): New function.
3441 * config/avr/avr.md (return): New insn.
3442
21c318ba
DR
34432002-07-10 Douglas B Rupp <rupp@gnat.com>
3444
3445 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
3446 HAS_INIT_SECTION to protection.
3447
537834c8
MM
34482002-07-10 Mark Mitchell <mark@codesourcery.com>
3449
3450 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
3451 deprecated.
3452
80ba02b1
R
3453Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
3454
3455 * combine.c (gen_lowpart_for_combine): Handle vector modes.
3456 Supply non-VOID mode to simplify_gen_subreg.
3457
ae3aa00d
JH
3458Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
3459
3460 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
3461
029f3983
JL
34622002-07-10 Jeffrey A Law <law@redhat.com>
3463
7a464913
JL
3464 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
3465 as appropriate.
3466
6c535c69
ZW
3467 * mn10200.c (expand_epilogue): Fix test to determine which scratch
3468 register to use.
029f3983 3469
ff27a429
R
3470Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
3471
3472 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
3473 Get mode from dest.
3474 If simplify_gen_subreg fails, try next equivalent.
3475
e6986399
GDR
34762002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
3477
3478 * diagnostic.h: #include location.h
3479 (location_t): Move definition to..
3480 * location.h: ... here. New file.
3481 * tree.h: #include location.h
3482 (DECL_SOURCE_LOCATION): New macro.
3483 (DECL_SOURCE_FILE): Use.
3484 (DECL_SOURCE_LINE): Likewise.
3485 (struct tree_decl): REplace filename and linenum with locus.
3486 * Makefile.in (TREE_H): add location.h
3487 (diagnostic.o): Depends on gt-location.h
3488 (gt-location.h): Depends on s-gtype
3489
7990b46f
MK
34902002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
3491
3492 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
3493 TARGET_OS_CPP_BUILTINS.
3494 * config/rs6000/aix31.h: Likewise.
3495 * config/rs6000/aix41.h: Likewise.
3496 * config/rs6000/aix43.h: Likewise.
3497 * config/rs6000/aix51.h: Likewise.
3498 * config/rs6000/beos.h: Likewise.
3499 * config/rs6000/darwin.h: Likewise.
3500 * config/rs6000/eabi.h: Likewise.
3501 * config/rs6000/eabisim.h: Likewise.
3502 * config/rs6000/linux.h: Likewise.
3503 * config/rs6000/linux64.h: Likewise.
3504 * config/rs6000/lynx.h: Likewise.
3505 * config/rs6000/mach.h: Likewise.
3506 * config/rs6000/rtems.h: Likewise.
3507 * config/rs6000/sysv4.h: Likewise.
3508 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
3509
35102002-07-09 Devang Patel <dpatel@apple.com>
3511 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
3512 Do not allow ObjC objects as a parameter type for Objective-C methods.
3513 My previous patch restricted 'struct' also.
e89617fe 3514
cd98faa1
NB
35152002-07-09 Neil Booth <neil@daikokuya.co.uk>
3516
3517 * cpperror.c (cpp_error): Default to directive_line within
3518 directives here.
3519 * cppexp.c (cpp_interpret_integer): Only use traditional
3520 number semantics in directives.
3521 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
3522 (do_include_common): Similarly.
3523 * cpptrad.c (scan_out_logical_line): Implement accurate
3524 quoting of <> in #include.
3525 * doc/cpp.texi: Update.
3526
2ad65b0e 3527Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 3528 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
3529
3530 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
3531 * sh.md (attribute issues): Replace with:
3532 (attribute pipe_model). All users changed.
3533 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
3534 All users changed.
3535 (function units sh5issue, sh5fds): New.
3536 (attribute is_mac_media): New.
3537 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
3538 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
3539 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
3540 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
3541 (call_media, call_value_media, sibcall_media): Likewise.
3542 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
3543 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
3544 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
3545 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
3546 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
3547 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
3548 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
3549 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
3550 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
3551 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
3552 (truncdfsf2_media): Likewise.
3553 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
3554 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
3555
b6d33983
R
3556Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3557
3558 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
3559 * sh.c (general_extend_operand, inqhi_operand): New functions.
3560 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
3561 alternatives using 'N' modifier. Add type.
3562 (adddi3z_media): Likewise. Enable generator function generation.
3563 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
3564 exact predicates / constraints. Add type.
3565 (subsi3): Allow 0 for SHMEDIA.
3566 (udivsi3_i4_media): Use match_operand for input values
3567 rather than hard registers.
3568 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
3569 unnecessarily through hard registers. Keep copies of pseudo
3570 registers outside of the libcall sequence.
3571 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
3572 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
3573 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
3574 (extendhidi2, extendqidi2): Likewise.
3575 (andsi3_compact): Name.
3576 (andcdi3): Enable generator function generation.
3577 (zero_extendhisi2, zero_extendqisi2): Rename to
3578 (zero_extendhisi2_compact, zero_extendqisi2_compact).
3579 (extendhisi2, extendqisi2): Rename to
3580 (extendhisi2_compact, extendqisi2_compact).
3581 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
3582 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
3583 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
3584 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
3585 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
3586 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
3587 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
3588 (shmedia32_initialize_trampoline_big): Likewise.
3589 (shmedia32_initialize_trampoline_little): Likewise.
3590 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
3591 (negdi2): Remove spurious T clobber.
3592 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
3593 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
3594 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
3595 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
3596 (ic_invalidate_line_media): Write back data cache before invalidating
3597 instruction cache. Add type.
3598 (movsf_media): Sign-extend when the destination is a general
3599 purpose register. Add type.
3600 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
3601 (casesi_worker_0+1): Only increment ref count for proper label.
3602 (casesi_worker_0+2): Likewise.
3603
7ca0873c
MM
36042002-07-09 Mark Mitchell <mark@codesourcery.com>
3605
3606 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
3607
26b10ae0 36082002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 3609
26b10ae0
SE
3610 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
3611 from Pmode to ptr_mode.
3612 (get_exception_pointer): Ditto.
3613 (connect_post_landing_pads): Ditto.
3614 (dw2_build_landing_pads): Ditto.
3615
0c3a2ea0
SE
36162002-07-08 Steve Ellcey <sje@cup.hp.com>
3617 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
3618 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
3619 (handle_pragma_redefine_extname): Change to use new function.
3620
26c34780
RS
36212002-07-08 Roger Sayle <roger@eyesopen.com>
3622
3623 * combine.c (combine_simplify_rtx): Add an explicit cast
3624 to avoid signed/unsigned comparison warning.
3625 (simplify_if_then_else): Likewise.
3626 (extended_count): Likewise.
3627 (simplify_shift_const): Likewise.
3628 (simplify_comparison): Likewise.
3629
1d4047e0
RS
36302002-07-08 Richard Sandiford <rsandifo@redhat.com>
3631
3632 * config/mips/mips.md: Add imadd type. Update scheduler description
3633 to use imadd as well as imul.
3634 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
3635 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
3636 (*mul_sub_si): Likewise for first alternative. Change second
3637 alternative from imul to multi.
3638
5351f1ca
NB
36392002-07-07 Neil Booth <neil@daikokuya.co.uk>
3640
3641 * c-common.c (c_common_post_options): Update prototype;
3642 don't init backends if preprocessing only.
3643 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
3644 * langhooks.h (struct lang_hooks): Update post_options to
3645 return a boolean.
3646 * toplev.c (parse_options_and_default_flags, do_compile,
3647 lang_independent_init): Update prototypes. Allow the
3648 front end to specify that there is no need to initialize
3649 the back end.
3650 (general_init): Move call to hex_init here...
3651 (toplev_main): ...from here. Pass flag for back end init
3652 suppression.
3653
c8cc4417
R
3654Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
3655
3656 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
3657 (PREDICATE_CODES): Add entries for equality_comparison_operator,
3658 greater_comparison_operator and less_comparison_operator.
3659 * sh.c (print_operand): Add '\'' code. Make 'o' handle
3660 more operators.
3661 (equality_comparison_operator): New function.
3662 (greater_comparison_operator, less_comparison_operator): Likewise.
3663 * sh.md (beq_media_i): Disable generator function generation.
3664 Use match_operator to handle a whole class of comparisons. Add
3665 modifier in output template to provide branch prediction. Add type.
3666 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
3667 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
3668 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
3669 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
3670
957ec0f9
HPN
36712002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
3672
3673 Emit MMIX function prologue and epilogue as rtl.
3674 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
3675 not unprototyped get_hard_reg_initial_val.
3676 ("call_value", "nonlocal_goto_receiver"): Ditto.
3677 ("return"): Make define_expand. Move real insn to...
3678 ("*expanded_return"): New pattern.
3679 ("prologue", "epilogue"): New define_expands.
3680 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
3681 (struct machine_function): New member in_prologue.
3682 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
3683 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
3684 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
3685 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
3686 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
3687 (LOCAL_REGNO): Define. Adjust comment.
3688 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
3689 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
3690 leaf_function_p.
3691 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
3692 the prologue.
3693 (mmix_target_asm_function_prologue): Make static. Just mark that
3694 the prologue is being emitted. Move guts to...
3695 (mmix_expand_prologue): New function. Adjust for emitting
3696 prologue as rtl. For sizes, use HOST_WIDE_INT only.
3697 (mmix_target_asm_function_epilogue): Make static. Simply emit a
3698 \n. Move guts to...
3699 (mmix_expand_epilogue): New function. Adjust for emitting
3700 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
3701 (mmix_target_asm_function_end_prologue): Mark that the prologue
3702 has ended.
3703 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
3704 (mmix_conditional_register_usage): Improve comments.
3705 (mmix_local_regno): New function.
3706 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
3707 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
3708 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
3709 (mmix_get_hard_reg_initial_val): Ditto.
3710
7ab5c789
AJ
37112002-07-06 Andreas Jaeger <aj@suse.de>
3712
3713 * toplev.c (set_fast_math_flags): Don't use ISO C style function
3714 definitions.
3715 * gengtype.c (open_base_files): Likewise.
3716 (close_output_files): Likewise.
3717 * tracer.c (find_best_predecessor): Likewise.
3718 (find_best_successor): Likewise.
3719 (ignore_bb_p): Likewise.
3720
df061a43
RS
37212002-07-05 Roger Sayle <roger@eyesopen.com>
3722
3723 PR c++/7099
3724 * builtin-attrs.def: Define new attribute lists for use in
3725 builtins.def.
3726 * builtins.def [DEF_BUILTIN]: Modify to take an additional
3727 ATTRS argument, an enumerated value defined in builtin-attrs.def
3728 that represents the attribute list for the builtins. Modify
3729 all builtin functions to pass an appropriate attribute list.
3730 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
3731 their required noreturn attributes.
3732 * tree.h (enum_builtin_function): Ignore the additional parameter
3733 to DEF_BUILTIN.
3734 * builtins.c (built_in_names): Likewise.
3735 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
3736 argument with a tree representing the functions attribute list.
3737 Pass this "attrs" argument to builtin_function. No longer handle
3738 the noreturn_p processing manually.
3739 (built_in_attributes): Move the definitions from builtin-attrs.def
3740 before c_common_nodes_and_builtins.
3741 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
3742 DEF_BUILTIN, passing it to both builtin_function and the changed
3743 builtin_function_2.
3744
3745 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
3746 __builtin__exit and __builtin__Exit.
3747
e5eb8de8
SC
37482002-07-05 Stephane Carrez <stcarrez@nerim.fr>
3749
3750 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
3751 QI mode registers in soft registers.
7ab5c789 3752 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
3753 for register allocation (use '*' constraint).
3754
4c8aed14
SC
37552002-07-05 Stephane Carrez <stcarrez@nerim.fr>
3756
3757 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
3758 it is dead.
3759 ("*ashrsi3"): Likewise.
3760 ("*lshrsi3"): Likewise.
3761
99ed68ea
VM
37622002-07-05 Vladimir Makarov <vmakarov@redhat.com>
3763
3764 * genautomata.c (output_max_insn_queue_index_def): Take latencies
3765 into account.
3766
4c8aed14 37672002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
3768
3769 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3770 address computation and memory moves.
3771
9833f679
MM
37722002-07-03 Mark Mitchell <mark@codesourcery.com>
3773
3774 PR c++/6706
3775 * dwarfout.c (output_reg_number): Fix warning message.
3776 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
3777 before using it.
7ab5c789 3778
81bca2f5
RO
37792002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3780
3781 * gcc/gcc.c (asm_debug): Move initialization ...
3782 (init_spec): ... here.
3783
17f44f02
NS
37842002-07-05 Nathan Sidwell <nathan@codesourcery.com>
3785
3786 * c-parse.in (extdef): Append ';'.
3787 (old_style_parm_decls): Append ';'.
3788
da77408f
DJ
37892002-07-04 Daniel Jacobowitz <drow@mvista.com>
3790
3791 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
3792 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
3793 to gcc_cv_as_gstabs_flag.
3794 * configure: Rebuilt.
3795
ec52b446
GK
37962002-07-04 Geoffrey Keating <geoffk@redhat.com>
3797
3798 * ggc.h (ggc_add_root): Document as obsolete.
3799
8721e3df
R
3800Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
3801
3802 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
3803 (mshflo_w): Likewise.
3804
3767c0fd
R
3805Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
3806
3807 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
3808 vector mode subregs of constants to finding integer mode
3809 subregs of constants.
3810 * cse.c (cse_insn): Use simplify_gen_subreg.
3811 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
3812 From a vector mode expression of different size than the
3813 target mode.
3814
4e314d1f
EC
38152002-07-03 Eric Christopher <echristo@redhat.com>
3816
3817 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
3818 * config/mips/mips.h: Remove deprecated -m<processor> options
3819 and cc1_cpu_spec associated.
3820 (CONSTANT_ADDRESS_P): Fix last patch.
3821 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
3822 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
3823 sunge_sf): Remove.
3824
6f0361e3
SS
38252002-07-03 Stan Shebs <shebs@apple.com>
3826
3827 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
3828 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
3829 (CPP_SPEC): Remove insertion of APPLE_CC definition.
3830
3129af4c
RS
38312002-07-03 Roger Sayle <roger@eyesopen.com>
3832
3833 * combine.c (struct_undo): Change types of recorded substitutions
3834 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
3835 (do_SUBST_INT): Change types of the substitution from unsigned int
3836 to int, to avoid compilation warning from SUBST_INT's only caller.
3837
3838 (make_extraction): Add cast to avoid compilation warning.
3839 (force_to_mode): Remove cast to avoid compilation warning.
3840
c7375e61
EB
38412002-07-03 Eric Botcazou <ebotcazou@multimania.com>
3842 Jeff Law <law@redhat.com>
3843
3844 * i386.md (length_immediate attribute): Fix typo.
3845 (length_address attribute): Likewise.
3846 (modrm attribute): Set it to 0 for immediate call instructions.
3847 (jcc_1 pattern): Set modrm attribute to 0.
3848 (jcc_2 pattern ): Likewise.
3849 (jump pattern): Likewise.
3850 (doloop_end_internal pattern): Explicitly set length.
3851 (leave pattern): Fix typo.
3852 (leave_rex64 pattern): Likewise.
3853
61c07d3c
DE
38542002-07-03 David Edelsohn <edelsohn@gnu.org>
3855
3856 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
3857 in FPR as preference.
3858 (fctiwz): Same.
3859 (floatdidf2, fix_truncdfdi2): Same.
3860 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
3861 (floatditf2): Same.
3862 (floatsitf2, fix_trunctfsi2): SImode in GPR.
3863 (ctrdi): Remove FPR alternative and splitter.
3864
38652002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
3866
3867 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
3868
34a80643
R
3869Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
3870
3871 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
3872 than UNITS_PER_WORD, unless this is little endian and the first unit
3873 in this word. Let extract_bit_field decide how to load an element.
3874 Force arguments to matching mode.
3875 (expand_vector_unop): Likewise.
3876
3877 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
3878 consist of word_mode elements.
3879 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
3880 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
3881 (build_unary_op): Allow vector types for BIT_NOT_EPR.
3882 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
3883 CONST_VECTOR.
3884 * optabs.c (expand_vector_binop): Try to perform operation in
3885 smaller vector modes with same inner size. Add handling of AND, IOR
3886 and XOR. Reject expansion to inner-mode sized scalars when using
3887 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
3888 (expand_vector_unop): Try to perform operation in smaller vector
3889 modes with same inner size. Add handling of one's complement.
3890 When there is no vector negate operation, try a vector subtract
3891 operation. Use simplify_gen_subreg on constants.
3892 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
3893 constants into smaller vectors with same inner mode, and to
3894 integer CONST_DOUBLEs.
3895
622d3731
KG
38962002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3897
3898 * c-parse.in (parsing_iso_function_signature): New variable.
3899 (extdef_1): New, copied from...
3900 (extdef): ... here. Reset parsing_iso_function_signature.
3901 (old_style_parm_decls): Reset parsing_iso_function_signature.
3902 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
3903 Warn about ISO C style function definitions.
3904 (nested_function, notype_nested_function): Reset
3905 parsing_iso_function_signature.
3906 (parmlist_2): Set parsing_iso_function_signature.
3907
3908 * doc/invoke.texi (-Wtraditional): Document new behavior.
3909
9bb46191
CD
39102002-07-02 Chris Demetriou <cgd@broadcom.com>
3911
3912 * config.gcc (mips*el-*-*): Use tm_defines to set
3913 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
3914 * config/mips/little.h: Remove.
3915
e1c2dd26 39162002-07-02 Devang Patel <dpatel@apple.com>
c40da518 3917
c40da518 3918 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
3919 object as parameter. Prevent something like 'NSObject' to be
3920 used as the type for a method argument.
c40da518 3921
0879540b
NB
39222002-07-03 Neil Booth <neil@daikokuya.co.uk>
3923
3924 * cpptrad.c: Update comment.
3925
b6fb43ab 39262002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 3927
b6fb43ab
NB
3928 * doc/cpp.texi: Update for traditional preprocessing changes.
3929 * goc/cppopts.texi: Similarly.
3930
c1c5187c
ZL
39312002-07-02 Ziemowit Laski <zlaski@apple.com>
3932
3933 * c-parse.in (designator): Enable designated initializers if ObjC.
3934 (objcmessageexpr): Remove references to objc_receiver_context.
3935 * objc/objc-act.h (objc_receiver_context): Remove decl.
3936 * objc/objc-act.c (objc_receiver_context): Remove.
3937 (lookup_objc_ivar): Test objc_method_context instead of
3938 objc_receiver_context.
3939
52702ae1
R
3940Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
3941
3942 * sh.c (print_operand, case 'N'): Allow zero vector.
3943 (arith_reg_or_0_operand): Likewise.
3944 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 3945 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
3946 IOR, XOR, PLUS and SET and take their respective constant
3947 ranges into account.
3948 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
3949 * sh.md (subdi3, subdi3_media): Allow zero operand.
3950 (movv8qi_i+3): Only vector that is not split is the zero vector.
3951 Fix operand 3 to simplify_subreg.
3952 (movv2si_i): Split alternative 1.
3953 (mshfhi_l_di_rev+1): New splitter.
3954
49e7b251
NB
39552002-07-02 Neil Booth <neil@daikokuya.co.uk>
3956
ba57a9c0 3957 PR preprocessor/7029
49e7b251
NB
3958 * cppinit.c (cpp_handle_option): Suppress warnings with an
3959 implicit "-w" for "-M" and "-MM".
3960 * doc/cppopts.texi: Update.
3961
a3acdc0c
RS
39622002-07-01 Roger Sayle <roger@eyesopen.com>
3963
3964 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
3965 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
3966 builtin_function.
3967
0b558962
AM
39682002-07-02 Alan Modra <amodra@bigpond.net.au>
3969
3970 * README.Portability: Fix typos.
3971
9a81c5b7
HPN
39722002-07-01 Hans-Peter Nilsson <hp@axis.com>
3973
3974 PR target/7177
3975 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
3976 of indirections for register inside sign-extended mem part.
3977
6a2dd09a
RS
39782002-07-01 Roger Sayle <roger@eyesopen.com>
3979
3980 * tree.h: Modify builtin_function interface to take an extra
3981 argument ATTRS, which is a tree representing an attribute list.
3982
3983 * c-decl.c (builtin_function): Accept additional parameter.
3984 * objc/objc-act.c (builtin_function): Likewise.
3985 * f/com.c (builtin_function): Likewise.
3986 * java/decl.c (builtin_function): Likewise.
3987 * ada/utils.c (builtin_function): Likewise.
3988 * cp/decl.c (builtin_function): Likewise.
3989 (builtin_function_1): Likewise.
3990
3991 * c-common.c (c_common_nodes_and_builtins): Pass an additional
3992 NULL_TREE argument to builtin_function. (builtin_function_2):
3993 Likewise.
3994 * cp/call.c (build_java_interface_fn_ref): Likewise.
3995 * objc/objc-act.c (synth_module_prologue): Likewise.
3996 * java/decl.c (java_init_decl_processing): Likewise.
3997 * f/com.c (ffe_com_init_0): Likewise.
3998
3999 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
4000 NULL_TREE argument to builtin_function.
4001 * config/arm/arm.c (def_builtin): Likewise.
4002 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
4003 * config/i386/i386.c (def_builtin): Likewise.
4004 * config/ia64/ia64.c (def_builtin): Likewise.
4005 * config/rs6000/rs6000.c (def_builtin): Likewise.
4006
e20569ae
ZW
40072002-07-01 Zack Weinberg <zack@codesourcery.com>
4008
4009 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
4010 * config/mips/t-isa3264: Likewise.
4011 * config/mmix/t-mmix: Likewise.
4012
f1b690f1
JDA
40132002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
4014
4015 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
4016
6bfa5aac
RS
40172002-07-01 Roger Sayle <roger@eyesopen.com>
4018
4019 PR opt/4046
4020 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
4021 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
4022 B are truth values.
4023
9a5c1b9d
NN
40242002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
4025
4026 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
4027
d3fc4dbc
MK
40282002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
4029
3b2124df
MK
4030 * README.Portability (Function prototypes): Give an example of
4031 declaring and defining a function with no arguments.
4032
d3fc4dbc
MK
4033 * README.Portability (Function prototypes): Document new
4034 variable-argument function macros.
4035
c1b92d09
R
4036Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
4037
4038 * sh.c (langhooks.h): Include.
4039 (sh_init_builtins, sh_media_init_builtins): New functions.
4040 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
4041 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
4042 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
4043 (builtin_description): New struct tag.
4044 (signature_args, bdesc): New arrays.
4045 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
4046 (print_operand): Add 'N' modifier.
4047 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
4048 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
4049 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
4050 (CONST_COSTS): Add special case for SHmedia AND.
4051 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
4052 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
4053 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
4054 target_operand can also be const or unspec.
4055 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
4056 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
4057 (attribute type): Add new types.
4058 (anddi3): Add splitter.
4059 (movdi_const_16bit+1): Add code to handle vector constants and
4060 bitmasks efficiently.
4061 (shori_media): Have generator function made.
4062 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
4063 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
4064 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
4065 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
4066 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
4067 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
4068 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
4069 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
4070 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
4071 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
4072 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
4073 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
4074 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
4075 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
4076 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
4077 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
4078 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
4079 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
4080 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
4081 (ftrv): Likewise.
4082
4083 (fpu_switch+1, fpu_switch+2): Remove constraint.
4084
97ebc06f
AH
40852002-07-01 Aldy Hernandez <aldyh@redhat.com>
4086
6c535c69
ZW
4087 * tree.c (build_function_type_list): Update function comment.
4088 Rename first argument to return_type.
97ebc06f 4089
353a10d0
NB
40902002-07-01 Neil Booth <neil@daikokuya.co.uk>
4091
4092 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
4093 tradcif.y and related files.
4094
e34cabb3
NB
40952002-07-01 Neil Booth <neil@daikokuya.co.uk>
4096
4097 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
4098
8bf3ccbb
KG
40992002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4100
4101 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
4102
118f8dc1
DP
41032002-06-30 Devang Patel <dpatel@apple.com>
4104
4105 * objc/objc-act.c (finish_file): Avoid finish_objc() if
4106 -fsyntax-only.
4107
e3223ea2
DC
4108Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
4109 Frank Ch. Eigler <fche@redhat.com>
6c535c69 4110 Matthew Green <mrg@redhat.com>
e3223ea2
DC
4111 Richard Henderson <rtl@redhat.com>
4112 Dave Hudson <dave.hudson@ubicom.com>
4113 Jeff Johnston <jjohnstn@redhat.com>
4114 Alan Lehotsky <apl@alum.mit.edu>
4115 Bernd Schmidt <bernds@redhat.com>
4116 Graham Stott <grahams@redhat.com>
4e314d1f 4117
e3223ea2
DC
4118 * doc/extend.texi: Add ip2k port to description of attribute
4119 naked.
4120 * doc/install.texi (Specific): Add ip2k description.
4121 * doc/install-old.texi (Configurations): Add ip2k to possible
4122 cpu types.
4123 * doc/md.texi: Document ip2k constraints.
4124 * config/ip2k/crt0.S: New file.
4125 * config/ip2k/ip2k-protos.h: New file.
4126 * config/ip2k/ip2k.c: New file.
4127 * config/ip2k/ip2k.h: New file.
4128 * config/ip2k/ip2k.md: New file.
4129 * config/ip2k/libgcc.S: New file.
4130 * config/ip2k/t-ip2k: New file.
4131
66b8c57f
HPN
41322002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
4133
4134 * config/mmix/mmix.md ("return"): New pattern.
4135 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
4136 (TARGET_USE_RETURN_INSN): New macros.
4137 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
4138 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
4139 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
4140 (MMIX_POP_ARGUMENT): New macro.
4141 (mmix_target_asm_function_prologue): When no epilogue is executed,
4142 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
4143 (mmix_print_operand) <case '.'>: New case.
4144 (mmix_print_operand_punct_valid_p): Match '.'.
4145 (mmix_use_simple_return): New function.
4146 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
4147 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
4148 -msingle-exit, -mno-single-exit.
4149 (MMIX Options): Ditto.
4150
e7a60f56
AH
41512002-06-30 Aldy Hernandez <aldyh@redhat.com>
4152
6c535c69 4153 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 4154
1ef7d32b
KG
41552002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4156
4157 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
4158
c8b64bf2
AM
41592002-06-30 Alan Modra <amodra@bigpond.net.au>
4160
4161 * unroll.c (loop_iterations): Handle EQ loops.
4162
35aba846
DE
41632002-06-29 David Edelsohn <edelsohn@gnu.org>
4164
4165 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
4166 constraint in define_expand, not splitter.
4167 Formatting.
4168
b4de2f7d
AH
41692002-06-29 Aldy Hernandez <aldyh@redhat.com>
4170
6c535c69
ZW
4171 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
4172 build_function_type_list instead of build_function_type.
b4de2f7d 4173
6c535c69 4174 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 4175
6c535c69 4176 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 4177
6c535c69 4178 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 4179
6c535c69 4180 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 4181
6c535c69 4182 * tree.h: Add build_function_type_list prototype.
b4de2f7d 4183
6c535c69 4184 * tree.c (build_function_type_list): New.
b4de2f7d 4185
1691051f
KG
41862002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4187
4188 * collect2.c (scan_prog_file): Fix typo in message.
4189
7bfb14f1
AL
41902002-06-28 Aaron Lehmann <aaronl@vitelus.com>
4191
6c535c69 4192 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 4193
38800fe8
NB
41942002-06-29 Neil Booth <neil@daikokuya.co.uk>
4195
4196 PR preprocessor/7150
4197 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 4198 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 4199
f60ed6be
NB
42002002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
4201
4202 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
4203 Don't use CPP_PREDEFINES.
4204 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
4205 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
4206 * config/i386/djgpp.h, config/i386/i386-coff.h,
4207 config/i386/i386-interix.h, config/i386/i386-interix3.h,
4208 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
4209 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
4210 config/i386/uwin.h: Similarly.
4211
76118c11
HB
42122002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4213
6c535c69 4214 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
4215 flag_inline_trees to enable inlining.
4216
9137b119
PE
42172002-06-28 Phil Edwards <pme@gcc.gnu.org>
4218
4219 * configure.in (gcc_gxx_include_dir): Change to match versioned
4220 C++ headers if --enable-version-specific-runtime-libs is used.
4221 * configure: Regenerate.
4222
6bdb8dd6
JH
42232002-06-28 Jan Hubicka <jh@suse.cz>
4224
4225 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
4226
f1b1186f
SC
42272002-06-28 Stephen Clarke <stephen.clarke@superh.com>
4228
4229 * combine.c (combine_simplify_rtx): Pass the mode of the
4230 shift count, not the shift operation when trying to simplify
4231 a shift on a SHIFT_COUNT_TRUNCATED target.
4232
ae9bd481
SC
42332002-06-28 Stephane Carrez <stcarrez@nerim.fr>
4234
4235 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
4236 avoid the auto increment addressing modes.
4237 ("*subsi3"): Likewise.
4e314d1f 4238 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
4239 the stack and do the operation with a pop.
4240
1d63a28a
NB
42412002-06-28 Neil Booth <neil@daikokuya.co.uk>
4242
4243 * cpplib.c (_cpp_handle_directive): Move #define-specific
4244 code to the #define handler...
4245 (do_define): ...here.
4246 (lex_macro_node): No longer a need to check for comments here.
4247
4caff360
SC
42482002-06-28 Stephane Carrez <stcarrez@nerim.fr>
4249
4250 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
4251 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
4252 Declare.
4253 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
4254 do not reorder basic blocks at the end when optimizing for size.
4255
2cc21497
SC
42562002-06-28 Stephane Carrez <stcarrez@nerim.fr>
4257
4258 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
4259 (m68hc11_make_autoinc_notes): New function.
4260 (m68hc11_split_move): Be very cautious when spliting a move with
4261 auto increment/decrement modes because this may result in incompatible
4262 directions; add REG_INC notes to the resulting insn for CSE reg.
4263
3cdd2821
SC
42642002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
4265
4266 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
4267 can be a valid address.
4268
e6a82e80
AH
42692002-06-28 Aldy Hernandez <aldyh@redhat.com>
4270
6c535c69
ZW
4271 * config/rs6000/rs6000.c: Remove unusued variables from last
4272 patch.
e6a82e80 4273
a7ae18e2
AH
42742002-06-27 Aldy Hernandez <aldyh@redhat.com>
4275
4276 Revert:
6c535c69
ZW
4277 * config/rs6000/rs6000.c (rs6000_override_options): Move
4278 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 4279
3a9b8c7e
AH
42802002-06-27 Aldy Hernandez <aldyh@redhat.com>
4281
6c535c69
ZW
4282 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
4283 lvx/stv/dst builtins...
4284 (altivec_expand_ld_builtin): ...to here.
4285 (altivec_expand_st_builtin): ...here.
4286 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 4287
5f9dc214
BW
42882002-06-28 Bob Wilson <bob.wilson@acm.org>
4289
4290 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
4291
53501a19
BS
42922001-06-08 Bernd Schmidt <bernds@redhat.com>
4293
4294 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
4295 subregs.
4296 * recog.c (general_operand, register_operand): Disallow them.
4297
d1a58688
NB
42982002-06-28 Neil Booth <neil@daikokuya.co.uk>
4299
4300 PR preprocessor/7138
4301 * cpplib.c (_cpp_handle_directive): Do traditional
4302 preparation after setting state.angled_headers.
4303 * cpptrad.c (scan_out_logical_line): Fix potential
4304 quote bug.
4305
55c1c60d
AH
43062002-06-27 Aldy Hernandez <aldyh@redhat.com>
4307
6c535c69
ZW
4308 * config/rs6000/rs6000.c (rs6000_override_options): Move
4309 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 4310
3219c65b
BW
43112002-06-27 Bob Wilson <bob.wilson@acm.org>
4312
4313 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
4314 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
4315 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
4316
c8f863fc
RS
43172002-06-27 Roger Sayle <roger@eyesopen.com>
4318
4319 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
4320 * config/stormy16/stormy16.h: Likewise.
4321
4322 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
4323 with #define.
4324
8d5362b7
GP
43252002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4326
4327 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
4328 Hitachi entry. Make punctuation more consistent.
4329
57694e40
MK
43302002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
4331
4332 * doc/install.texi: Change ` bit' to `-bit'.
4333 * doc/md.texi: Change `-bits' to `-bit'.
4334 * doc/tm.texi: Change `-bits' to ` bits'.
4335
c635a1ec
DB
43362002-06-27 Daniel Berlin <dberlin@dberlin.org>
4337
4338 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 4339 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
4340 the test at all).
4341
951a0766
NB
43422002-06-27 Neil Booth <neil@daikokuya.co.uk>
4343
4344 * cpphash.h (_cpp_set_trad_context): Remove.
4345 * cpplib.c (prepare_directive_trad): Do nothing for #define.
4346 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
4347 * cpptrad.c: Update comments.
4348 (_cpp_read_logical_line_trad): Let scan_logical_line handle
4349 updating the current context.
4350 (scan_logical_line): Update the current context.
4351 (_cpp_create_trad_definition): Similarly.
4352 (_cpp_set_trad_context): Remove.
4353
06470238
NB
43542002-06-27 Neil Booth <neil@daikokuya.co.uk>
4355
4356 PR preprocessor/7070
4357 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
4358
0c14a54d
BW
43592002-06-26 Bob Wilson <bob.wilson@acm.org>
4360
4361 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
4362 config/xtensa/xtensa.c (xtensa_return_addr): New function.
4363 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
4364 config/xtensa/xtensa.md (fix_return_addr): New pattern.
4365
e9873fd5
KG
43662002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4367
4368 * mips.c (coprocessor_operand, coprocessor2_operand,
4369 symbolic_operand): Move prototypes from here...
4370 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
4371 symbolic_operand): ...to here.
4372
650e8d05
R
4373Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
4374
4375 * config/sh/crt1.asm: remove _stack label definition
4376 and sentinel value.
4377
c7836bcd
KG
43782002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4379
4380 * varasm.c: Include real.h before output.h.
4381
6e1f54e2
AH
43822002-06-26 Aldy Hernandez <aldyh@redhat.com>
4383
6c535c69
ZW
4384 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
4385 check for TARGET_ALTIVEC.
6e1f54e2 4386
18fbcbcf
NN
43872002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
4388
4389 * config.gcc (vax-*-vms*): Make obselete.
4390
09bed167
KG
43912002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4392
4393 * gcc.c (warn_std): Delete.
4394
8254cb45
LR
43952002-06-25 Loren J. Rittle <ljrittle@acm.org>
4396
4397 * doc/extend.texi: Fix formatting of last checkin.
4398
f9ee10ab
RO
43992002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4400
4401 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
4402 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
4403
90989b26
AH
44042002-06-25 Aldy Hernandez <aldyh@redhat.com>
4405
6c535c69
ZW
4406 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
4407 discrepancies from motorola's documentation.
90989b26 4408
9881adff
R
4409Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
4410
4411 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
4412 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 4413
4e314d1f 4414 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
4415 produce a 32 bit result before normalization, then normalize with a
4416 left shift. Compute approximative error of 2nd reciprocal
4417 approximation in 2's complement. Fix mask generation from upper
4418 longword of second divide stage result.
4419 For large divisor, fix shift count used to truncate first stage
4420 divide result; make decision if to adjust upwards based on comparison
4421 of higher parts of normalized values.
4422 (udivdi): Likewise. Undo normalization of result for large divisor
4423 case.
4424
16b46035
DM
44252002-06-25 David S. Miller <davem@redhat.com>
4426
4427 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
4428
0c6db544
NB
44292002-06-25 Neil Booth <neil@daikokuya.co.uk>
4430
4431 * cpplib.c (do_include_common): Revert to correct line number
4432 if -traditional.
4433 * cpptrad.c (scan_out_logical_line): Treat null directive as
4434 white space. Invlidate MI optimization for non-whitespace
4435 text outside a directive.
4436
eef709c7
KG
44372002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4438
b41e09a7
KG
4439 * Makefile.in (SHELL): Set to @SHELL@.
4440 * fixinc/Makefile.in (SHELL): Likewise.
4441
eef709c7
KG
4442 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
4443 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
4444 initialization.
4445
b0ac73f8
JL
44462002-06-24 Jeff Law <law@redhat.com>
4447
4448 * flow.c (propagate_one_insn): When removing an insn
4449 with a REG_LIBCALL note but not the entire libcall sequence,
4450 delete the associated REG_RETVAL note.
4451
9e96203d
R
4452Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
4453
4454 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
4455 (udivsi3): Likewise. Rewrite SH1 implementation.
4456 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
4457 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
4458 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
4459 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
4460 (_moddi3): Likewise.
4461
4462 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
4463
4464 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
4465 arguments into account for stack_regs.
4466
0d893a63
MK
44672002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
4468
4469 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
4470 in examples.
4e314d1f 4471
04a5176a
AH
44722002-06-24 Art Haas <ahaas@neosoft.com>
4473
4474 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
4475 * doc/tm.texi (Frame Layout): Likewise.
4476
cad61762 44772002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 4478
cad61762
SE
4479 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
4480 Set float_format to i128.
4481
556a56ac
DM
44822002-06-24 David S. Miller <davem@redhat.com>
4483
4484 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
4485 32-bit ABI libfuncs to NULL.
4486
563facba
DM
4487 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
4488 strings instead of quoted strings for code blocks.
b776892b 4489
556a56ac
DM
4490 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
4491 optabs if op1 is const0_rtx.
4492
a8106207
DM
4493 * Makefile.in (GTFILES): Add basic-block.h
4494 * basic-block.h (label_value_list, tail_recursion_label_list):
4495 Mark with GTY.
4496
2c088b53
NB
44972002-06-24 Neil Booth <neil@daikokuya.co.uk>
4498
4499 * cpptrad.c (scan_out_logical_line): Check recursing only when
4500 we know we have a macro invocation in the function-like case.
4501 Only call _cpp_handle_directive if we know we have a good
4502 directive, or we want to reject a bad directive.
4503
0228d06b
AM
45042002-06-24 Alan Modra <amodra@bigpond.net.au>
4505
4506 * doloop.c (doloop_valid_p): Correct comment.
4507 (doloop_modify_runtime <abs_inc != 1>): Simplify.
4508 (doloop_modify_runtime <do-while>): Don't emit code when NE.
4509
2f9021d3
DC
4510Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
4511
4512 * config.gcc: Add support for ip2k.
4513
bc9c2952 45142002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
4515 Jeff Law <law@redhat.com>
4516
4517 * function.h (struct emit_status): Clarify potential contents
4518 of regno_reg_rtx array.
4519 * integrate.c (copy_rtx_and_substitute): Update comments. Make
4520 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
4521
4522 * reg-stack.c (convert_regs_exit): Push the registers to stack in
4523 proper order.
4524
faa964e5
UW
45252002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
4526
4527 PR middle-end/6963
4528 * function.c (assign_stack_temp_for_type): Do not return
4529 the same MEM rtx for multiple uses of a stack slot.
4530
7ae3e57c
DM
45312002-06-22 David S. Miller <davem@redhat.com>
4532
4533 PR target/6841 target/6770 target/6719
4534 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
4535 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
4536 GENERAL_OR_EXTRA_FP_REGS.
4537
847c76c8
NB
45382002-06-22 Neil Booth <neil@daikokuya.co.uk>
4539
4540 * cpptrad.c (struct fun_macro): Add line number.
4541 (scan_out_logical_line): Set it, and use it to report unterminated
4542 macro invocations.
4543
813674e0
KG
45442002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4545
4546 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
4547 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
4548 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
4549 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
4550 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
4551 REGEXP_ONEOF, check_name): Const-ify.
4552
23361093
MT
45532002-06-21 Matt Thomas <matt@3am-software.com>
4554
4555 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 4556 REGISTER_PREFIX. Fix some indentation.
23361093
MT
4557 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
4558 (VAX_ISTREAM_SYNC): Define.
4559 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
4560 i-stream sync to the end.
4561 (REGISTER_PREFIX): Define as "".
23361093
MT
4562 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
4563
1c655a0d
JT
45642002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
4565
4566 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
4567 configurations.
4568
3e16bfe2
KG
45692002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4570
4571 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
4572 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
4573
6b0760fd
MT
45742002-06-21 Matt Thomas <matt@3am-software.com>
4575
4576 * config/vax/netbsd.h: Adjust a comment.
4577 (TARGET_DEFAULT): Redefine as 0.
4578
31a78298
RH
45792002-06-21 Richard Henderson <rth@redhat.com>
4580
4581 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
4582 vax casesi fallthru edge.
4583 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
4584 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
4585 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
4586 block after ADDR_VEC.
4587
d8bf1785
RO
45882002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4589
4590 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
4591
00b94a44
NB
45922002-06-21 Neil Booth <neil@daikokuya.co.uk>
4593
4594 * cpperror.c (cpp_error): For traditional CPP, default to
4595 diagnostics on pfile->line.
4596 * cpplib.c (prepare_directive_trad): Set line number for
4597 diagnostics for #define too.
4598 * cpptrad.c (skip_whitespace): Skip comments properly.
4599 (_cpp_expansions_different_trad): Initialize quote2.
4600
c583c5c3
HPN
46012002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
4602
4603 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
4604 * config/mmix/mmix.h: Ditto.
4605 * config/mmix/mmix-protos.h: Ditto.
4606 * config/mmix/mmix.c: Ditto. Fix typo in comment.
4607 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
4608 comment. Comment extra CC modes.
4609
1292ec0c
JH
46102002-06-20 Jan Hubicka <jh@suse.cz>
4611
4612 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
4613 (scope_to_insns_finalize): Do not call set_block_levels; handle
4614 sequences.
4615 (choose_inner_scope): New.
4616 * rtl.h (choose_inner_scope): Declare.
4617
0f8e3849
JDA
46182002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
4619
4620 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
4621 HOST_WIDE_INT.
4622 * pa.c (pa_asm_output_mi_thunk): Likewise.
4623 (n_deferred_plabels): Change type to size_t.
4624 (output_deferred_plabels, output_call): Use size_t instead of int.
4625
0655301f
RH
46262002-06-20 Richard Henderson <rth@redhat.com>
4627
4628 PR target/4041
4629 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
4630 pattern and adjust constraints for coldfire.
4631
2b3aadfc
RH
46322002-06-20 Richard Henderson <rth@redhat.com>
4633
4634 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
4635
5c44e275
CD
46362002-06-20 Chris Demetriou <cgd@broadcom.com>
4637
4638 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
4639
8fff5435
CD
46402002-06-20 Chris Demetriou <cgd@broadcom.com>
4641
4642 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
4643
8a67e083
SS
46442002-06-20 Stan Shebs <shebs@apple.com>
4645
4646 * dominance.c: Include errors.h instead of error.h.
4647
017acb41
NB
46482002-06-20 Neil Booth <neil@daikokuya.co.uk>
4649
4650 * cppexp.c (cpp_interpret_integer): Don't force traditional
4651 numbers to be unsigned.
4652 * cpplib.c (prepare_directive_trad): Set line number for
4653 diagnostics.
4654 * cpptrad.c (scan_out_logical_line): Continue scanning out
4655 at start of buffer.
4656 * gcc.c (trad_capable_cpp): Use cc1 always.
4657
0ed4a390
JL
46582002-06-20 Jeffrey Law <law@redhat.com>
4659
4660 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
4661 elimination in leaf functions by default yet.
4662
988ef418
RS
46632002-06-20 Richard Sandiford <rsandifo@redhat.com>
4664
4665 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
4666
0ab2e54b
RO
46672002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4668
4669 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
4670 multilibs.
4671 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 4672 Fixes PR other/6836.
0ab2e54b 4673
355be0dc
JH
4674Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
4675 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
4676
4677 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
4678
4679 * basic-block.h: Do not include et-forest.h
4680 (dominance_info): Declare as struct dominance-info.
4681 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
4682 deleting block.
4683 * dominance.c (struct dominance_info): Define.
4684 (BB_NODE, SET_BB_NODE): New macros.
4685 (bb_hash_func, bb_eq_func): Kill.
4686 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
4687 nearest_common_dominator, dominated_by_p, recount_dominator,
4688 add_to_dominance_info, delete_from_dominance_info): update for new
4689 representation.
4690 (get_dominated_by, redirect_immediate_dominators): Rewrite using
4691 enumerate_sons.
4692 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
4693 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
4694 structure.
4695
4696 * et-forest.h: Update copyright; revamp all function to operate on
4697 nodes
4698 (et_forest_value): Kill.
4699 (et_forest_enumerate_sons, et_forest_node_value): New.
4700 * et-forest.c: Update copyright.
4701 * et-forest.h: Update copyright; revamp all function to operate on
4702 nodes
4703 (et_forest_value): Kill.
4704 (et_forest_enumerate_sons, et_forest_node_value): New.
4705
4706 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
4707
4708 * basic-block.h: Inlude et-forest.h
4709 (basic_block_def): Kill dominator.
4710 (dominance_info): New type.
4711 (loops): Use dominace_info.
4712 (dominace handling functions): Take dominace_info as argument
4713 instead of bitmaps.
4714 (create_preheader): Likewise.
4715 * cfg.c (entry_exit_blocks): Kill dominator.
4716 (dump_flow_info): Do not dump dominators.
4717 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
4718 dominators.
4719 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
4720 (flow_loops_pre_header_scan, make_forwarder_block,
4721 canonicale_loop_headers, flow_loops_find): Likewise.
4722 * dominance.c: Include error.h
4723 (idoms_to_doms): Kill.
4724 (bb_hash_func, bb_eq_func): New static functions.
4725 (debug_dominace_info): New global function.
4726 (calculate_dominance_info): Use new et forest structure.
4727 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
4728 get_dominated_by, redirect_immediate_dominators,
4729 nearest_common_dominator, dominated_by_p, verify_dominators,
4730 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
4731 delete_from_dominance_info): New global functions.
4732 * gcse.c (domnators): CHange to dominance_info.
4733 (alloc_hoist_mem): Do not alloc dominators
4734 (free_code_hoist_mem): Use free_dominance_info.
4735 (compute_code_hoist_data): Use dominance_info.
4736 (hoist_code): Likewise.
4737 * ifcvt.c (post_dominators): Likewise.
4738 (find_if_case_2, if_convert): Likewise.
4739 * predict.c (process_note_predictions, process_note_prediction,
4740 estimate-probability): Likewise.
4741 * sched-rgn.c (find_rgns, init_regions): Likewise.
4742 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
4743 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
4744 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
4745 find_evaluations, convert_to_ssa): Likewise.
4746 * ssa.h (compute_dominance_frontiers): Likewise.
4747
4748 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
4749
4750 * Makefile.in (et-forest.c): Add.
4751 * et-forest.c: New file.
4752 * at-forest.h: New file.
4753
ef9772c8
KG
47542002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4755
62c71f4b
KG
4756 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
4757 array size calculation.
4758 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
4759 Likewise.
4760
ef9772c8
KG
4761 * diagnostic.c (diagnostic_kind_text): Const-ify.
4762 * gengtype.c (lang_names): Likewise.
4763
b0dd4808
JH
4764Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
4765
4766 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
4767
8433a25e
RO
47682002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4769
4770 * config/sol2.h: New file.
4771 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
4772 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
4773 (sparc-*-chorusos*): Likewise.
4774 (sparc-*-elf*): Likewise.
4775 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
4776 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
4777 (sparc-hal-solaris2*): Likewise.
4778 (sparc-*-solaris2*): Likewise.
4779 (sparclite-*-elf*): Likewise.
4780 (sparc86x-*-elf*): Likewise.
4781 (sparc64-*-elf*): Likewise.
bc9c2952 4782
8433a25e
RO
4783 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
4784 config/sol2.h.
4785 (ASM_SPEC): Override config/sol2.h version for now.
4786 Removed obsolete GAS_REJECTS_MINUS_S variant.
4787 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
4788 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
4789 (TARGET_OS_CPP_BUILTINS): Likewise.
4790 Assert system=unix.
4791 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
4792 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
4793 config/sol2.h.
4794 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
4795 (ASM_CPU_SPEC): Define.
4796 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 4797
8433a25e
RO
4798 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
4799 in config/sparc/sol2.h.
4800 (ASM_SPEC): Moved to config/sol2.h.
4801 (CPP_CPU_SPEC): Simplified.
4802 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
4803 consistency.
4804 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
4805 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
4806 STARTFILE_ARCH64_SPEC.
4807 (STARTFILE_SPEC): Moved to config/sol2.h
4808 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
4809 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
4810 (LINK_ARCH64_SPEC): Simplified.
4811 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
4812 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 4813
8433a25e
RO
4814 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
4815 config/sol2.h.
4816 Use BITS_PER_WORD for size.
4817 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
4818 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
4819 (CPP_PREDEFINES): Removed OS-specific part handled by
4820 TARGET_OS_CPP_BUILTINS.
4821 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
4822 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
4823 (ASM_SPEC): Moved to config/sol2.h.
4824 (PREFERRED_DEBUGGING_TYPE): Likewise.
4825 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
4826 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
4827 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
4828 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 4829
8433a25e
RO
4830 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
4831 * config/i386/sol2gas.h: Removed.
4832
b6bb1d56
JH
4833Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
4834
4835 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
4836
e50b19ce 48372002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 4838
e50b19ce
AH
4839 * gcc.c-torture/execute/simd-1.c: New.
4840
4841 * gcc.dg/simd-1.c: New.
4842
4843 * doc/extend.texi (Vector Extensions): Document that we can
4844 specify simd types not specifically supported by the hardware.
4845 Document that simd types can be used as function arguments.
4846 Document that signness does make a difference in SIMD types.
4847 Misc cleanups and revisions to the vector extensions section.
4848
4849 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
4850 constants.
4851
4852 * expr.c (vector_mode_valid_p): New.
4853
4854 * expr.h: Add vector_mode_valid_p.
4855
4856 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
4857
4858 * c-common.c (type_for_mode): Always build vector nodes regardless
4859 of VECTOR_MODE_SUPPORTED_P.
4860 (handle_mode_attribute): Error if we can't emulate a nonexisting
4861 vector mode.
4862 (handle_vector_size_attribute): Same.
4863
4864 * optabs.c (expand_binop): Open-code vector operations.
4865 (expand_unop): Open-code vector unops.
4866 (expand_vector_binop): New.
4867 (expand_vector_unop): New.
4e314d1f 4868
e50b19ce
AH
4869 * c-typeck.c (build_binary_op): Allow vectors in binops.
4870 Allow vectors in conditional operatiors.
4871 (build_unary_op): Allow vectors in unary minus.
4872
4873 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
4874 TARGET_ALTIVEC.
4875
74d86f4f
RH
48762002-05-20 Richard Henderson <rth@redhat.com>
4877
4878 * c-common.c (c_common_get_alias_set): Correctly handle characters.
4879 Rearrange order of expressions; don't handle vectors here.
4880 * alias.c (get_alias_set): Let vectors match their components.
4881
1867b624
CD
48822002-06-19 Chris Demetriou <cgd@broadcom.com>
4883
6c535c69 4884 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
4885 match desired locality.
4886
2c1d2fcb
DD
48872002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
4888
4889 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
4890 (h8300_insert_attributes): New.
4891
84d901be
AD
48922002-06-19 Akim Demaille <akim@epita.fr>
4893
4894 * c-parse.in (initelt: identifier ':' initval): Add an empty
4895 action to fix a type clash.
4896 (aliasdecl, classdef): Add the missing closing `;'.
4897 Whitespace changes.
4898 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
4899 $$ = $1 type clashes.
4900
8f2e3902
EC
49012002-06-19 Eric Christopher <echristo@redhat.com>
4902
4903 * config/mips/mips.c (symbol_operand): New function.
4904 (mips_emit_prefetch): Ditto.
4905 * config/mips/mips-protos.h: Define.
4906 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
4907 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
4908 (LEGITIMIZE_ADDRESS): Ditto.
4909 * config/mips/mips.md (prefetch, prefetch_si_address,
4910 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
4911
c894819c
EC
49122002-06-19 Eric Christopher <echristo@redhat.com>
4913
4914 * config/fp-bit.h: Add unordered defines for gofast.
4915
4005971c
VM
49162002-06-19 Vladimir Makarov <vmakarov@redhat.com>
4917
4918 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
4919 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
4920 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
4921 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
4922 checking and without it.
4923 (decl_name, decl_mode_check_failed, regexp_name,
4924 regexp_mode_check_failed): New functions.
4925 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
4926 gen_presence_set, gen_absence_set, gen_automaton,
4927 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
4928 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
4929 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
4930 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
4931 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
4932 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
4933 (decl_hash, decl_eq_p): Use the macros.
4934 (find_decl): Ditto. Set up mode of work_decl.
4935 (process_excls, process_presence_absence, process_decls,
4936 check_automaton_usage, process_regexp, process_regexp_decls,
4937 check_usage, loop_in_regexp, check_loops_in_regexps,
4938 process_regexp_cycles, add_advance_cycle_insn_decl,
4939 initiate_states, initiate_excl_sets,
4940 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
4941 transform_2): Use the macros.
4942 (transform_3): Ditto. Check mode before making transformations of
4943 ALLOF.
4944 (regexp_transform_func, transform_insn_regexps,
4945 process_unit_to_form_the_same_automaton_unit_lists,
4946 form_the_same_automaton_unit_lists_from_regexp,
4947 form_the_same_automaton_unit_lists,
4948 process_seq_for_forming_states, process_alts_for_forming_states,
4949 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
4950 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
4951 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
4952 units_to_automata_heuristic_distr, create_ainsns,
4953 units_to_automata_distr, create_automata): Use the macros.
4954 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
4955 (longest_path_length, min_issue_delay_pass_states,
4956 output_dead_lock_vect, output_tables, output_insn_code_cases,
4957 output_internal_insn_latency_func, output_print_reservation_func,
4958 output_description, output_automaton_units, generate): Use the
4959 macros.
4960 (make_insn_alts_attr): Ditto. Check case when there are not
4961 alternatives in the reservation.
4962 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
4963 make_bypass_attr, form_important_insn_automata_lists,
4964 expand_automata): Use the macros.
c894819c 4965
015089dd
TJ
49662002-06-20 Tim Josling <tej@melbpc.org.au>
4967
4968 * Makefile.in: Clean up code to check for misspecified languages
4969 in enable-languages.
4970
7999462c
AP
49712002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
4972
84d901be 4973 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 4974
9c8d079c
JM
49752002-06-19 Jason Merrill <jason@redhat.com>
4976
4977 * Makefile.in (unstrap, restrap): New targets.
4978 (bootstrap): Mention restrap.
4979
d90a95fb
MK
49802002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
4981
4982 * except.c (ehl_free): Remove.
4983
4984 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
4985 builtin_define and builtin_define_std.
4986
f01a0d8d
ID
49872002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4988
4989 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
4990 (sCOND): Restrict operand class so that gcc knows how to reload them.
4991 (bitfield_set): Merge two unnamed insn's using alternatives.
4992 (call_value): Remove constraint on unused uperand.
4993 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
4994 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 4995
f01a0d8d
ID
4996 * longlong.h (count_trailing_zeros): Escape newline and beautify.
4997
62363d99
MM
49982002-06-19 Mark Mitchell <mark@codesourcery.com>
4999
5000 * Makefile.in (QMTEST_DIR): Simplify definition.
5001
099bd656
NC
50022002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
5003
5004 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
5005 #define.
5006
278c4662
NB
50072002-06-19 Neil Booth <neil@daikokuya.co.uk>
5008
5009 * cpphash.h (struct cpp_reader): Make date and time strings.
5010 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
5011 _cpp_replacement_text_len): New.
5012 * cppinit.c (cpp_create_reader): Update.
5013 (init_builtins): Register appropriate builtins for -traditional-cpp.
5014 * cppmacro.c (new_number_token): Remove.
5015 (_cpp_builtin_macro_text): New.
5016 (builtin_macro): Use it.
5017 (cpp_macro_definition): Update to handle traditional macros.
5018 * cppmain.c (cb_line_change): Don't do column positioning for
5019 traditional output.
5020 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
5021 state ls_fun_close.
5022 (skip_whitespace): Fix.
5023 (maybe_start_funlike): Don't set state.parsing_args.
5024 (scan_out_logical_line): Remove duplicate error. Use lex_state
5025 rather than state.parsing_args.
5026 (push_replacement_text): Handle builtins.
5027 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
5028
afd1930f 50292002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 5030 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
5031
5032 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
5033 attribute __always_inline__.
5034
5ee924c2
BW
50352002-06-18 Bob Wilson <bob.wilson@acm.org>
5036
5037 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
5038 when generating the call to _mcount.
5039 (NO_PROFILE_COUNTERS): Define.
5040
32c36ac8
RH
50412002-06-18 Richard Henderson <rth@redhat.com>
5042
5043 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
5044 2002-06-02 change.
5045
c985dc5e
R
5046Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
5047
5048 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
5049 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
5050 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
5051 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
5052
5053 * sh-protos.h (sh_pr_interrupt): Declare.
5054 * sh.c (sh_pr_interrupt): New function.
5055 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
5056 (sh_hard_regno_rename_ok): Likewise.
5057 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
5058
e3c8eb86
VM
50592002-06-18 Vladimir Makarov <vmakarov@redhat.com>
5060
5061 * rtl.def (DEFINE_AUTOMATON): Add description of new options
5062 `time' and `v'. Fix incorrect description of option `w'.
5063
5064 * doc/md.texi: Ditto.
5065
5066 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
5067 (gen_automata_option): Process the new options.
5068 (transform_2, transform_3): Initialize some variables.
5069 (initiate_automaton_gen): Use the new macros.
c894819c 5070
b2471838
RS
50712002-06-18 Richard Sandiford <rsandifo@redhat.com>
5072
5073 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
5074 (mips_set_return_address, mips_restore_gp): Declare.
5075 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
5076 (current_frame_info): Remove.
5077 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
5078 * config/mips/mips.c: Remove uses of current_frame_info.
5079 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
5080 (struct machine_function): Add 'frame' and 'insns_len'.
5081 (current_frame_info, zero_frame_info): Remove.
5082 (mips_restore_gp, mips_set_return_address): New.
5083 (mips_initial_elimination_offset): New.
5084 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
5085 (eh_return define_split): Use mips_set_return_address.
5086
d97371e0
NB
50872002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
5088
5089 * cpplib.c (dtable): Update.
5090 (end_directive): Decrement expansion prevention count.
5091 Clear state.in_expression.
5092 (prepare_directive_trad): Set state.in_expression.
5093 Increment expansion prevention count.
5094 * cpptrad.c (enum ls): New.
5095 (_cpp_overlay_buffer): Set overlaid_buffer.
5096 (_cpp_remove_overlay): Use overlaid_buffer.
5097 (_cpp_read_logcial_line_trad): Update buffer when it might
5098 have changed.
5099 (scan_out_logical_line): Handle state transitions for assertions
5100 and defined() in #if, and for funlike invocations including the
5101 directive case. Handle '<' and '>' as a quote mechanism in
5102 #include. Warn about unterminated macro invocations.
5103 * cpphash.h (struct lexer_state): New member in_expression.
5104 (struct cpp_reader): New member overlaid buffer.
5105
807b20b0
HPN
51062002-06-18 Hans-Peter Nilsson <hp@axis.com>
5107
5108 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
5109 __always_inline__.
5110
8a09a7e5
AM
51112002-06-18 Alan Modra <amodra@bigpond.net.au>
5112
147d5f6f
AM
5113 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
5114
8a09a7e5
AM
5115 * doloop.c (doloop_optimize): Extract pattern from insn.
5116
390de769
MK
51172002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
5118
5119 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
5120
0ed4a390 51212002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
5122
5123 * libgcc2.c: Do not include symcat.h or machmode.h.
5124
5c45425b
RH
51252002-06-17 Richard Henderson <rth@redhat.com>
5126
5127 PR target/6922
5128 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
5129
9aa497ae
TT
51302002-06-17 Tom Tromey <tromey@redhat.com>
5131
5132 * dwarfout.c: Include function.h.
5133
7f11f1f9
AS
51342002-06-17 Andreas Schwab <schwab@suse.de>
5135
5136 * print-rtl.c (print_rtx): Print space before vector, not after.
5137 (debug_rtx): Clear sawclose before printing.
5138 (debug_rtx_list): Print newline after each list element.
5139 (debug_rtx_range): Likewise.
5140
df696a75
RH
51412002-06-17 Richard Henderson <rth@redhat.com>
5142
5143 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
5144 (current_function_funcdef_no): Similarly.
5145 * function.c (funcdef_no): Similarly.
5146 (prepare_function_start): Set current_function_funcdef_no.
5147 (expand_function_start): Don't set current_function_profile_label_no.
5148 * dwarf2out.h (current_funcdef_number): Remove.
5149 * dwarf2out.c (current_funcdef_number): Remove. Replace with
5150 current_function_funcdef_no throughout.
5151 * dwarfout.c, vmsdbgout.c: Similarly.
5152 * except.c (sjlj_funcdef_number): Remove.
5153 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
5154 (output_function_exception_table): Likewise.
5155 * final.c (profile_function): Use current_function_funcdef_no
5156 instead of current_function_profile_label_no.
5157
97272202
VM
51582002-06-17 Vladimir Makarov <vmakarov@redhat.com>
5159
5160 * sched-ebb.c (init_ready_list): Check INSN_P first.
5161
8bccce2d
R
5162Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
5163
5164 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
5165
5166 * reload1.c (merge_assigned_reloads): Don't change reloads
5167 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
5168 to RELOAD_OTHER when there are conflicting input reloads.
5169
0af5c896
RE
51702002-06-17 Richard Earnshaw (rearnsha@arm.com)
5171
5172 * function.c (epilogue_done): Correctly build a sequence of insns for
5173 a sibcall epilogue.
5174
9d0fa9d6
NC
51752002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
5176
845b1456
NC
5177 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
5178 #define.
5179
9d0fa9d6
NC
5180 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
5181
e83f3cff
RH
51822002-06-16 Richard Henderson <rth@redhat.com>
5183
5184 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
5185 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
5186
caecc099
RH
51872002-06-16 Richard Henderson <rth@redhat.com>
5188
5189 PR opt/6722
5190 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
5191
3d05b15f
NB
51922002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
5193
caecc099
RH
5194 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
5195 * config/i386/i386-aout.h, config/i386/i386elf.h,
5196 config/i386/sysv4.h: Remove CPP_PREDEFINES.
5197 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
5198 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
5199 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
5200 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 5201 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 5202 * config/i386/sysv4-cpp.h: New.
3d05b15f 5203
8370aa3a
RH
52042002-06-16 Richard Henderson <rth@redhat.com>
5205
65a90f3c 5206 PR c/7030
8370aa3a
RH
5207 * dwarf2out.c (modified_type_die): Don't assign the qualified die
5208 to the unqualified type.
5209
e932b21b
JH
5210Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
5211
5212 * i386-protos.h (x86_field_alignment): Declare.
5213 * i386.c (x86_field_alignment): Define.
5214 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
5215 (BIGGEST_FIELD_ALIGNMENT): Kill.
5216
7ee02381
RH
52172002-06-16 Richard Henderson <rth@redhat.com>
5218
f01a0d8d 5219 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 5220
750491fc
RH
52212002-06-16 Richard Henderson <rth@redhat.com>
5222
5223 * c-common.c (flag_ms_extensions): Move from c++ front end.
5224 * c-common.h (flag_ms_extensions): Declare.
5225 * c-decl.c (c_decode_option): Add -fms-extensions.
5226 (grokfield): Don't accept anonymous structures in ISO C mode;
5227 accept only unnamed anonymous structures in GNU C mode; accept
5228 Plan 9 extensions in MS mode.
5229 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
5230 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
5231 (extension): Clear flag_iso.
5232 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
5233
c134da6b
HPN
52342002-06-16 Hans-Peter Nilsson <hp@axis.com>
5235
5236 PR target/7042
5237 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
5238 early if current_function_epilogue_delay_list is non-empty.
5239 * config/cris/cris.md ("return"): Add sanity check asserting that
5240 current_function_epilogue_delay_list is empty.
5241
038c7976
JL
52422002-06-16 Jeff Law <law@redhat.com>
5243
006a94b0
JL
5244 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
5245 sharing of hard registers.
5246
5247 * toplev.c (rest_of_compilation): Remove redundant conditional.
5248
038c7976
JL
5249 * toplev.c (rest_of_compilation): Perform a simpler, less costly
5250 cleanup of the CFG when not optimizing.
5251
0797741a
AM
52522002-06-16 Alan Modra <amodra@bigpond.net.au>
5253
5254 * gcc.c (main): Correct startfile_prefix_spec check.
5255
a6e2e53e
GK
52562002-06-12 Geoffrey Keating <geoffk@redhat.com>
5257
5258 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
5259 include both darwin.o and rs6000-c.o.
5260
129e0ee8
RS
52612002-06-15 Roger Sayle <roger@eyesopen.com>
5262
5263 * expr.c (compare_from_rtx): Call simplify_relational_operation
5264 on all comparisons, not just those between integer constants,
5265 with the correct (possibly unsigned) comparison code.
5266 (do_compare_rtx_and_jump): Likewise.
5267
d5355cb2
JDA
52682002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
5269
5270 * Makefile.in (tm_defines): New configuration variable.
5271 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
5272 Pass tm_defines in TM_DEFINES.
5273 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
5274 * config.gcc (tm_defines): New configuration variable.
5275 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
5276 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
5277 * configure.in: Substitute tm_defines.
5278 * configure: Rebuilt.
5279 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
5280 * doc/install.texi: Update.
5281 * pa/pa-700.h: Delete file.
5282 * pa/pa-7100.h: Delete file.
5283
8dcb27ed
RS
52842002-06-15 Roger Sayle <roger@eyesopen.com>
5285
5286 * fold-const.c (comparison_to_compcode): New function to convert
5287 an comparison TREE CODE into a bit-based representation.
5288 (compcode_to_comparison): New function to convert from this bit
5289 based representation back to a comparison TREE CODE.
5290 (fold_truthop): Simplify (x<y) && (x==y) and related composite
5291 comparisons.
5292
182e515e
AH
52932002-06-15 Aldy Hernandez <aldyh@redhat.com>
5294
f01a0d8d 5295 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 5296
f01a0d8d
ID
5297 * stor-layout.c (compute_record_mode): Remove check for
5298 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
5299 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
5300 MEMBER_TYPE_FORCES_BLK.
182e515e 5301
f01a0d8d 5302 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 5303
f01a0d8d 5304 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 5305
8773135d
JS
53062002-06-14 Jeff Sturm <jsturm@one-point.com>
5307
5308 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
5309
893a047c
SE
53102002-06-14 Steve Ellcey <sje@cup.hp.com>
5311
5312 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
5313 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
5314 * configure, config.in: Regenerate.
5315
045d7161
EB
53162002-06-14 Eric Botcazou <ebotcazou@multimania.com>
5317
5318 * loop.c (check_final_value): Use v->always_executed
5319 instead of v->always_computable.
5320 * unroll.c (final_giv_value): Don't calculate the final
5321 value as a function of the biv if the giv is not computed
5322 for every loop iteration.
5323
048c8616 53242002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 5325
048c8616
EB
5326 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
5327
43e4a9d8
EB
53282002-06-14 Eric Botcazou <ebotcazou@multimania.com>
5329
52689a98 5330 PR c/6677
43e4a9d8
EB
5331 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
5332 the truncation down when the target type is signed.
5333 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
5334 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
5335 the conversion if the target type is a smaller type.
5336
fa4a5557
RH
53372002-06-14 Richard Henderson <rth@redhat.com>
5338
5339 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
5340 earlier. Re-factor comparisons vs extrema.
5341
d95eb49f
RH
53422002-06-14 Richard Henderson <rth@redhat.com>
5343
5344 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
5345
be202ec2
FS
53462002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5347
5348 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
5349 * sched-deps.c (add_dependence): Likewise.
5350 (group_leader): Likewise.
5351 * sched-rgn.c (init_ready_list): Likewise.
5352 * doc/rtl.texi: Adjust accordingly.
5353
e56c4463
JL
53542002-06-13 Jeffrey Law <law@redhat.com>
5355
99a15921
JL
5356 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
5357 null pointer checks were eliminated. Update prototype.
5358 (delete_null_pointer_checks): Similarly.
5359 * rtl.h (delete_null_pointer_checks): Update prototype.
5360 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
5361 delete_null_pointer_checks deletes one or more null
5362 pointer checks. Do not run cleanup_cfg before gcse, the
5363 CFG is accurate and optimized at that point..
5364
e56c4463
JL
5365 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
5366 of hard registers.
5367
556b821e
UW
53682002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
5369
5370 * Makefile.in (libgcc.mk): Depend on specs.
5371
fa60f36d
R
5372Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
5373
5374 * sh.md (mulsi3): Update way how to find insns in a sequence.
5375
03b8ec29
DD
5376Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
5377
5378 * sh.h: Define HARD_REGNO_RENAME_OK
5379 * sh.c: sh_hard_regno_rename_ok: New. If current function has
5380 interrupt_handler attribute, only registers saved on stack are OK.
5381 * sh-protos.h: Declare sh_hard_regno_rename_ok.
5382
8e831557
KK
53832002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
5384
5385 * config/sh/sh.md (jump): Emit jump insn.
5386 (call_pcrel): Get pattern of the result of gen_call_site.
5387 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
5388
bf9d5852
NB
53892002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
5390
5391 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
5392 * cpptrad.c: Update comments.
5393 (skip_whitespace, copy_comment): Take a new parameter.
5394 (skip_escaped_newlines): Don't duplicate escaped newline test.
5395 (copy_comment): Different location for CUR, decide here how
5396 to copy / replace the comment.
5397 (skip_whitespace): Copy whitespace.
5398 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
5399 (scan_out_logical_line): Let copy comment handle keeping or
5400 replacing comments.
5401 (scan_parameters, _cpp_create_trad_definition): Update.
5402
57292ec3
AL
54032002-06-13 Alan Lehotsky <apl@alum.mit.edu>
5404
5405 * reload.c (get_secondary_mem,find_reloads_address,
5406 find_reloads_address_1): Pass reference to MEM to find_reloads_address
5407 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 5408
a6f5e048
RH
54092002-06-13 Jessica Han <jessica@cup.hp.com>
5410
5411 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
5412 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
5413 * doc/tm.texi: Document them.
5414 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
5415 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
5416 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
5417 (ASM_OUTPUT_FDESC): Likewise.
5418
3aafa0bb
EC
54192002-06-13 Eric Christopher <echristo@redhat.com>
5420
5421 * diagnostic.c (output_format): Fix thinko.
5422
8e581963
R
5423Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
5424
5425 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
5426 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
5427
5428 * config/sh/sh.c (calc_live_regs): Don't use initial_value
5429 optimization for PR_MEDIA_REG.
5430
b66377c1
NB
54312002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
5432
5433 * cpphash.h (_cpp_lex_identifier_trad): Remove.
5434 * cpplib.c (end_directive): Don't skip, always remove overlay
5435 apart from #define.
5436 (prepare_directive_trad): Handle NULL pfile->directive.
5437 (_cpp_handle_directive): Always call prepare_directive_trad
5438 if traditional.
5439 * cppmain.c (check_multiline_token): Rename account_for_newlines,
5440 generalize inputs.
5441 (scan_translation_unit_trad): Use it.
5442 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
5443 output, get escaped newline in comment close correct.
5444 (check_output_buffer, skip_whitespace): Update.
5445 (_cpp_lex_identifier_trad): Remove.
5446 (scan_out_logical_line): Handle -C and comments in directives
5447 properly.
5448
8bc6e101
R
5449Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5450
5451 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
5452 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
5453 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
5454 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
5455 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
5456 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
5457 (SELECT_SH5_COMPACT_NOFPU): Likewise.
5458 (TARGET_SWITCHES): Use them.
5459 (TARGET_CPU_DEFAULT): Define if not already defined.
5460 (TARGET_DEFAULT): Use it.
5461 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
5462 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
5463 * config/sh/t-monolib: New file.
5464
2181005d
RS
54652002-06-13 Roger Sayle <roger@eyesopen.com>
5466
5467 * toplev.c (rest_of_compilation): Simplify (and correct) the
5468 logic of the first delete-null-pointer-checks pass.
5469
aaae0bb9
JH
5470Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
5471
5472 * i386.c (ix86_expand_movstr): Fix pasto.
5473
5474Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
5475
5476 * reload.c (find_valid_class): Fix thinko in my previous patch.
5477
dd3fbd93
UW
54782002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
5479
5480 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
5481 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
5482 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
5483 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
5484
0d0f605c
GDR
54852002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
5486
5487 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 5488 fields.
0d0f605c 5489
c92bcccb
GDR
54902002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
5491
5492 * diagnostic.c (output_format): Recognize "%H" as a format
5493 specifier for a location_t.
5494 (text_specifies_location): New function.
5495 (diagnostic_set_info): Use it.
5496
7f243674
JL
54972002-06-13 Jeffrey Law <law@redhat.com>
5498
6cde4876
JL
5499 * emit-rtl.c (static_regno_reg_rtx): Define.
5500 (init_emit_once): Initialize static_regno_reg_rtx.
5501 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
5502 of building new hard reg objects once per function.
5503 (gen_rtx_REG): Try to share hard regs.
5504 * regclass.c (init_fake_stack_mems): New function broken out from
5505 init_regs.
5506 * rtl.h (init_fake_stack_mems): Declare.
5507 * toplev.c (lang_independent_init): Call init_regs before
5508 init_emit_once. Call init_fake_stack_mems after init_emit_once.
5509
110b3faa
JL
5510 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
5511
7f243674
JL
5512 * alias.c (argument_registers): Remove.
5513 (init_alias_once): Initialize static_reg_base_value here. Remove
5514 initialization of argument_registers.
5515 (init_alias_once_per_function): Remove.
5516 (init_alias_analysis): Copy all the entries from static_reg_base_value
5517 into new_reg_base_value all at once.
5518 * rtl.h (init_alias_once_per_function): Remove declaration.
5519 * function.c (prepare_function_start): Do not call
5520 init_alias_once_per_function.
5521
5522 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
5523 starting a sequence and emitting an INSN.
5524
a336f2e5
RS
55252002-06-13 Richard Sandiford <rsandifo@redhat.com>
5526
5527 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
5528
2acf0fa9
DM
55292002-06-13 David S. Miller <davem@redhat.com>
5530
5531 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
5532
974c43f1
NB
55332002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
5534
5535 * cpplib.c (end_directive): Handle line skipping. Only remove
5536 the rest of the line if the directive was valid.
5537 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
5538 expanding a traditional macro.
5539 * cpptrad.c (recursive_macro): New.
5540 (read_logical_line_trad): Handle skipping.
5541 (scan_out_logical_line): Continue after a successful directive.
5542 Don't expand macros whilst skipping, or if recursing.
5543 (_cpp_create_trad_definition): scan_out_logical_line now sets
5544 the output current position.
5545
12bf26b6
EC
55462002-06-12 Eric Christopher <echristo@redhat.com>
5547
5548 From Chris Demetriou <cgd@broadcom.com>
5549 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
5550 comment.
5551 (ISA_HAS_MADD_MSUB): Ditto.
5552 (ISA_HAS_NMADD_NMSUB): Ditto.
5553
be95b8a5
EC
55542002-06-12 Eric Christopher <echristo@redhat.com>
5555
5556 * config.gcc: Consolidate little endian handling and
5557 little/big endian targets.
5558 * config/mips/elfl.h: Remove file.
5559 * config/mips/elfl64.h: Ditto.
5560 * config/mips/ecoffl.h: Ditto.
5561 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
5562
e03856fe
GK
55632002-06-12 Geoffrey Keating <geoffk@redhat.com>
5564
5565 * gengtype.h (xvasprintf): New prototype.
5566 (xasprintf): New prototype.
5567 (struct outf): New.
5568 (get_output_file): Return an outf_p.
5569 (header_file): Is now an outf_p.
5570 (base_files): Now are outf_p.
5571 (oprintf): New.
5572 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
5573 rather than stdio operations. Use xasprintf in a few places,
5574 when appropriate.
5575 (xvasprintf): New.
5576 (xasprintf): New.
5577 (struct filemap): Delete.
5578 (files): Delete.
5579 (output_files): New.
5580 (oprintf): New.
5581 (create_file): Create an outf_p. Add parameter to indicate output
5582 file name, change all callers.
5583 (open_base_files): Create gtype-desc.c here.
5584 (get_output_file_with_visibility): Rewrite.
5585 (get_output_file_name): Just look at 'name' field in struct outf.
5586 (close_output_files): Rewrite.
5587
ec01703c
JT
55882002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
5589
5590 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 5591 (MASK_G_FLOAT): Define.
ec01703c
JT
5592 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
5593 (TARGET_SWITCHES): Likewise.
5594 (TARGET_DEFAULT): Likewise.
5595
8b0397a6
DJ
55962002-06-12 Daniel Jacobowitz <drow@mvista.com>
5597
5598 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
5599 * config/mips/mips.c (mips_output_filename): Don't print a
5600 ".file" directive if we are using DWARF-2.
5601 (mips_output_function_prologue): Do not emit source file
5602 name for TARGET_GAS.
5603
495333a6
JH
5604Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
5605
5606 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
5607 decide whether emit the short opcode.
5608 * i386.h (x86_shift1): Declare.
5609 (TARGET_SHIFT1): New macro.
5610 * i386.c (x86_shift1): New global variable.
5611
8b0397a6
DJ
5612 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
5613 unconditionally; make loop to rebuild CFG; kill unnecesary
5614 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
5615 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
5616 * haifa-sched.c (sched_init): Likewise.
5617 * ssa-ccp.c (ssa_const_prop): Likewise.
5618 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
5619
d11cea13
DM
56202002-06-11 David S. Miller <davem@redhat.com>
5621
5622 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
5623 active_insn_p.
5624
676997cf
RH
56252002-06-11 Richard Henderson <rth@redhat.com>
5626
5627 * c-common.c (builtin_define_type_max): New.
5628 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
5629 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
5630
5631 From Joseph S. Myers:
5632 * glimits.h: Rewrite to expect the double underscore definitions
5633 from the compiler.
5634
5635 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
5636 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
5637 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
5638 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
5639 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
5640 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
5641 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
5642 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
5643
116b7a5e
RH
56442002-06-11 Richard Henderson <rth@redhat.com>
5645
5646 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
5647 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
5648 (code_for_builtns): Update.
5649 (alpha_init_builtins): Add __builtin_thread_pointer and
5650 __builtin_set_thread_pointer.
5651 (alpha_expand_builtin): Handle void builtins.
5652 * doc/extend.texi (Alpha Built-in Functions): Update.
5653
0cec6af1
HPN
56542002-06-11 Hans-Peter Nilsson <hp@axis.com>
5655
5656 PR target/6997
5657 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
5658
1c0ca89d
ZW
56592002-06-11 Zack Weinberg <zack@codesourcery.com>
5660
5661 * config.gcc: Make the name of the extra-modes file adjustable
5662 by target stanzas.
5663 (s390x, strongarm, xscale stanzas): Use this facility.
5664 * configure.in: Update to match.
5665 * configure: Regenerate.
5666
5dc8d536
AH
56672002-06-11 Aldy Hernandez <aldyh@redhat.com>
5668
1c0ca89d
ZW
5669 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
5670 max/mins as unsigned GE compares.
5dc8d536 5671
169274cd
JT
56722002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
5673
1c0ca89d 5674 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
5675 * config/vax/bsd.h: New file.
5676 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
5677 (CPP_PREDEFINES): Remove.
5678 (TARGET_OS_CPP_BUILTINS): Define.
5679 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
5680 * config/vax/openbsd.h: Update copyright years.
5681 (CPP_PREDEFINES): Remove.
5682 (TARGET_OS_CPP_BUILTINS): Define.
5683 * config/vax/ultrix.h: Likewise.
5684 * config/vax/vaxv.h: Likewise.
5685 * config/vax/vms.h: Likewise.
5686 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
5687 (CPP_PREDEFINES, CPP_SPEC): Remove.
5688
2f41793e
JH
5689Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
5690
5691 * i386.md (addqi_1_slp, subqi_1_slp
5692 (andqi_ext0, testqi_ext0): Remove unnecesary check.
5693 (addhi*, addqi*): Simplify "dec" condition.
5694 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
5695 (and, or, xor to QImode splitters): New.
5696 (iorqi_ext*): New.
5697 (xorqi_ext_0): New.
5698 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
5699 (andqi_ext_1_rex64): New.
5700 (ashrqi*_slp): New.
5701 (ashlqi*_slp): New.
5702 (lshlqi*_slp): New.
5703 (rotrqi3*_slp): New.
5704 (rotlqi3*_slp): New.
5705
fc5c400a
GK
57062002-06-11 Geoffrey Keating <geoffk@redhat.com>
5707
4c4eb375
GK
5708 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
5709 softfloat.h.
5710 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
5711 (CPP_ENDIAN_LITTLE_SPEC): Delete.
5712 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
5713 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
5714 __LONG_DOUBLE_128__ setting, _CALL_* setting.
5715 (CPP_DEFAULT_SPEC): Delete.
5716 (CPP_FLOAT_DEFAULT_SPEC): Delete.
5717 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
5718 (CPP_SYSV_DEFAULT_SPEC): Delete.
5719 (CPP_ENDIAN_BIG_SPEC): Delete.
5720 (CPP_ENDIAN_LITTLE_SPEC): Delete.
5721 (CPP_ENDIAN_SPEC): Delete.
5722 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
5723 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
5724 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
5725 cpp_longdouble_default.
5726 * config/rs6000/softfloat.h: Delete.
5727 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
5728 (EXTRA_SPECS): Delete cpp_cpu.
5729 (TARGET_CPU_CPP_BUILTINS): New.
5730 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
5731 prototype.
5732 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
5733 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
5734 (CPP_DEFAULT_SPEC): Delete.
5735 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
5736 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
5737 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
5738 (CPP_DEFAULT_SPEC): Delete.
5739 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
5740 (CPLUSPLUS_CPP_SPEC): Likewise.
5741 (CPP_CPU_SPEC): Delete.
5742 (CPP_DEFAULT_SPEC): Delete.
5743 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
5744 (CPLUSPLUS_CPP_SPEC): Likewise.
5745 (CPP_CPU_SPEC): Delete.
5746 (CPP_DEFAULT_SPEC): Delete.
5747 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
5748 (CPP_DEFAULT_SPEC): Delete.
5749 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
5750 (CPP_DEFAULT_SPEC): Delete.
5751
fc5c400a
GK
5752 * doc/gty.texi: Small updates.
5753
13f0d49c
GDR
57542002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
5755
5756 * objc/objc-act.c (warn_with_ivar): Adjust calls to
5757 diagnostic_count_error.
5758 (warn_with_method): Likewise.
5759
5760 * diagnostic.h (warnings_are_errors_message): New field of
5761 diagnostic_context.
5762 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
5763 match semantics.
5764 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
5765 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 5766 diagnostics.
13f0d49c
GDR
5767 (diagnostic_initialize): Initialize warnings_are_errors_message field.
5768
0797e472
TT
57692002-06-11 Tom Tromey <tromey@redhat.com>
5770
5771 For PR java/6520:
5772 * fold-const.c (fold_convert): Don't modify existing tree's type.
5773
f288d4aa
GK
57742002-06-11 Geoffrey Keating <geoffk@redhat.com>
5775
5776 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
5777
d27bab4c
RH
57782002-06-11 Richard Henderson <rth@redhat.com>
5779
5780 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
5781
bc2a8f08
RH
57822002-06-11 Richard Henderson <rth@redhat.com>
5783
1c0ca89d 5784 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
5785 DWARF2_UNWIND_INFO is false.
5786
b217ec1b
BW
57872002-06-11 Bob Wilson <bob.wilson@acm.org>
5788
5789 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
5790
11819f80
UW
5791 * config/s390/s390.c (emit_prologue): gen_store_multiple
5792 returns an insn now, not a pattern.
5793
c2727579
RO
57942002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5795
5796 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
5797 $(TEXI2DVI) -o.
5798
285464d0
JH
5799Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
5800
5801 * i386.c (x86_promote_QImode): Set for Athlon
5802 (x86_fast_prefix): New global variable.
5803 (x86_arch_always_fancy_math_387): Fix formating.
5804 * i386.h (x86_fast_prefix): Declare
5805 (TARGET_FAST_PREFIX): define.
5806 * i386.md (and to strict_low_part, HI to SI
5807 promoting splitter): Use new macro.
5808
5809 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
5810
1bb1f121
ZW
58112002-06-11 Zack Weinberg <zack@codesourcery.com>
5812
5813 * Makefile.in (distclean): Delete junk left in testsuite
5814 directory, too.
5815
88c65786
JL
58162002-06-11 Jeffrey Law <law@redhat.com>
5817
c6a3fcf0
JL
5818 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
5819 last insn created by the splitter.
5820
0db79a6b
JL
5821 * caller-save.c (init_caller_save): Move creation of SAVEINSN
5822 and RESTINSN into into the scope of the sequence.
5823
47eb2ca8
JL
5824 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
5825 RETURN insns.
5826
603b4b92
JL
5827 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
5828
88c65786
JL
5829 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
5830 not the pattern. So extract the pattern from the insn.
882c7223
JL
5831
5832 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
5833
df14489a
UW
58342002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
5835
5836 * config/s390/s390.md (movsi): Only use floating point
5837 register alternatives when operands are already fprs.
5838 (movdi_31, movdi_64): Likewise.
5839
6f9703af
DM
58402002-06-11 David S. Miller <davem@redhat.com>
5841
5842 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
5843 Only run RTX equality checks on INSN_P rtl.
5844
b2ccb744
UW
58452002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
5846
5847 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 5848 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 5849 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 5850 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
5851 s390_asm_output_pool_prologue): Likewise.
5852 * s390.h (s390_pool_start_insn): Likewise.
5853
1c0ca89d 5854 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
5855 old-style pool chunks.
5856 (s390_function_epilogue): Likewise.
1c0ca89d 5857 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
5858 alignment for 64-bit literal pools.
5859 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 5860 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
5861 old-style pool chunks.
5862 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
5863 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
5864 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
5865
5866 * s390.c (consttable_operand): New function.
5867 * s390-protos.h (consttable_operand): Declare it.
5868 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
5869 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
5870 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
5871 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
5872 * s390.c (struct constant, struct constant_pool): New data types.
5873 (constant_modes, gen_consttable): New variables.
1c0ca89d 5874 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 5875 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 5876 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
5877 overflow handling.
5878
5879 * s390.c (s390_pool_overflow): New variable.
5880 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 5881 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
5882 jumps in literal pool overflow situations.
5883
5884 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 5885 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
5886 by new literal pool overflow code.
5887 (s390_emit_prologue): Likewise.
5888
2f937369
DM
58892002-06-05 David S. Miller <davem@redhat.com>
5890
5891 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
5892 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
5893 emit_insns_before_scope, emit_insns_after,
5894 emit_insns_after_scope): Delete declaration.
5895 * ada/misc.c (insert_code_for): Use emit_insn* instead of
5896 emit_insns_foo.
5897 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
5898 (alpha_set_memflags): Fix comment.
5899 (set_frame_related_p): Use get_insns instead of gen_sequence.
5900 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
5901 emitting no insns.
5902 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
5903 gen_sequence.
5904 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
5905 * config/fr30/fr30.c (fr30_move_double): Likewise.
5906 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
5907 Likewise.
5908 * config/ia64/ia64.c (spill_restore_mem): Likewise.
5909 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
5910 no insns.
5911 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
5912 instead of gen_sequence.
5913 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
5914 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
5915 * config/sh/sh.c (sh_need_epilogue): Likewise.
5916 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
5917 attributes.
5918 (setjmp pattern and split): Use them to avoid splitter which emits
5919 no RTL.
5920 * genattrtab.c (main): Emit include of function.h
5921 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
5922 get_insns instead of gen_sequence.
5923 * config/cris/cris.c (cris_split_movdx): Likewise.
5924 * emit-rtl.c (emit_insns*): Kill.
5925 (try_split): Expect insn list instead of SEQUENCE.
5926 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
5927 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
5928 Make them abort if a SEQUENCE is given and RTL checking is
5929 enabled.
5930 (emit_*_scope): Don't forget to set scope on final insn.
5931 (gen_sequence): Move from here...
5932 * ssa.c (gen_sequence): To here as private function.
5933 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
5934 comments.
5935 (expand_builtin_return, expand_builtin_mathfn): Likewise.
5936 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
5937 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
5938 (expand_builtin_expect_jump): Use get_insns and fix comments.
5939 * calls.c (try_to_integrate): Use emit_insn_foo.
5940 (expand_call, emit_library_call_value_1): Likewise.
5941 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
5942 (emit_move_insn_1): Use get_insns instead of gen_sequence.
5943 (expand_expr): Use emit_insn_foo.
5944 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
5945 * except.c (build_post_landing_pads): Likewise.
5946 * flow.c (attempt_auto_inc): Likewise.
5947 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
5948 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
5949 * function.c (fixup_var_refs_insn): Use get_insns instead of
5950 gen_sequence.
5951 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
5952 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
5953 (fixup_stack_1, purge_addressof_1, expand_main_function,
5954 get_arg_pointer_save_area): Likewise.
5955 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
5956 expand_function_end): Use emit_insn_foo.
5957 (record_insns, keep_stack_depressed): Work with insn list instead
5958 of SEQUENCE, fix comments.
5959 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
5960 noce_try_store_flag_constants, noce_try_store_flag_inc,
5961 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
5962 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
5963 (noce_process_if_block): Use get_insns instead of gen_sequence.
5964 * optabs.c (add_equal_note): Work with insn list, fix comments.
5965 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
5966 (expand_unop, expand_complex_abs, expand_unop_insn,
5967 expand_no_conflict_block): Likewise.
5968 (gen_move_insn): Use get_insns instead of gen_sequence.
5969 (gen_cond_trap): Likewise.
5970 * integrate.c (copy_rtx_and_substitute): Likewise.
5971 (emit_initial_value_sets): Use emit_insn_foo.
5972 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
5973 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
5974 now that RTL generators give insn lists.
5975 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
5976 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
5977 instead of gen_sequence.
5978 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
5979 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
5980 instead of gen_sequence.
5981 * loop.c (move_movables, emit_prefetch_instructions,
5982 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
5983 Likewise.
5984 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
5985 (product_cheap_p): Likewise, and add commentary about RTL wastage
5986 here.
5987 * lcm.c (optimize_mode_switching): Use get_insns instead of
5988 gen_sequence.
5989 * profile.c (gen_edge_profiler): Likewise.
5990 * regmove.c (copy_src_to_dest): Likewise.
5991 * reg-stack.c (compensate_edge): Likewise and fix comment.
5992 * gcse.c (process_insert_insn): Likewise.
5993 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
5994 * jump.c (delete_prior_computation): Update comment.
5995 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
5996 of gen_sequence, update comments to match.
5997 * recog.c (peephole2_optimize): Work with insn lists instead of
5998 SEQUENCE rtl.
5999 * sched-vis.c (print_pattern): Abort on SEQUENCE.
6000 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
6001 Use get_insns instead of gen_sequence.
6002 (copy_loop_body): Likewise and don't emit dummy NOTE.
6003 * genrecog.c: Don't mention SEQUENCE rtl in comments.
6004 * combine.c (try_combine): Expect insn lists from split generator.
6005 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
6006 hand.
1c0ca89d 6007
43cf10b5
RS
60082002-06-11 Roger Sayle <roger@eyesopen.com>
6009 Andreas Jaeger <aj@suse.de>
6010
6011 * cfgbuild.c: Update copyright years.
6012
1062f15a
AS
60132002-06-11 Andreas Schwab <schwab@suse.de>
6014
1c0ca89d 6015 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 6016
ce3649d2
EC
60172002-06-11 Eric Christopher <echristo@redhat.com>
6018
6019 * doc/tm.texi (Run-time Target): Add comment about flag_iso
6020 and strict ANSI.
6021 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
6022 * config/mips/ecoffl.h: Ditto.
6023 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
6024 (CPP_PREDEFINES): Ditto.
6025 * config/mips/elfl64.h: Ditto.
6026 * config/mips/elfl.h: Ditto.
6027 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
6028 out until irix header consolidation.
6029 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
6030 with SUBTARGET_OS_CPP_BUILTINS.
6031 * config/mips/iris6.h: Ditto.
6032 (CPLUSPLUS_CPP_SPEC): Remove.
6033 * config/mips/linux.h: Ditto.
6034 * config/mips/netbsd.h: Ditto.
6035 * config/mips/openbsd.h: Ditto.
6036 * config/mips/rtems.h: Ditto.
6037 * config/mips/rtems64.h: Ditto.
6038 * config/mips/sni-svr4.h: Ditto.
6039 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
6040 ISA_MIPS32, ISA_MIPS64): New defines.
6041 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
6042 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
6043 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
6044 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
6045 (TARGET_CPU_CPP_BUILTINS): Define.
6046 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
6047 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
6048 (movdicc): Remove check for ISA_MIPS32.
6049 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
6050 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
6051 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
6052 sunge_sf, sunle_df, sunle_sf): New patterns.
6053
bc3437ba
NB
60542002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
6055
6056 * Makefile.in: Update cppmain.o.
6057 * cpphash.h (struct cpp_reader): Move some members to a
6058 nested structure.
6059 (trad_line): Rename saved_line.
6060 (_cpp_read_logical_line_trad): Update.
6061 (_cpp_remove_overlay): New.
6062 * cppinit.c (cpp_create_reader): No need to set saved_line.
6063 (cpp_destroy): Update.
6064 (cpp_read_main_file): Only overlay if compiling.
6065 * cpplex.c (continue_after_nul): Return false if in directive.
6066 * cpplib.c (EXPAND): New.
6067 (directive_table, SEEN_EOL): Update.
6068 (end_directive): Remove overlay if traditional; don't skip
6069 line in traditional #define.
6070 (prepare_directive_trad): New.
6071 (_cpp_handle_directive, run_directive): Update for traditional
6072 directives.
6073 (lex_macro_node): Simplify, don't use lex_identifier_trad.
6074 * cpplib.h (struct options): Add preprocess_only.
6075 * cppmain.c: Don't include intl.h.
6076 (cpp_preprocess_file): Set options->preprocess_only.
6077 (scan_translation_unit_trad): Fix, and print line numbers.
6078 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
6079 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
6080 save_replacement_text, _cpp_create_trad_definition): Update for
6081 variable renaming.
6082 (_cpp_overlay_buffer): Save line number.
6083 (_cpp_remove_overlay): Rename from restore_buff, restore line.
6084 (_cpp_read_logical_line_trad): Don't handle overlays here.
6085 (scan_out_logical_line): Process directives.
6086
b25bb36a
DS
60872002-06-11 Danny Smith <dannysmith@users.sourforge.net>
6088
6089 * gthr-win32.h: Wrap functions in extern "C".
6090 (__gthread_key_t): Typedef as unsigned long,
6091 not win32 DWORD.
6092 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
6093 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
6094 (__gthr_win32_once, __gthr_win32_key_create,
6095 __gthr_win32_key_delete, __gthr_win32_getspecific,
6096 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
6097 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
6098 __gthr_win32_mutex_unlock): Declare.
6099 (__gthread_once,__gthread_key_create,
6100 __gthread_key_delete, __gthread_getspecific,
6101 __gthread_setspecific, __gthread_mutex_init_function,
6102 __gthread_mutex_lock,__gthread_mutex_trylock,
6103 __gthread_mutex_unlock): Call corresponding
6104 __gthr_win32_* extern implementations if #defined
6105 __GTHREAD_HIDE_WIN32API.
6106 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 6107 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
6108 * config/i386/gthr-win32.c: New implementation file.
6109 (__gthr_win32_once, __gthr_win32_key_create,
6110 __gthr_win32_key_delete, __gthr_win32_getspecific,
6111 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
6112 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
6113 __gthr_win32_mutex_unlock): New functions, based on
6114 static inlines in gthr-win32.h.
6115
a69c385e
BW
61162002-06-10 Bob Wilson <bob.wilson@acm.org>
6117
6118 * config/xtensa/xtensa.c (override_options): Don't warn about
6119 using -fpic or -fPIC when PIC is enabled by default.
6120
e654730d
RS
61212002-06-10 Roger Sayle <roger@eyesopen.com>
6122
6123 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
6124
a5381466
ZW
61252002-06-10 Zack Weinberg <zack@codesourcery.com>
6126
6127 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 6128 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
6129 exists, substitute its pathname as @extra_modes_file@, define
6130 EXTRA_MODES_FILE to be an appropriate string to #include it
6131 with, and define EXTRA_CC_MODES to 1.
6132
6133 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
6134 it's defined. Get rid of redundancy in calling sequence for
6135 CC; don't use it to define CCmode, to avoid a warning.
6136 * libgcc2.c: Include symcat.h for the sake of machmode.def.
6137
6138 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
6139 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
6140 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
6141 New files.
6142 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
6143 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
6144
6145 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
6146 defining extra CC modes.
6147
852c6ec7
RS
61482002-06-10 Roger Sayle <roger@eyesopen.com>
6149 Andreas Jaeger <aj@suse.de>
6150
6151 * cfgrtl.c (create_basic_block_structure): Remove index argument
6152 and use last_basic_block++ instead. (create_basic_block): Update.
6153 * cfgbuild.c (find_basic_blocks_1): Likewise.
6154
6155 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
6156 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
6157 * sched-ebb.c (schedule_ebbs): Likewise.
6158 * sched-rgn.c (schedule_insns): Likewise.
6159 * ssa-ccp.c (ssa_const_prop): Likewise.
6160 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
6161 * toplev.c (rest_of_compilation): Likewise.
6162 * config/ia64/ia64.c (ia64_reorg): Likewise.
6163
60c86d4e
RS
61642002-06-10 Roger Sayle <roger@eyesopen.com>
6165
6166 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
6167 of matching registers.
6168
9543a9d2
RS
61692002-06-10 Roger Sayle <roger@eyesopen.com>
6170
6171 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
6172 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
6173
38e18619
HPN
61742002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
6175
6176 * config/mmix/mmix.h: Improve comments.
6177 (CPP_SPEC, CPP_PREDEFINES): Don't define.
6178 (TARGET_CPU_CPP_BUILTINS): Define.
6179 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
6180 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
6181 unused predicate.
6182 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
6183 compiler warning.
6184 (mmix_constant_address_p): Remove another
6185 redundant test before case.
6186 (mmix_canonicalize_comparison): Remove unused function.
6187 (mmix_print_operand_address): Don't test and adjust for operand in
6188 non-canonical format.
6189 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
6190 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
6191
ac17cd8f
ZW
61922002-06-10 Zack Weinberg <zack@codesourcery.com>
6193
6194 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
6195 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
6196 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
6197 (gen_compare): Use CCmode unconditionally.
6198
7b668f9e
JJ
61992002-06-10 Jakub Jelinek <jakub@redhat.com>
6200
6201 PR optimization/6759
6202 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
6203 the REQ_EQUAL note.
6204
85d49058
JJ
62052002-06-10 Jakub Jelinek <jakub@redhat.com>
6206
6207 PR c/6660
6208 * c-decl.c (grokfield): Allow user defined types if they declare
6209 structs or unions for unnamed fields.
6210
50f30e6b
JJ
62112002-06-10 Jakub Jelinek <jakub@redhat.com>
6212
6213 PR c/6809
6214 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
6215
156755ac
JJ
62162002-06-10 Jakub Jelinek <jakub@redhat.com>
6217
6218 PR optimization/6842
6219 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
6220 operand subreg cannot be simplified.
6221
5d056e9b
JJ
62222002-06-10 Jakub Jelinek <jakub@redhat.com>
6223
6224 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
6225 (compare_constant): Likewise.
6226 (output_addressed_constants): Likewise.
6227
2bf87216
JJ
62282002-06-10 Jakub Jelinek <jakub@redhat.com>
6229
6230 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
6231 merge bb with itself.
6232
135fd2d8
RH
62332002-06-10 Richard Henderson <rth@redhat.com>
6234
6235 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
6236 (builtin_zapnot): Likewise.
6237
6238 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
6239 reservation.
6240
fce5a9f2
EC
62412002-06-10 Eric Christopher <echristo@redhat.com>
6242
6243 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
6244 prototype and function.
6245 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
6246 (call_insn_operand): Remove half pic references.
6247 (legitimate_address_p): Ditto.
6248 * config/i386/i386.h: Remove half pic defines.
6249
95b1627e
EC
62502002-06-10 Eric Christopher <echristo@redhat.com>
6251
6252 * doc/extend.texi (Return Address): Add note explaining the side-
6253 effects of inlining on __builtin_return_address.
6254
aea185b3
TT
62552002-06-10 Tom Tromey <tromey@redhat.com>
6256
6257 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
6258 (c-common.o): Depend on langhooks.h.
6259
afb03408
NB
62602002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
6261
6262 * cpphash.h (_cpp_read_logical_line_trad,
6263 _cpp_expansions_different_trad): Update prototypes.
6264 * cpplex.c (continue_after_nul): New.
6265 * cppmain.c: Include cpphash.h.
6266 (scan_translation_unit_trad): New.
6267 (cpp_preprocess_file): Call it.
6268 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
6269 overlay.
6270 (_cpp_expansions_different_trad): Update prototype.
6271
2754d3c5
R
6272Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
6273
6274 Fix cfi generation for SH[1-4]:
6275
6276 * sh.c (frame_insn): New function.
6277 (output_stack_adjust): Add parameter emit_fn. All callers changed.
6278 (push): Now returns rtx. Use frame_insn.
6279 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
6280 of a DF register.
6281 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
6282
ad854f24
ZW
62832002-06-10 Zack Weinberg <zack@codesourcery.com>
6284
6285 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
6286 and gtype-desc.c.
6287 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
6288 (distclean): ... not here. But do delete all testsuite/*.log,
6289 testsuite/*.sum files here. Delete mkheaders. Delete
6290 po/*.gmo and the testsuite directory in a split tree build.
6291
bf1660a6
JL
62922002-06-10 Jeffrey Law <law@redhat.com>
6293
6294 * alias.c (static_reg_base_value): New to hold RTL for
6295 items allocated once per function for the aliasing code.
6296 (init_alias_once_per_function): Initialize static_reg_base_value.
6297 (init_alias_analysis): Avoid throw-away allocations of RTL by
6298 using pre-computed values in static_reg_base_value.
6299 * function.c (prepare_function_start): Call
6300 init_alias_once_per_function appropriately.
6301 * rtl.h (init_alias_once_per_function): Declare.
6302 * caller-save (init_caller_save): Restructure slightly to
6303 avoid lots of silly RTL generation.
6304 * expr.c (init_expr_once): Likewise.
6305 * reload1.c (reload_cse_regs_1): Allocate throw-away register
6306 RTL object here. Pass it into children.
6307 (reload_cse_simplify_operands): Use passed-in register RTL
6308 object.
6309 (reload_cse_simplify): Pass through throw-away register
6310 RTL object.
6311
8dc58484 63122002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 6313
8dc58484
DB
6314 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
6315
ea16b5ee
RS
63162002-06-10 Richard Sandiford <rsandifo@redhat.com>
6317
6318 * gcc.c (process_command): Avoid assignment to read-only location.
6319 Fix sizeof calculation.
6320
6618c5d4
NB
63212002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
6322
6323 * cpphash.h (struct cpp_macro): Put comments on their own lines.
6324 (_cpp_expansions_different_trad): New.
6325 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
6326 * cpptrad.c (canonicalize_text): New.
6327 (scan_out_logical_line): Handle no arguments correctly.
6328 (save_replacement_text): Commit memory when finished.
6329 (_cpp_expansions_different_trad): New.
6330
96e3ac4f
TJ
63312002-06-10 Tim Josling <tej@melbpc.org.au>
6332
6333 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
6334 TREELANG and COBOL.
6335 (lang_names): Add treelang and cobol.
6336 (get_file_basename): Add code to support treelang and cobol as
6337 4th and 5th users of c-common.c.
6338
37a4aa31
GK
63392002-06-09 Geoffrey Keating <geoffk@redhat.com>
6340
6341 * Makefile.in (install-driver): Install driver as
6342 $(target_alias)-gcc-$(version).
6343 * gcc.c (spec_version): Make const.
6344 (process_command): Handle -V and -b by using exec.
6345 * doc/invoke.texi (Target Options): Restore -V option,
6346 update docs for -b option.
6347
02ef40d9
TJ
63482002-06-10 Tim Josling <tej@melbpc.org.au>
6349
ad854f24
ZW
6350 * configure.in (remaining_languages_check):
6351 Added check that all languages specified were found.
02ef40d9
TJ
6352 Exit if not found. Previous behaviour was silent failure.
6353 * configure: Regenerated.
6354
b38b97c4 63552002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 6356
1c0ca89d 6357 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
6358 instructions in sourcebuild.texi. Also add to gcc.c list of
6359 default languages.
ad854f24 6360
b38b97c4
TJ
6361 * doc/contrib.texi: Add self as contributor of treelang.
6362
6363 * doc/frontends.texi: Add mention of treelang.
6364
6365 * doc/invoke.texi (Overall Options): Add mention of treelang.
6366
6367 * doc/standards.texi: Add mention of treelang.
6368
ae9dbf1f
HPN
63692002-06-09 Hans-Peter Nilsson <hp@axis.com>
6370
6371 * config/cris/cris.c: Include ggc.h
6372
1ce676a0
NB
63732002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
6374
6375 * cpphash.h (_cpp_push_text_context): Update.
6376 (_cpp_arguments_ok): New.
6377 * cppmacro.c (_cpp_arguments_ok): New, split out from...
6378 (collect_args): ...here.
6379 (_cpp_push_text_context): Change inputs.
6380 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
6381 replace_args_and_push): New.
6382 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
6383 Don't use IS macros directly.
6384 (scan_out_logical_line): Handle function-like macro argument
6385 collection.
6386 (push_replacement_text): Update.
6387 (replacement_length): Remove.
6388 (_cpp_create_trad_definition): Don't skip whitespace before
6389 checking for '('.
6390
25f2e176
MM
63912002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
6392
6393 * config/avr/avr.c (avr_mcu_types): Update for new devices.
6394 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
6395 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
6396 * config/avr/avr.md ("type" and "length" attributes): New type
6397 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
6398 output a single "call" or "rcall" insn depending on device size.
6399 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
6400
309323c2
DE
64012002-06-09 David Edelsohn <edelsohn@gnu.org>
6402
6403 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
6404 synonym for 630. Add power4. Remove embedded processors. Use -m604
6405 assembler option.
6406 (CPP_CPU_SPEC): Add power3 and power4.
6407 (PROCESSOR_DEFAULT): Change to 604e.
6408 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
6409 (CPP_CPU_SPEC): Similar additions.
6410 (enum process_type): Add POWER4.
6411 (RTX_COSTS): Add POWER4.
6412 (CPP_CPU_SPEC): Similar additions.
6413 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 6414 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
6415 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
6416 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
6417 branch adjustment.
6418 (rs6000_issue_rate): Add Power4.
6419 * config/rs6000/rs6000.md (cpu attr): Add power4.
6420 (iu compare): Remove 604, 604e, 620, 630.
6421 Add basic Power4 scheduling information.
6422 (mfcr/mtcrf): Change type attribute to cr_logical.
6423
1f8e4682
KG
64242002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6425
57d80297
KG
6426 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
6427 ATTRIBUTE_PRINTF_2.
6428 * gengtype-lex.l: Fix format specifier warning.
6429
1f8e4682
KG
6430 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
6431 not isspace.
6432 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
6433 lieu of isspace/IDchar.
6434 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
6435 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
6436 ISSPACE.
6437
5a9ee623
ZW
64382002-06-08 Zack Weinberg <zack@codesourcery.com>
6439
6440 * Makefile.in (LIBCPP_OBJS): Take out version.o.
6441 * cpphash.h (cpp_reader): Take out print_version member.
6442 * cppinit.c: (cpp_handle_option): Don't do anything with
6443 -version. Just set help_only for --version, --target-help.
6444 Just set verbose option for -v.
6445 (cpp_post_options): Don't print a version string.
6446
c16e5a35
MM
64472002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
6448
6449 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
6450 (avr_section_type_flags): New, handle .noinit* sections.
6451
79bc889e
JT
64522002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6453
6454 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
6455 and include netbsd_entry_point.
6456 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
6457 (NETBSD_ENTRY_POINT): Define.
6458
6a79bb0a
JT
64592002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6460
6461 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 6462 if not already defined.
6a79bb0a
JT
6463 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
6464
e52b6b63
MM
64652002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
6466
6467 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
6468 in a noreturn function.
6469 (avr_output_function_prologue, avr_output_function_epilogue):
6470 Correct function size calculation. Do not crash on empty function.
6471 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
6472
1569d670
JT
64732002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6474
6475 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
6476 netbsd_link_spec and netbsd_entry_point.
6477 (LINK_SPEC): Use %(netbsd_link_spec).
6478 (NETBSD_ENTRY_POINT): Define.
6479
cfb06024
JT
64802002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6481
6482 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
6483 linker emulation.
6484 (LINK_ARCH64_SPEC): Likewise.
6485 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
6486 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
6487
5a9ee623
ZW
64882002-06-08 Marc Espie <espie@openbsd.org>
6489
6490 * lists.c (free_list): Fix typo in comment.
e3623158 6491
272cdf58
AJ
64922002-06-08 Andreas Jaeger <aj@suse.de>
6493
6494 * lcm.c (optimize_mode_switching): Add unused attribute for
6495 variable.
6496
6497 * sched-deps.c (sched_analyze): Remove unused variable.
6498
bf3f2a12
GDR
64992002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
6500
6501 * diagnostic.def: Don't capitalize diagnostict descriptors.
6502
523a5f2f
JT
65032002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6504
6505 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
6506 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
6507 (NETBSD_ENTRY_POINT): Define.
6508
a3e944f9
JT
65092002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6510
6511 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
6512 NETBSD_LINK_SPEC_ELF.
6513 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
6514 (NETBSD_ENTRY_POINT): Define.
6515 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
6516 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
6517 netbsd_entry_point.
6518 (NETBSD_ENTRY_POINT): Define.
6519
854928a0
JT
65202002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6521
6522 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
6523 netbsd_link_spec and netbsd_entry_point.
6524 (LINK_SPEC): Use %(netbsd_link_spec).
6525 (NETBSD_ENTRY_POINT): Define.
6526
6bb5d2e7
JT
65272002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
6528
6529 * config/netbsd-elf.h (LINK_SPEC): Rename to...
6530 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
6531 to specify program entry point.
6532
e50126e8
JL
65332002-06-07 Jeff Law <law@redhat.com
6534
6535 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 6536 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
6537 than creating a new register.
6538 (distribute_notes): Likewise.
6539 * df.c (df_reg_use_gen): Likewise.
6540 (df_reg_clobber_gen): Likewise.
6541 (df_ref_record): Likewise.
6542 * expr.c (use_regs): Likewise.
6543 * flow.c (propagate_one_insn): Likewise.
6544 (mark_set_1): Likewise.
6545 (mark_used_reg): Likewise.
6546 * reload.c (emit_reload_insns): Likewise.
6547
bc9c18c3
RS
65482002-06-07 Roger Sayle <roger@eyesopen.com>
6549
6550 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
6551 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
6552 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
6553 comparison code comp can be reversed.
6554
437f1df1
RS
65552002-06-07 Roger Sayle <roger@eyesopen.com>
6556
6557 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
6558 constants last in comparisons. Optimize (x+1.0)>0.0 into the
6559 equivalent x > -1.0 when -ffast-math.
6560
cd24b8a4
JT
65612002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
6562
6563 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
6564 * config/mips/t-netbsd: New file.
6565
09e77dee
ZW
65662002-06-07 Zack Weinberg <zack@codesourcery.com>
6567
6568 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
6569 options their own entries.
6570 (parse_option): Clarify comment.
6571 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
6572 special case. Replace if/strcmp chain for -W options with
6573 use of new OPT_* entries for them.
6574 (cpp_handle_options): Update to match.
6575 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
6576 * c-decl.c: Update call to cpp_handle_option.
6577
942030dc
AD
65782002-06-07 Akim Demaille <akim@epita.fr>
6579
6580 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
6581 Whitespace changes.
6582
f2846820
JL
65832002-06-07 Jeffrey Law <law@redhat.com>
6584
6585 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
6586 on empty lists.
6587
4bafaa6f
L
65882002-06-07 H.J. Lu (hjl@gnu.org)
6589
6590 * configure.in: Add --enable-__cxa_atexit.
6591 * configure: Regenerated.
6592 * config.in: Likewise.
6593
6594 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
6595 not defined.
6596
caef5b46
GDR
65972002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
6598
6599 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
6600
ac64a17c
JT
66012002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
6602
6603 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
6604
97459791
JM
66052002-06-07 Jason Merrill <jason@redhat.com>
6606
6607 * cppexp.c (num_equality_op): Use a temporary variable to work
6608 around gcc 3.0.4 bug.
6609
4b1d52c7
GDR
66102002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
6611
6612 * diagnostic.c (diagnostic_build_prefix): Tidy.
6613
c70f6ed3
NB
66142002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
6615
6616 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
6617 scan_parameters, save_replacement_text, replacement_length): New.
6618 (scan_out_logical_line): Take a macro and save parameters if
6619 non-NULL.
6620 (_cpp_logical_line_trad): Update.
6621 (_cpp_create_trad_definition): Update to handle function-like
6622 macros.
6623 * cpplex.c (new_buff): Update.
6624 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
6625 * cpphash.h: ...here.
6626 (CPP_ALIGN2, _cpp_save_parameter): New.
6627 * cppmacro.c (save_parameter): Rename, export.
6628 (parse_params): Update.
6629
aec2ac46
AJ
66302002-06-07 Andreas Jaeger <aj@suse.de>
6631
6632 * config/mmix/mmix.c: Remove extra broken prototype for
6633 mmix_init_machine_status.
6634
9f313342
GK
66352002-06-06 Geoffrey Keating <geoffk@redhat.com>
6636
6637 * gengtype.c: Add comments before all the routines.
6638
3fa1b448
JT
66392002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
6640
6641 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
6642 from and add t-sh64 to ${tmake_file}.
6643 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
6644 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
6645 * config/sh/t-netbsd-sh5-32: Remove.
6646 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
6647 MULTILIB_ENDIAN.
6648 (MULTILIB_DIRNAMES): Define.
6649
0d682900
JH
6650Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
6651
6652 * i386.md (and promoting splitters): Disable QI to SImode promoting
6653 when doing so changes immediate to be 32bit.
6654
6655 * rtl.h (emit_*_scope): Declare.
6656 * emit-rtl.c (emit_*_scope): New global functions.
6657 (try_split): Copy scope.
6658 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
6659 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
6660 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
6661 noce_process_if_block, find_cond_trap): Copy scopes.
6662 * recog.c (peephole2_optimize): likewise.
6663
c991649c
JL
66642002-06-06 Jeffrey Law <law@redhat.com>
6665
6666 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
6667
8a5d66c4
R
6668Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
6669
6670 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
6671
d7f8491b
RO
66722002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6673
6674 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
6675 ($(docdir)/gccinstall.info): New target.
6676 (info): Depend on it.
6677 (gccinstall.dvi): New target.
6678 (dvi): Depend on it.
6679 * doc/.cvsignore: Ignore new info files.
6680 * doc/install.texi (@setfilename): Reflect new info filename.
6681
eaeb7de8
R
6682Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
6683
6684 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
6685 on an UNSPEC.
6686
0c7aeb88
NP
6687Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
6688
6689 PR objc/6834
6690 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
6691 c_common_get_alias_set.
aec2ac46 6692 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 6693
2a496e8b
JDA
66942002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
6695
6696 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
6697 functions.
6698 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
6699 * avr/avr.c (avr_output_function_epilogue): Use above to determine
6700 function size.
6701 * pa/pa.c (pa_output_function_prologue): Likewise.
6702
2ff581c3
DM
67032002-06-05 David S. Miller <davem@redhat.com>
6704
6705 * integrate.c (subst_constants): Handle 'B' RTL format.
6706
b2e2d0cc
EC
67072002-06-05 Eric Christopher <echristo@redhat.com>
6708
6709 * varasm.c (make_decl_rtl): Fix comment for removed
6710 halfpic.c.
6711
0f81faf6
EC
67122002-06-05 Eric Christopher <echristo@redhat.com>
6713
6714 * Makefile.in: Remove missed halfpic bits.
6715
33005162
EC
67162002-06-05 Eric Christopher <echristo@redhat.com>
6717
6718 * toplev.c: Remove half-pic.
6719 * config/mips/mips.c: Ditto.
6720 * config/mips/mips.h: Ditto. Remove unused defines.
6721 * config/mips/openbsd.h: Update comment to reflect above.
6722 * config/mips/mips.md: Remove half-pic constraints.
6723 * halfpic.h: Delete.
6724 * halfpic.c: Ditto.
6725
80081028
JL
67262002-06-05 Jeffrey Law <law@redhat.com>
6727
5a9ee623
ZW
6728 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
6729 rejects (mem (lo_sum (reg) (unspec))), but will allow
6730 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 6731
cbc69f84
NB
67322002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
6733
6734 * cpphash.h (_cpp_create_definition): Update prototype.
6735 (_cpp_push_text_context, _cpp_create_trad_definition): New.
6736 ( cpp_lex_identifier_trad): New.
6737 (_cpp_set_trad_context): New.
6738 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
6739 * cpplib.c (SEEN_EOL): Update.
6740 (lex_macro_node): Update for -traditional.
6741 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
6742 * cppmacro.c (_cpp_create_definition): Split into
6743 create_iso_definition() and _cpp_create_trad_definition().
6744 (warn_of_redefinition): Update prototype; handle traditional
6745 macros.
6746 (_cpp_push_text_context): New.
6747 * cpptrad.c (skip_whitespace, push_replacement_text): New.
6748 (lex_identifier): Call ht_lookup with correct start.
6749 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
6750 _cpp_set_trad_context): New.
6751 (scan_out_logical_line): Update to handle changing contexts.
6752
dbf87f32
R
6753Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
6754
6755 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
6756 (shl*-*-elf*): Add.
6757 * config/sh/t-be (MULTILIB_ENDIAN): Set.
6758 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
6759 * t-sh (MULTILIB_ENDIAN): Set.
6760 (MULTILIB_OPTIONS): Use it.
6761 * t-sh64 (MULTILIB_OPTIONS): Likewise.
6762 (MULTILIB_DIRNAMES): Likewise.
6763
47b69537
GDR
67642002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
6765
6766 * toplev.h (report_error_function): Remove.
6767
6768 * diagnostic.h (location_t): New datatype.
6769 (text_info): Likewise.
6770 (diagnostic_info): Likewise.
6771 (output_prefix): New macro.
6772 (diagnostic_last_function_changed): Likewise.
6773 (diagnostic_set_last_function): Likewise.
6774 (diagnostic_last_module_changed): Likewise.
6775 (diagnostic_set_last_module): Likewise.
6776 (report_diagnostic): Now macro.
6777 (diagnostic_set_info): Declare.
6778
6779 * diagnostic.c (report_problematic_module): Rename to
33005162 6780 diagnostic_repor_current_module.
47b69537
GDR
6781 (set_diagnostic_context): Remove.
6782 (count_error): Rename to diagnostic_error_count.
6783 (error_function_changed): Remove.
6784 (record_last_error_function): Likewise.
6785 (error_module_changed): Likewise.
6786 (record_last_error_module): Likewise.
6787 (context_as_prefix): Rename to diagnostic_build_prefix.
6788 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
6789 (diagnostic_set_info): New function.
6790
6791 * objc/objc-act.c: #include diagnostic.h
6792 (error_with_ivar): Adjust call to count_error.
6793 (warn_with_method): Likewise.
6794 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
6795
540eaea8
BW
67962002-06-05 Bob Wilson <bob.wilson@acm.org>
6797
6798 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
6799 lang_hooks.types.make_type instead of make_node; set up
6800 __va_list_tag type decl.
6801 (xtensa_builtin_saveregs): Remove broken use of
6802 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
6803 for saved registers; add varargs alias set.
6804
f23a084d
NB
68052002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
6806
6807config:
6808 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
6809 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
6810 CPP_PREDEFINES and part of CPP_SPEC.
6811 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
6812 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
6813
3fe3a596
JH
6814Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
6815
6816 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
6817
1fd9ba59
AM
68182002-06-05 Alan Modra <amodra@bigpond.net.au>
6819
6820 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
6821
cea554e0
ZW
68222002-06-04 Zack Weinberg <zack@codesourcery.com>
6823
6824 * gengtype-yacc.y: Make sure all rules end with a semicolon.
6825
07232638
BW
68262002-06-04 Bob Wilson <bob.wilson@acm.org>
6827
6828 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
6829 typo in function prototype and include "ggc.h" header.
6830
c4b50f1a
RH
68312002-06-04 Richard Henderson <rth@redhat.com>
6832
6833 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
6834 (print_operand) ['U']: Likewise.
6835 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
6836 (alpha_expand_unaligned_store_words): Likewise.
6837 (alpha_expand_builtin_vector_binop): Fix typo.
6838 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
6839 umulh, and cix insns.
6840 (one_arg_builtins): Add cix builtins.
6841 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
6842 (alpha_expand_builtin): Fix typo in arity.
6843 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
6844 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
6845 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
6846 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
6847 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
6848 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
6849 builtin_ctlz, builtin_ctpop): New.
6850 * doc/extend.texi (Alpha Built-in Functions): Update.
6851
aaab35ae
GK
68522002-06-04 Geoffrey Keating <geoffk@redhat.com>
6853
afb0f770
GK
6854 * gengtype.c (write_gc_root): Don't unnecessarily prevent
6855 global variable-length arrays being roots.
6856
aaab35ae
GK
6857 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
6858 * configure.in (config_gtfiles): New variable.
6859 (all_gtfiles): Initialise from config_gtfiles.
6860 * configure: Regenerate.
6861
1ba7b414
NB
68622002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
6863
6864config/i386:
6865 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
6866 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
6867 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
6868 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
6869 win32.h (CPP_SPEC): Remove cpp_cpu.
6870 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
6871 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
6872
135ca7b2
JJ
68732002-06-04 Janis Johnson <janis187@us.ibm.com>
6874
6875 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
6876
85d69216 68772002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
6878 David Edelsohn <edelsohn@gnu.org>
6879 Michael Matz <matz@kde.org>
85d69216
JL
6880
6881 * sched-int.h (struct deps): New field libcall_block_tail_insn.
6882 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
6883 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
6884 is set, then mark the current insn as being part of a libcall
6885 scheduling group.
6886 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
6887
6888 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
6889 insns against the issue rate.
6890
63f4a88e
JH
6891Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
6892
6893 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
6894 * final.c (final_scan_insn): Likewise.
6895 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
6896 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
6897 * haifa-sched.c (unlink_other_notes): Likeewise.
6898 (reemit_notes): Likewise.
6899 * print-rtl.c (print_rtx): Likewise.
6900 * sched-deps (sched-analyze): Likewise.
6901 * rtl.c (note_insn_name): Likewise.
6902 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
6903 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
6904 (RANGE_*): Kill.
6905
a5d1f75b
JT
69062002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
6907
6908 * varasm.c (mark_constants): Handle RTX format 'B'.
6909
82eda77e
NB
69102002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
6911
6912 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
6913 (struct cpp_context): Add traditional fields.
6914 * cppmacro.c (paste_all_tokens, push_ptoken_context,
6915 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
6916 * cpptrad.c (skip_comment, lex_identifier,
6917 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
6918
589005ff
KH
69192002-06-04 Kazu Hirata <kazu@cs.umass.edu>
6920
6921 * gbl-ctors.h: Fix formatting.
6922 * gcc.c: Likewise.
6923 * gccspec.c: Likewise.
6924 * gcov.c: Likewise.
6925 * gcov-io.h: Likewise.
6926 * gcse.c: Likewise.
6927 * ggc-common.c: Likewise.
6928 * ggc.h: Likewise.
6929 * ggc-page.c: Likewise.
6930 * ggc-simple.c: Likewise.
6931 * global.c: Likewise.
6932 * graph.h: Likewise.
6933 * gthr-dce.h: Likewise.
6934 * gthr.h: Likewise.
6935 * gthr-posix.h: Likewise.
6936 * gthr-rtems.h: Likewise.
6937 * gthr-solaris.h: Likewise.
6938 * gthr-win32.h: Likewise.
6939
e2500fed
GK
69402002-06-03 Geoffrey Keating <geoffk@redhat.com>
6941
6942 Merge from pch-branch:
33005162 6943
e2500fed
GK
6944 * gengtype.h (UNION_OR_STRUCT_P): New macro.
6945 * gengtype.c (write_gc_structure_fields): Use it.
6946 (write_gc_root): Use it here too.
6947
6948 * gengtype.c (write_gc_structure_fields): Assume that lengths
6949 of typenames fit into an 'int'; don't pass a size_t to "%d" in
6950 printf.
6951 (write_gc_marker_routine_for_structure): Likewise.
6952 (write_gc_types): Likewise.
6953 (write_gc_root): Likewise.
6954
6955 * varray.h (VARRAY_CLEAR): New.
6956 (varray_clear): Prototype.
6957 * varray.c (varray_clear): New.
6958 * cselib.c (reg_values_old): New.
6959 (used_regs_old): New.
6960 (cselib_init): Use cached varrays if available to avoid
6961 generating large amounts of garbage.
6962 (cselib_finish): Don't throw away old varrays.
6963
6964 * final.c (insn_addresses_): Move out of ifdef.
6965
6966 * varray.c (uses_ggc): Make more varray kinds GCable.
6967 * varray.h (union varray_data_tag): Let gengtype see
6968 fields 'generic' and 'te'.
6969 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
6970 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
6971 (reg_to_stack): Don't call VARRAY_FREE.
6972 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
6973 (insn_addresses_): Use gengtype to mark.
6974 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
6975 pointers; handle generic pointers in unused union fields.
6976 (get_output_file_with_visibility): Include cselib.h,
6977 insn-addr.h in gtype-desc.c.
6978 * function.c (prologue): Use gengtype to mark.
6979 (epilogue): Likewise.
6980 (sibcall_epilogue): Likewise.
6981 * dependence.c: Include gt-dependence.h, ggc.h.
6982 (struct def_use): Use gengtype to mark.
6983 (struct loop): Likewise.
6984 (struct induction): Likewise.
6985 (struct dependence): Likewise.
6986 (def_use_chain): Likewise.
6987 (dep_chain): Likewise.
6988 (loop_chain): Likewise.
6989 (induction_chain): Likewise.
6990 (init_dependence_analysis): Don't free anything, just clear pointers.
6991 (build_def_use): Use GGC to allocate def_use.
6992 (add_loop): Use GGC to allocate loop.
6993 (find_induction_variable): Use GGC to allocate induction.
6994 (check_node_dependence): Use GGC to allocate induction, dependence.
6995 (dump_node_dependence): Don't free varrays.
6996 (end_dependence_analysis): Likewise.
6997 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
6998 (struct elt_loc_list): Likewise.
6999 (struct elt_list): Likewise.
7000 * cselib.c: Don't include obstack.h.
7001 (hash_table): Use gengtype to mark.
7002 (reg_values): Use gengtype to mark.
7003 (used_regs): Use gengtype to mark.
7004 (cselib_obstack): Delete.
7005 (cselib_startobj): Delete.
7006 (empty_vals): Mark as deletable.
7007 (empty_elt_lists): Mark as deletable.
7008 (empty_elt_loc_lists): Mark as deletable.
7009 (new_elt_list): Use GGC to allocate struct elt_list.
7010 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
7011 (clear_table): Don't delete obstack; don't unnecessarily clear
7012 deletable variables.
7013 (new_cselib_val): Use GGC to allocate struct cselib_val.
7014 (cselib_init): Don't set up obstacks. Use GGC to allocate
7015 hash table.
7016 (cselib_finish): Just clear variables, don't free anything.
7017 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
7018 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
7019 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
7020 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
7021 (gt-reg-stack.h): New rule.
7022 (gt-dependence.h): New rule.
7023 (gtype-desc.o): Add cselib.h, insn-addr.h.
7024
7025 * varray.c: Use only necessary headers.
7026 (element_size): New.
7027 (uses_ggc): New.
7028 (varray_init): Take type, not size. Use GGC if appropriate.
7029 (varray_grow): Update for change to struct varray_head_tag.
7030 Use GGC if appropriate.
7031 * varray.h (struct const_equiv_data): Use gengtype.
7032 (enum varray_data_enum): New.
7033 (union varray_data_tag): Use gengtype.
7034 (struct varray_head_tag): Use gengtype. Replace size field with
7035 enum varray_data_enum.
7036 (varray_init): Update prototype.
7037 (VARRAY_SCHED_INIT): Delete.
7038 (VARRAY_*_INIT): Update for change to varray_init.
7039 (VARRAY_SCHED): Delete.
7040 (VARRAY_PUSH_SCHED): Delete.
7041 (VARRAY_TOP_SCHED): Delete.
7042 * tree.h: Update for change to length specifier.
7043 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
7044 (clone_body): Likewise.
7045 * ssa.h (ssa_definition): Use gengtype to mark.
7046 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
7047 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
7048 * rtl.h (struct rtvec_def): Update for change to length specifier.
7049 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
7050 (struct initial_value_struct): Update for change to length specifier.
7051 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
7052 (ggc_add_tree_varray_root): Delete prototype.
7053 (ggc_mark_rtx_varray): Delete prototype.
7054 (ggc_mark_tree_varray): Delete prototype.
7055 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
7056 (ggc_add_tree_varray_root): Delete.
7057 (ggc_mark_rtx_varray): Delete.
7058 (ggc_mark_tree_varray): Delete.
7059 (ggc_mark_rtx_varray_ptr): Delete.
7060 (ggc_mark_tree_varray_ptr): Delete.
7061 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
7062 (create_varray): Delete prototype.
7063 * gengtype.c (varrays): Delete.
7064 (create_varray): Delete.
7065 (adjust_field_type): Detect array of string pointers.
7066 (process_gc_options): Remove code to handle varray_type option.
7067 (set_gc_used_type): Remove TYPE_VARRAY case.
7068 (output_escaped_param): New.
7069 (write_gc_structure_fields): Use output_escaped_param on all
7070 parameters. Handle 'skip' with 'use_param' option. Handle
7071 arrays of strings. Remove TYPE_VARRAY handling.
7072 (write_gc_roots): Use boolean to detect 'length' option.
7073 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
7074 (struct_fields): Call adjust_field_type on array fields.
7075 (type): Remove VARRAY_TYPE case.
7076 (type_option): Likewise.
7077 * gengtype-lex.l: Don't consider varray_type a keyword.
7078 * function.h: Update for change to length specifier.
7079 (free_eh_status): Delete prototype.
7080 * function.c (free_after_compilation): Don't call free_eh_status.
7081 (reorder_blocks): Don't use VARRAY_FREE.
7082 * except.c (struct eh_status): Update for change to length specifier.
7083 remove varray_type specifier.
7084 (free_eh_status): Delete.
7085 * dwarf2out.c: Include gt-dwarf2out.h.
7086 (used_rtx_varray): Use gengtype to mark, move
7087 outside ifdefs.
7088 (incomplete_types): Likewise.
7089 (decl_scope_table): Likewise.
33005162 7090 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
7091 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
7092 * c-tree.h (struct lang_type): Update for change to length specifier.
7093 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
7094 * c-objc-common.c: Include gt-c-objc-common.h.
7095 (deferred_fns): Mark for gengtype.
7096 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
7097 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
7098 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
7099 (gtype-desc.o): Update dependencies.
7100 (dwarf2out.o): Add gt-dwarf2out.h.
7101 (varray.o): Update dependencies.
7102 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
7103 (gt-c-objc-common.h): New rule.
7104 (gt-dwarf2out.h): New rule.
7105 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
7106
7107 * doc/gty.texi (GTY Options): Correct spelling.
7108 (GGC Roots): Likewise.
7109 * Makefile.in (TEXI_CPP_FILES): New.
7110 (TEXI_GCC_FILES): New.
7111 (TEXI_GCCINT_FILES): New.
7112 (TEXI_CPPINT_FILES): New.
7113 ($(docdir)/cpp.info): Use new macros.
7114 ($(docdir)/gcc.info): Likewise.
7115 ($(docdir)/gccint.info): Likewise.
7116 ($(docdir)/cppinternals.info): Likewise.
7117 (cpp.dvi): Likewise.
7118 (gcc.dvi): Likewise.
7119 (gccint.dvi): Likewise.
7120 (cppinternals.dvi): Likewise.
7121
7122 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
7123 * doc/gccint.texi (Top): Include gty.texi.
7124 * doc/gty.texi: New file.
7125
7126 * bitmap.c: Include ggc.h, gt-bitmap.h.
7127 (bitmap_ggc_free): New.
7128 (bitmap_elem_to_freelist): New.
7129 (bitmap_element_free): Use bitmap_elem_to_freelist.
7130 (bitmap_element_allocate): Allow use of GGC.
7131 (bitmap_clear): Use bitmap_elem_to_freelist.
7132 (bitmap_copy): Update for change to bitmap_element_allocate.
7133 (bitmap_set_bit): Likewise.
7134 (bitmap_operation): Update for changes elsewhere.
7135 (bitmap_initialize): Allow to create bitmaps that will use GGC.
7136 * bitmap.h (struct bitmap_element_def): Use gengtype.
7137 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
7138 (bitmap_initialize): Add extra parameter.
7139 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
7140 (BITMAP_ALLOCA): Delete.
7141 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
7142 (BITMAP_GGC_ALLOC): New.
7143 * Makefile.in (gtype-desc.o): Add bitmap.h.
7144 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
7145 (GTFILES): Add bitmap.c.
7146 (gt-bitmap.h): New rule.
7147 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
7148 * basic-block.h: Update for changes to bitmap_initialize.
7149 * except.c (exception_handler_label_map): Move into...
7150 (struct eh_status): Here.
7151 (struct eh_region): Make 'aka' GCable.
7152 (free_eh_status): Don't need to specially handle
7153 exception_handler_label_map.
7154 (add_ehl_entry): Update for changes to exception_handler_label_map.
7155 (find_exception_handler_labels): Likewise.
7156 (remove_exception_handler_label): Likewise.
7157 (maybe_remove_eh_handler): Likewise.
7158 (for_each_eh_label): Likewise.
7159 (remove_eh_handler): Allocate 'aka' using GGC.
7160 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
7161 to list of includes.
7162
7163 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 7164 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
7165 (write_gc_types): Arrange for the tests with NULL to be inlined.
7166 (write_gc_roots): Update uses of procedure pointers.
7167 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
7168
7169 * Makefile.in (explow.o): Add dependency on gt-explow.h.
7170 (sdbout.o): Add dependency on gt-sdbout.h.
7171
7172 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
7173 (mem_attrs_htab): Likewise.
7174 (init_emit_once): Don't call ggc_add_deletable_htab.
7175 * fold-const.c (size_htab): Use gengtype to clear unused entries.
7176 (size_int_type_wide): Don't call ggc_add_deletable_htab.
7177 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
7178 parameters, use them, change callers.
7179 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
7180 (write_gc_roots): Handle 'if_marked' option.
7181 (main): Don't need to call set_gc_used_type any more.
7182 * ggc.h (ggc_htab_marked_p): Delete.
7183 (ggc_htab_mark): Delete.
7184 (struct ggc_cache_tab): New.
7185 (gt_ggc_cache_rtab): New declaration.
7186 * ggc-common.c (struct d_htab_root): Delete.
7187 (d_htab_roots): Delete.
7188 (ggc_add_deletable_htab): Delete.
7189 (ggc_htab_delete): Handle new htab-deleting mechanism.
7190 (ggc_mark_roots): Use new htab-deleting mechanism.
7191 * tree.c (type_hash_table): Use gengtype to clear unused entries.
7192 Make static.
7193 (init_obstacks): Don't call ggc_add_deletable_htab.
7194
7195 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
7196 (struct hashed_entry): Likewise.
7197 (nst_method_hash_list): Likewise.
7198 (cls_method_hash_list): Likewise.
7199 (HASH_ALLOC_LIST_SIZE): Delete.
7200 (ATTR_ALLOC_LIST_SIZE): Delete.
7201 * objc/objc-act.c (hash_init): Use ggc to allocate
7202 nst_method_hash_list, cls_method_hash_list.
7203 (hash_enter): Use ggc to allocate; allocate one entry at a time.
7204 (hash_add_attr): Likewise.
7205 (ggc_mark_hash_table): Delete.
7206 (objc_act_parse_init): Delete.
7207 (objc_init): Delete reference to objc_act_parse_init.
7208 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
7209 obstack.h. Replace references to 'struct hash_table' with htab_t.
7210 (struct symbol_hash_entry): Replace hash header with key field.
7211 (struct file_hash_entry): Replace hash header with key field.
7212 (struct demangled_hash_entry): Replace hash header with key field.
7213 (hash_string_eq): New.
7214 (hash_string_hash): New.
7215 (symbol_hash_newfunc): Delete.
7216 (symbol_hash_lookup): Modify to use htab_t.
7217 (file_hash_newfunc): Delete.
7218 (file_hash_lookup): Modify to use htab_t.
7219 (demangled_hash_newfunc): Delete.
7220 (demangled_hash_lookup): Modify to use htab_t.
7221 (tlink_init): Modify to use htab_t.
7222 * hash.h: Delete.
7223 * hash.c: Delete.
7224 * ggc.h: Delete forward structure declarations.
7225 Delete prototypes for deleted functions.
7226 * ggc-common.c: Don't include hash.h.
7227 (ggc_add_tree_hash_table_root): Delete.
7228 (ggc_mark_tree_hash_table_entry): Delete.
7229 (ggc_mark_tree_hash_table): Delete.
7230 (ggc_mark_tree_hash_table_ptr): Delete.
7231 * gengtype.c (write_gc_structure_fields): Allow param_is option.
7232 (write_gc_marker_routine_for_structure): Use visibility of
7233 the parameter if there is one.
7234 * function.c: Replace hash.h with hashtab.h. Replace references
7235 to 'struct hash_table *' with htab_t.
7236 (struct insns_for_mem_entry): Include a plain key.
7237 (fixup_var_refs_insns_with_hash): Update to use htab_t.
7238 (insns_for_mem_newfunc): Delete.
7239 (insns_for_mem_hash): Update to use htab_t.
7240 (insns_for_mem_comp): Likewise.
7241 (insns_for_mem_walk): Likewise.
7242 * c-lang.c: Include ggc.h.
7243 * Makefile.in (OBJS): Remove hash.o.
7244 (c-lang.o): Add GGC_H.
7245 (COLLECT2_OBJS): Remove hash.o.
7246 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
7247 (ggc-common.o): Remove hash.h.
7248 (function.o): Remove hash.h, add HASHTAB_H.
7249 (genautomata.o): Remove hash.h, add HASHTAB_H.
7250
7251 * varasm.c (mark_const_str_htab_1): Delete.
7252 (mark_const_str_htab): Delete.
7253 (const_str_htab_del): Delete.
7254 (const_str_htab): Use gengtype to mark.
7255 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
7256 allocate them.
7257 * tree.c (mark_tree_hashtable_entry): Delete.
7258 (mark_tree_hashtable): Delete.
7259 * tree.h (mark_tree_hashtable): Delete prototype.
7260 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
7261 (ggc_mark): Likewise.
7262 (ggc_calloc): New.
7263 (htab_create_ggc): New.
7264 * ggc-common.c (ggc_calloc): New.
7265 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
7266 (struct type): Add param_struct structure.
7267 * gengtype.c (param_structs): New.
7268 (adjust_field_type): Handle param_is option.
7269 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
7270 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
7271 (write_gc_structure_fields): Add new PARAM parameter. Update
7272 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
7273 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
7274 Use it to generate function name. Update callers.
7275 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
7276 Process them.
7277 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
7278 option.
7279 (main): Define PTR as pointer-to-scalar. Don't specially
7280 mark deferred_string or ehl_map_entry.
7281 * gengtype-yacc.y (PARAM_IS): Add new token.
7282 (externstatic): Use adjust_field_type.
7283 (type_option): Add PARAM_IS.
7284 * gengtype-lex.l: Add rule for typedef of function pointers.
7285 Add rule for PARAM_IS.
7286 (IWORD): Add size_t.
7287 * except.c (exception_handler_label_map): Use gengtype to mark.
7288 (type_to_runtime_map): Likewise.
7289 (mark_ehl_map_entry): Delete.
7290 (mark_ehl_map): Delete.
7291 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
7292 (t2r_mark_1): Delete.
7293 (t2r_mark): Delete.
7294 * Makefile.in (gtype-desc.o): Correct dependencies.
7295 (GTFILES): Add hashtab.h.
7296 (genautomata.o): Actually uses hashtab.h.
7297
7298 * Makefile.in (stringpool.o): Add $(GGC_H).
7299 (dwarf2asm.o): Likewise.
7300 (GTFILES): Add hashtable.h.
7301 * c-common.h (struct c_common_identifier): Use gengtype.
7302 * c-decl.h (c_mark_tree): Delete.
7303 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
7304 * c-tree.h (struct lang_identifier): Use gengtype.
7305 (union lang_tree_node): New.
7306 (c_mark_tree): Delete prototype.
33005162 7307 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
7308 dwarf2_debug_hooks.
7309 * gengtype-lex.l (IWORD): Allow 'bool'.
7310 (ptr_alias): Match.
7311 * gengtype-yacc.y (ALIAS): New token.
7312 (type_option): New rule.
7313 (option): Use type_option.
7314 * gengtype.c (process_gc_options): New.
7315 (set_gc_used_type): Use it.
7316 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
7317 Add new variable 't' to hold the type of the field being processed.
7318 Add more error checking. Use UNION_P when looking at 'desc' option.
7319 Handle language-specific structures containing other
7320 language-specific structures.
7321 (write_gc_types): Handle 'ptr_alias' option.
7322 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
7323 * ggc-common.c (ggc_pending_trees): Delete.
7324 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
7325 (ggc_mark_trees): Delete.
7326 (gt_ggc_m_tree_node): Delete.
7327 * ggc.h (ggc_pending_trees): Delete.
7328 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
7329 * hashtable.h (ht_identifier): Use gengtype.
7330 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
7331 * langhooks.h (struct lang_hooks): Delete mark_tree.
7332 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
7333 anyway.
7334 * system.h: Poison LANG_HOOKS_MARK_TREE.
7335 * tree.c (tree_node_structure): New.
7336 * tree.h (struct tree_common): Use gengtype.
7337 (struct tree_int_cst): Likewise.
7338 (struct tree_real_cst): Likewise.
7339 (struct tree_string): Likewise.
7340 (struct tree_complex): Likewise.
7341 (struct tree_vector): Likewise.
7342 (struct tree_identifier): Likewise.
7343 (struct tree_list): Likewise.
7344 (struct tree_vec): Likewise.
7345 (struct tree_exp): Likewise.
7346 (struct tree_block): Likewise.
7347 (struct tree_type): Likewise.
7348 (struct tree_decl): Likewise.
7349 (enum tree_structure_enum): New.
7350 (union tree_node): Use gengtype, with an alias.
7351 (tree_node_structure): Prototype.
7352 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
7353
7354 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
7355 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
7356 to LANG_HOOKS_FUNCTION_FINAL.
7357 * Makefile.in (GTFILES): Add bitmap.h.
7358 * except.c (struct eh_region): Mark field 'aka' to be skipped.
7359
7360 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
7361 (alpha_init_machine_status): Give proper type.
7362 * Makefile.in (c-lang.o): Depend on gtype-c.h.
7363 (optabs.o): Depend on gt-optabs.h.
7364 (GTFILES): Add optabs.o.
7365 (gt-optabs.h): Add rule.
7366 * optabs.c: Include gt-optabs.h.
7367
7368 * gengtype.c (set_gc_used_type): Correct some errors in last change.
7369 (write_gc_structure_fields): If a field which should be NULL is
7370 not, abort.
7371 * c-pragma.c: Move struct align_stack and variable alignment_stack
7372 out from the ifdef.
7373
7374 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
7375 * config/xtensa/xtensa.c: Include gt-cris.h.
7376 (struct machine_function): Use gengtype to mark.
7377 * config/mmix/mmix.h (struct machine_function): Use gengtype
7378 to mark.
7379 * config/cris/t-cris: Add dependencies for gt-cris.h.
7380 * config/cris/cris.c: Include gt-cris.h.
7381 (struct machine_function): Use gengtype to mark.
7382 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
7383 to mark.
7384 * doc/tm.texi (Per-Function Data): Delete references to
7385 mark_machine_status.
7386 * config/ia64/ia64.c (ia64_override_options): Don't set
7387 mark_machine_status.
7388 * config/i386/i386.c (override_options): Likewise.
7389 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
7390 * config/arm/arm.c (arm_init_expanders): Likewise.
7391 * config/alpha/alpha.c (override_options): Likewise.
33005162 7392 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
7393 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
7394 (write_gc_structure_fields): Don't handle 'really' option.
7395 Handle 'maybe_null' option.
7396 (write_gc_types): Handle 'maybe_null' option.
7397 * function.h (struct function): Don't use "really".
7398 (mark_machine_status): Delete declaration.
7399 (mark_lang_status): Delete declaration.
7400 (gt_ggc_mr_machine_function): Delete prototype.
7401 (gt_ggc_mr_language_function): Delete prototype.
7402 * function.c (mark_machine_status): Delete.
7403 (mark_lang_status): Delete.
7404 (gt_ggc_mr_machine_function): Delete.
7405 (gt_ggc_mr_language_function): Delete.
7406 * c-tree.h (mark_c_function_context): Delete prototype.
7407 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
7408 * c-decl.c (struct language_function): Rename from struct
7409 c_language_function. Update uses. Use gengtype to mark.
7410 (mark_c_function_context): Delete.
7411 * c-common.h (struct c_language_function): Rename from struct
7412 language_function.
7413 (mark_stmt_tree): Delete prototype.
7414 (c_mark_lang_decl): Delete prototype.
7415 (mark_c_language_function): Delete prototype.
7416 * c-common.c (mark_stmt_tree): Delete.
7417 (c_mark_lang_decl): Delete.
7418 (mark_c_language_function): Delete.
7419
7420 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
7421 (lang_bitmap): New typedef. Use where appropriate.
7422 (struct type): Add gc_used field, lang_struct field.
7423 (UNION_P): New macro.
7424 (new_structure): New prototype.
7425 (find_structure): Remove 'pos' parameter. Change all callers.
7426 * gengtype-lex.l: Update for changes to find_structure.
7427 * gengtype-yacc.y (typedef_struct): Use new_structure.
7428 (yacc_ids): Suppress warning.
7429 (type): Use new_structure.
7430 * gengtype.c (string_type): Update for changes to struct type.
7431 (find_structure): Just find a structure, don't worry about
7432 creating one.
7433 (new_structure): New.
7434 (note_yacc_type): Use new_structure.
7435 (set_gc_used_type): New.
7436 (set_gc_used): New.
7437 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
7438 (write_gc_types): Handle TYPE_LANG_STRUCT.
7439 (write_gc_marker_routine_for_structure): New.
7440 (main): Call set_gc_used. Add some calls to set_gc_used_type
7441 for places where GCC doesn't use gengtype properly yet.
7442 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
7443 (gt_ggc_m_tree_node): Likewise.
7444
7445 * varasm.c (copy_constant): Call expand_constant if we hit
7446 something we can't recognise.
7447
7448 * ggc-common.c (ggc_mark_rtvec_children): Delete.
7449 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
7450 (lang_mark_false_label_stack): Delete.
7451 * rtl.h (struct rtvec_def): Use gengtype to mark.
7452 * ggc.h (ggc_mark_rtvec): Delete.
7453 (gt_ggc_m_rtvec_def): Delete.
7454 (ggc_mark_nonnull_tree): Delete.
7455 (ggc_mark_rtvec_children): Delete prototype.
7456 (lang_mark_false_label_stack): Delete declaration.
7457
7458 * gengtype.h (note_yacc_type): Add prototype.
7459 * gengtype.c (note_yacc_type): New function.
7460 * gengtype-lex.l: Add lexer support for yacc files.
7461 * gengtype-yacc.y (start): Extract union from yacc files.
7462 (yacc_union): New rule.
7463 (yacc_typematch): New rule.
7464 (yacc_ids): New rule.
7465 (enum_items): Tweak for efficiency.
7466 (optionseq): Likewise.
7467
7468 * c-common.h (struct language_function): Use gengtype.
7469 (struct c_lang_decl): Likewise.
7470 * c-tree.h (struct lang_decl): Likewise.
7471 (struct lang_type): Likewise.
7472 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
7473 tree language substructures.
7474
7475 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
7476 ggc_mark_tree.
7477 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
7478
7479 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
7480
7481 * stmt.c (struct nesting): Add discriminator. Use gengtype to
7482 mark. Remove 'data.block.cleanup_ptr' field.
7483 (struct stmt_status): Use usual technique to mark struct nesting.
7484 (gt_ggc_mr_nesting_cond): Delete.
7485 (gt_ggc_mr_nesting_loop): Delete.
7486 (gt_ggc_mr_nesting_block): Delete.
7487 (gt_ggc_mr_nesting_case_stmt): Delete.
7488 (expand_start_cond): Set discriminator.
7489 (expand_start_loop): Likewise.
7490 (expand_start_null_loop): Likewise.
7491 (expand_start_bindings_and_block): Set discriminator. Don't set
7492 deleted fields.
7493 (expand_decl_cleanup): Replace 'cleanup_ptr' with
7494 &thisblock->data.block.cleanups.
7495 (expand_start_case): Set discriminator.
7496 (expand_start_case_dummy): Set discriminator.
7497
7498 * ggc-callbacks.c: Remove.
7499
7500 * gengtype.h (struct type): Add 'u.s.bitmap' field.
7501 (find_structure): Add 'pos' parameter.
7502 * gengtype-lex.l: Update callers to find_structure.
7503 * gengtype-yacc.y: Likewise.
7504 * gengtype.c (find_structure): Allow for structures to be defined
7505 in multiple language backends.
7506 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
7507 (counter): Rename to gc_counter.
7508 (write_gc_structure_fields): Fail when writing out fields for
7509 an incomplete structure. Ignore arrays of scalars. Handle
7510 'tree_vec' special.
7511 (write_gc_types): Reset counter for each procedure written.
7512
7513 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
7514 (free_case_nodes): Delete.
7515 (expand_end_case_type): Delete call to free_case_nodes.
7516
7517 * Makefile.in (cselib.o): Include gt-<filename>.h.
7518 (gcse.o): Likewise.
7519 (profile.o): Likewise.
7520 (alias.o): Likewise.
7521 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
7522 alphabetize backend files.
7523 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
7524 * alias.c: Use gengtype for roots.
7525 * c-common.h (struct stmt_tree_s): Use gengtype.
7526 * c-decl.c: Use gengtype for roots.
7527 * cselib.c: Use gengtype for roots.
7528 * expr.c: Use gengtype for roots.
7529 * fold-const.c: Use gengtype for roots.
7530 * gcse.c: Use gengtype for roots.
7531 * gengtype-lex.l: Handle typedefs of function types.
7532 Allow for empty array bounds.
7533 Allow processing to stop on initialisers.
7534 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
7535 (semiequal): New rule.
7536 * gengtype.c (create_file): Tidy output files.
7537 (get_output_file_with_visibility): Fix paren warning. Fix bug
7538 involving multiple input files mapping to one output file.
7539 (write_gc_structure_fields): Skip arrays of scalars.
7540 (write_gc_types): Tidy output files.
7541 (write_gc_root): New function.
7542 (write_gc_roots): Fix bugs, add support for roots that are
7543 structures.
7544 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
7545 (ggc_mark_tree_ptr): Delete.
7546 (ggc_add_rtx_root): Delete.
7547 (ggc_add_tree_root): Delete.
7548 (ggc_del_root): Delete.
7549 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
7550 allocate struct initial_value_struct.
7551 * profile.c: Use gengtype for roots.
7552 * sdbout.c: Use gengtype for roots.
7553 * varasm.c (mark_weak_decls): Delete unused prototype.
7554 (mark_const_hash_entry): Delete unused function.
7555 * config/darwin-protos.h: Use gengtype for roots.
7556 (machopic_add_gc_roots): Delete.
7557 * config/arm/arm.c: Use gengtype for roots.
7558 * config/arm/arm.h: Use gengtype for roots.
7559 * config/c4x/c4x-protos.h: Use gengtype for roots.
7560 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
7561 * config/d30v/d30v-protos.h: Use gengtype for roots.
7562 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
7563 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
7564 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
7565 * config/ia64/ia64-protos.h: Use gengtype for roots.
7566 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
7567 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
7568 * config/m68hc11/m68hc11.c (z_reg): Make global.
7569 (z_reg_qi): Make global.
7570 (m68hc11_add_gc_roots): Delete.
7571 * config/mcore/mcore-protos.h: Use gengtype for roots.
7572 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
7573 * config/mips/mips.c (mips_add_gc_roots): Delete.
7574 * config/mips/mips.h: Use gengtype for roots.
7575 * config/mmix/mmix.c (override_options): Use gengtype for roots.
7576 * config/mmix/mmix.h: Use gengtype for roots.
7577 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
7578 * config/mn10200/mn10200.h: Use gengtype for roots.
7579 * config/pa/pa.c: Use gengtype for roots, marking.
7580 (struct deferred_plabel): Use GGC, gengtype.
7581 (pa_add_gc_roots): Delete.
7582 (mark_deferred_plabels): Delete.
7583 * config/pj/pj-protos.h: Use gengtype for roots.
7584 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
7585 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
7586 machopic_add_gc_roots.
7587 * config/rs6000/rs6000.h: Use gengtype for roots.
7588 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
7589 (gt-darwin.h): Add rule.
7590 * config/sh/sh.c: Use gengtype for roots.
7591 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
7592 (gt-sh.h): Add rule.
7593 * config/sparc/sparc.c: Use gengtype for roots.
7594 (sparc_add_gc_roots): Delete.
7595 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
7596 (mark_ultrasparc_pipeline_state): Delete.
7597 * config/sparc/sparc.h: Use gengtype for roots.
7598
7599 * Makefile.in (c-parse.o): Update dependencies.
7600 (c-common.o): Likewise.
7601 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
7602 Add dependencies for the files they generate.
7603 * c-common.c: Replace ggc_add_* uses with GTY annotations.
7604 * c-common.h: Likewise.
7605 * c-decl.c: Likewise.
7606 (gt_ggc_mp_binding_level): Delete.
7607 * c-lang.c: Include gtype-c.h.
7608 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
7609 gt-c-parse.h.
7610 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
7611 (gt_ggc_mp_align_stack): Delete.
7612 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
7613 * function.c: Replace ggc_add_* uses with GTY annotations.
7614 (gt_ggc_mp_function): Delete.
7615 * function.h: Replace ggc_add_* uses with GTY annotations.
7616 * gengtype.c (lang_names): New.
7617 (NUM_BASE_FILES): New.
7618 (open_base_files): Create language base files.
7619 (startswith): New.
7620 (get_file_basename): New.
7621 (get_base_file_bitmap): New.
7622 (get_output_file_with_visibility): Rename from get_output_file.
7623 Add more mappings for various C/Objc filenames.
7624 (finish_root_table): New.
7625 (write_gc_roots): Handle dependencies and scoping properly.
7626 * gengtype.h: Add prototypes for new functions.
7627 * ggc-common.c (struct deletable_root): Delete.
7628 (deletables): Delete.
7629 (ggc_add_deletable_root): Delete.
7630 (ggc_mark_roots): No need to deal with deleted functionality.
7631 * ggc.h (ggc_add_deletable_root): Delete prototype.
7632 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
7633 (gtype-objc.h): Add rule to create.
7634 * objc/config-lang.in (gtfiles): New.
7635 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
7636 ggc_add_* with GTY markers. Include gtype-objc.h.
7637 (ggc_mark_imp_list): Delete.
7638 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
7639 * objc/objc-lang.c: Random Whitespace Change.
7640
7641 * except.h (exception_handler_labels): Delete.
7642 (get_exception_handler_labels): New.
7643 * except.c (exception_handler_labels): Delete.
7644 (struct eh_status): Add exception_handler_labels field.
7645 (doing_eh): Don't add exception_handler_labels as root.
7646 (free_eh_status): Don't need to free exception_handler_labels.
7647 (get_exception_handler_labels): New.
7648 (find_exception_handler_labels): Update for move of
7649 exception_handler_labels.
7650 (remove_exception_handler_label): Likewise.
7651 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
7652 * jump.c (rebuild_jump_labels): Likewise.
7653 * loop.c (find_and_verify_loops): Likewise.
7654 * sched-rgn.c (is_cfg_nonregular): Likewise.
7655
7656 * gengtype.c (write_gc_structure_fields): Handle variable-length
7657 TYPE_ARRAYs.
7658
7659 * varasm.c (struct weak_syms): Use GGC, gengtype.
7660 (mark_weak_decls): Delete.
7661 (weak_decls): Likewise.
7662 (add_weak): Likewise.
7663 (remove_from_pending_weak_list): Likewise.
7664 (init_varasm_once): Likewise.
7665
7666 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
7667 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
7668 stor-layout.c, regclass.c, and lists.c.
7669 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
7670 gt-regclass.h and gt-lists.h on s-gtype.
7671 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
7672 * except.c: Use gengtype for roots.
7673 * explow.c: Use gengtype for roots. Include gt-explow.h.
7674 * expr.h (init_stor_layout_once): Delete prototype.
7675 * function.c: Use gengtype for roots.
7676 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
7677 * gengtype-yacc.y (start): Can also be an externstatic.
7678 (externstatic): New production.
7679 (struct_fields): Correct array bounds inversion for 2-d arrays.
7680 * gengtype.c (variables): New variable.
7681 (note_variable): New function.
7682 (get_output_file): Include libfuncs.h into gtype-desc.c.
7683 (get_output_file_name): New function.
7684 (write_gc_structure_fields): Suppress warnings.
7685 (write_gc_types): Make static.
7686 (put_mangled_filename): New function.
7687 (write_gc_roots): New function.
7688 (main): Call write_gc_roots.
7689 * gengtype.h (note_variable): Prototype.
7690 (get_output_file_name): Prototype.
7691 (write_gc_types): Delete prototype.
7692 * ggc.h: Clean up unnecessary structure predefinitions.
7693 (struct ggc_root_tab): Define.
7694 (gt_ggc_m_rtx_def): Make function, not macro.
7695 (gt_ggc_m_tree_node): Likewise.
7696 * libfuncs.h: Use gengtype for roots.
7697 * lists.c: Use gengtype for roots. Include gt-lists.h.
7698 (init_EXPR_INSN_LIST_cache): Delete.
7699 * optabs.c: Use gengtype for roots.
7700 (gt_ggc_mp_optab): Delete.
7701 * optabs.h: Use gengtype for roots.
7702 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
7703 * rtl.h: Use gengtype for roots.
7704 (init_EXPR_INSN_LIST_cache): Delete prototype.
7705 * stor-layout.c: Use gengtype for roots.
7706 Include gt-stor-layout.h.
7707 (init_stor_layout_once): Delete.
7708 * toplev.c: Use gengtype for roots. Delete calls to deleted
7709 routines.
7710 * tree.c: Use gengtype for roots.
7711 * tree.h: Use gengtype for roots.
7712 * varasm.c: Use gengtype for roots.
33005162 7713
e2500fed
GK
7714 * Makefile.in (GTFILES): Add @all_gtfiles@.
7715 * configure: Regenerate.
7716 * configure.in: Construct all_gtfiles from the gtfiles definitions
7717 in config-lang.in.
7718 * gengtype-yacc.y (type): Warn about duplicate structure names.
7719 * gengtype.c (get_output_file): Handle .c files in language
7720 subdirectories.
7721
7722 * Makefile.in (GTFILES): Run gengtype on all the config files
7723 and on the target .c file.
7724 * except.c (mark_eh_region): Delete.
7725 (init_eh_for_function): Use GGC on struct eh_status.
7726 (mark_eh_status): Delete.
7727 (free_eh_status): Use GGC.
7728 (expand_eh_region_start): Use GGC to
7729 (collect_eh_region_array): Allocate last_region_number using GGC.
7730 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
7731 (remove_eh_handler): Let GGC free struct eh_region.
7732 (add_call_site): Use GGC to reallocate call_site_record array.
7733 * function.c (init_machine_status): Update calling sequence.
7734 (mark_machine_status): Likewise.
7735 (mark_lang_status): Likewise.
7736 (prepare_function_start): Update init_machine_status call.
7737 (mark_function_status): Delete.
7738 (maybe_mark_struct_function): Delete.
7739 (ggc_mark_struct_function): Delete.
7740 (gt_ggc_mp_function): New.
7741 (gt_ggc_mr_machine_function): New.
7742 (gt_ggc_mr_language_function): New.
7743 (init_function_once): Use canonical names.
7744 * function.h (struct function): Use gengtype.
7745 (init_machine_status): Return the structure.
7746 (mark_machine_status): Take a 'void *'.
7747 (mark_lang_status): Likewise.
7748 * ggc-common.c (ggc_mark_trees): Use canonical name for
7749 ggc_mark_struct_function.
7750 * tree.h (ggc_mark_struct_function): Delete prototype.
7751 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
7752 (alpha_init_machine_status): Likewise.
7753 (override_options): Use canonical name for alpha_mark_machine_status.
7754 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
7755 * config/arm/arm.h (struct machine_function): Use gengtype.
7756 * config/arm/arm.c (arm_mark_machine_status): Delete.
7757 (arm_init_machine_status): Update calling sequence.
7758 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 7759 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
7760 calling sequence.
7761 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 7762 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
7763 calling sequence.
7764 (d30v_mark_machine_status): Delete.
7765 * config/i386/i386.c: Include gt-i386.h.
7766 (struct machine_function): Use gengtype.
7767 (ix86_init_machine_status): Update calling sequence.
7768 (ix86_mark_machine_status): Delete.
7769 (override_options): Use canonical namke for ix86_mark_machine_status.
7770 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 7771 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
7772 sequence.
7773 (ia64_mark_machine_status): Delete.
33005162 7774 (ia64_override_options): Use canonical name for
e2500fed 7775 ia64_mark_machine_status.
33005162 7776 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
7777 sequence.
7778 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
7779 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
7780 * gengtype.c (get_output_file): Fix warning.
7781 (main): Add prototype to suppress warning.
7782 * tree.c: Remove tree_hash_mark prototype.
7783
7784 * tree.h (init_stmt): Delete prototype.
7785 * toplev.c (lang_independent_init): Don't call init_stmt.
7786 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
7787 (stmt_obstack): Delete.
7788 (POPSTACK): No need to free 'struct nesting'.
7789 (gt_ggc_mr_nesting_cond): Use canonical names.
7790 (gt_ggc_mr_nesting_loop): Use canonical names.
7791 (gt_ggc_mr_nesting_block): Use canonical names.
7792 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
7793 (mark_stmt_status): Delete.
7794 (init_stmt): Delete.
7795 (clear_last_expr): Clear both last_expr_type and last_expr_value.
7796 Use it everywhere that last_expr_type was cleared.
7797 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
7798 (zap_lists): Delete.
7799 * ggc.h (ggc_add_deletable_root): Prototype.
7800 (mark_stmt_status): Remove prototype.
7801 * ggc-common.c (ggc_add_deletable_root): New.
7802 (ggc_mark_roots): Handle deletable roots.
7803 * function.c (ggc_mark_struct_function): Use canonical name
7804 for mark_stmt_status.
7805 * emit-rtl.c (free_sequence_stack): New.
7806 (start_sequence): Use a freelist for sequences.
7807 (end_sequence): Likewise.
7808 (init_emit_once): Add free_sequence_stack as a deleteable root.
7809 * c-pragma.c Include gt-c-pragma.h.
7810 (struct align_stack): Use gengtype.
7811 (push_alignment): Use GGC for struct align_stack.
7812 (mark_align_stack): Delete.
7813 (gt_ggc_mp_align_stack): New.
7814 (init_pragma): Use canonical name for mark_align_stack.
7815 * c-decl.c: Include gt-c-decl.h.
7816 (struct binding_level): Use gengtype.
7817 (make_binding_level): Use GGC; handle the freelist here.
7818 (pop_binding_level): New.
7819 (pushlevel): Move code into make_binding_level.
7820 (push_label_level): Likewise.
7821 (poplevel): Move code into pop_binding_level.
7822 (pop_label_level): Likewise.
7823 (mark_binding_level): Delete.
7824 (gt_ggc_mp_binding_level): New.
7825 (c_init_decl_processing): Use canonical name for mark_binding_level.
7826 Add free_binding_level as deletable root.
7827 (mark_c_function_context): Use canonical name for mark_binding_level.
7828 * Makefile.in (c-decl.o): Add gt-c-decl.h.
7829 (c-pragma.o): Add gt-c-pragma.h.
7830 (GTFILES): Add c-decl.c and c-pragma.c.
7831 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
7832
7833 * tree.c (struct type_hash): Use gengtype.
7834 (init_obstacks): Use canonical name for type_hash_mark.
7835 (type_hash_mark): Delete.
7836 Include gt-tree.h.
7837 * rtl.h (struct mem_attrs): Use gengtype.
7838 * optabs.h (struct optab): Use gengtype.
7839 * optabs.c (expand_binop): Squish signed/unsigned warning.
7840 (mark_optab): Make local, use canonical name, use autogenerated
7841 marker procedure.
7842 (init_optabs): Use canonical name for mark_optab.
7843 (new_optab): Use GGC to allocate optabs.
7844 * ggc.h: Delete mark_optab prototype.
7845 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
7846 mem_attrs marker procedure.
7847 * gengtype.c (get_output_file): Include headers in gtype-desc.c
7848 explicitly rather than deducing them from file names.
7849 (write_gc_structure_fields): Handle arrays of structures.
7850 (main): Return non-zero exit code if errors occur during output.
7851 * emit-rtl.c (mem_attrs_mark): Delete.
7852 (init_emit_once): Use canonical name for mem_attrs marker procedure.
7853 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
7854 (tree.o): Depend on gt-tree.h.
7855 (GTFILES): Add rtl.h, optabs.h, tree.c.
7856 (gt-tree.h): Add it to s-gtype rule.
7857
7858 * .cvsignore: Ignore gengtype flex/bison generated files.
7859 * Makefile.in (GGC_H): Add gtype-desc.h.
7860 (OBJS): Add gtype-desc.o.
7861 (GEN): Add gengtype.
7862 (STAGESTUFF): Add gengtype.
7863 (varasm.o): Add gt-varasm.h.
7864 (stmt.o): Add gt-stmt.h.
7865 (except.o): Add gt-except.h.
7866 (integrate.o): Add gt-integrate.h.
7867 (GTFILES): New.
7868 Add new rules for new files.
7869 * configure: Regenerate.
7870 * configure.in: Correct defaults.h paths.
7871 * emit-rtl.c (mark_sequence_stack): Delete.
7872 (mark_emit_status): Delete.
7873 (start_sequence): Allocate sequence structures using GGC.
7874 (end_sequence): Allocate sequence structures using GGC.
7875 * except.c: Use gengtype for various structures. Include
7876 gt-except.h.
7877 * expr.c (mark_expr_status): Delete.
7878 * function.c: Use gengtype for various structures. Include
7879 gt-function.h.
7880 (mark_function_status): Use standard gt_ggc names for marker functions.
7881 (ggc_mark_struct_function): Likewise.
7882 * function.h: Use gengtype for various structures.
7883 * gengtype-lex.l: New file.
7884 * gengtype-yacc.y: New file.
7885 * gengtype.c: New file.
7886 * gengtype.h: New file.
7887 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
7888 the standard names. Remove some now-unnecessary prototypes.
7889 * integrate.c: Use gengtype for various structures. Include
7890 gt-integrate.h.
7891 (mark_hard_reg_initial_vals): Delete.
7892 * integrate.h (mark_hard_reg_initial_vals): Delete.
7893 * stmt.c: Use gengtype for various structures. Include
7894 gt-stmt.h.
7895 (mark_case_node): Delete.
7896 (mark_goto_fixup): Delete.
7897 (mark_stmt_status): Use standard gt_ggc names for marker functions.
7898 * system.h: Define GTY to empty. In flex/bison files,
7899 don't poison malloc or realloc, instead just define them to
7900 xmalloc and xrealloc.
7901 * varasm.c: Use gengtype for various structures. Include
7902 gt-varasm.h. Use standard gt_ggc names for marker functions.
7903 (mark_pool_constant): Delete.
7904 (mark_varasm_status): Delete.
7905 (decode_rtx_const): #if 0 out non-typesafe hack.
7906
7907 * function.h (free_lang_status): Mark as obsolete.
7908 * function.c (free_lang_status): Mark as obsolete.
7909 * c-decl.c (push_c_function_context): Use GC to allocate and free
7910 struct language_function.
7911 (pop_c_function_context): Likewise.
7912 * c-common.c (mark_c_language_function): Mark struct
7913 language_function.
7914
7915 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
7916 Document that the machine_function structures must be allocated
7917 using GC. Update mark_machine_status documentation.
7918 * function.h: Don't declare free_machine_status.
33005162 7919 * function.c (free_machine_status): Don't define.
e2500fed
GK
7920 (free_after_compilation): Don't call free_machine_status.
7921 (ggc_mark_struct_function): Mark f->machine. Call
7922 mark_machine_status only on non-NULL pointers.
7923 * system.h: Poison free_machine_status.
7924 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
7925 struct machine_function.
7926 (xtensa_free_machine_status): Delete.
7927 (override_options): Don't set free_machine_status.
7928 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
7929 free_machine_status.
7930 (rs6000_init_machine_status): Use GC on struct machine_function.
7931 (rs6000_free_machine_status): Delete.
7932 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
7933 machine_function.
7934 (ia64_mark_machine_status): Likewise.
7935 (ia64_free_machine_status): Delete.
7936 (ia64_override_options): Don't set free_machine_status.
7937 * config/i386/i386.c (override_options): Don't set
7938 free_machine_status.
7939 (ix86_init_machine_status): Use GC on struct machine_function.
7940 (ix86_mark_machine_status): Likewise.
7941 (ix86_free_machine_status): Delete.
7942 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
7943 machine_function.
7944 (d30v_mark_machine_status): Likewise.
7945 (d30v_free_machine_status): Delete.
7946 (d30v_init_expanders): Don't set free_machine_status.
7947 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
7948 machine_function.
7949 (arm_init_machine_status): Likewise.
7950 (arm_free_machine_status): Delete.
7951 (arm_init_expanders): Don't set free_machine_status.
7952 * config/alpha/alpha.c (override_options): Don't set
7953 free_machine_status.
7954 (alpha_init_machine_status): Use GC on struct machine_function.
7955 (alpha_mark_machine_status): Likewise.
7956 (alpha_free_machine_status): Delete.
7957
7958 * varasm.c (compare_constant): Fix typo.
7959
7960 * varasm.c: Don't include obstack.h.
7961 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
7962 (struct rtx_const): Give substructures names, improve formatting.
7963 (struct constant_descriptor): Delete.
7964 (struct constant_descriptor_tree): New, based on constant_descriptor.
7965 (const_hash_table): Is a hash table of trees.
7966 (mark_const_hash_entry): Is used for hashes of trees. Mark
7967 constant_descriptor_tree structure.
7968 (mark_const_str_htab_1): Mark deferred_string structure.
7969 (compare_constant): Rewrite to compare trees.
7970 (compare_constant_1): Delete.
7971 (record_constant): Delete.
7972 (record_constant_1): Delete.
7973 (output_constant_def): Use struct constant_descriptor_tree.
7974 Don't duplicate trees twice.
7975 (struct constant_descriptor_rtx): New.
7976 (struct pool_constant): Used for rtx constants.
7977 (init_varasm_status): Update for change to struct varasm_status.
7978 (mark_varasm_status): Likewise.
7979 (free_varasm_status): Delete.
7980 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
7981 (record_constant_rtx): Likewise.
7982 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
7983 (force_const_mem): Likewise.
7984 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
7985 * function.c (free_after_compilation): Don't use free_varasm_status.
7986 * function.h: Don't prototype free_varasm_status.
7987
7988 * ggc-common.c (ggc_realloc): Handle X being NULL.
7989
7990 * ggc-common.c (ggc_realloc): New function.
7991 * ggc.h: Prototype it.
7992 * emit-rtl.c (free_emit_status): Delete.
7993 (init_emit): Allocate emit subarrays using GC.
7994 (gen_reg_rtx): Reallocate subarrays using GC.
7995 (init_emit): Use GC to allocate 'struct emit_status' and its
7996 subarrays.
7997 (mark_emit_status): Mark structure and its subarrays.
7998 * stmt.c (free_stmt_status): Delete.
7999 * expr.c (free_expr_status): Delete.
8000 * function.h: Remove prototypes for deleted functions.
8001 * function.c (free_after_compilation): Don't use deleted functions.
8002 Don't call free() on x_parm_reg_stack_loc.
8003 (free_after_parsing): Don't use free_stmt_status.
8004 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
8005 (mark_function_status): Mark x_parm_reg_stack_loc.
8006
8007 * varasm.c (init_varasm_status): Use GC to allocate
8008 'struct varasm_status' and its fields x_const_rtx_hash_table
8009 and x_const_rtx_sym_hash_table.
8010 (mark_varasm_status): Mark them.
8011 (free_varasm_status): Use GC to free them.
8012 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
8013 (mark_expr_status): Mark the structure itself.
8014 (free_expr_status): Use GC to free the structure.
8015 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
8016 (mark_stmt_status): Mark the 'struct stmt_status' itself.
8017 (init_stmt_for_function): Allocate the structure for GC.
8018
8019 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
8020 (equate_type_number_to_die): Likewise.
8021 * tree.h (TYPE_SYMTAB_DIE): New macro.
8022 (struct die_struct): Predeclare.
8023 (struct tree_type): Add field symtab.die. Add a tag
8024 to the union type of field symtab.
8025
8026 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
8027 'struct rtvec_def *', not 'struct rtvec_def'.
8028
8029 * function.h (original_arg_vector): Make a real rtvec.
8030 * function.c (ggc_mark_struct_function): Adjust.
8031 * integrate.c (expand_inline_function): Adjust.
8032
b655555e
JT
80332002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
8034
8035 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
8036 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
8037 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
8038 (TARGET_VERSION_CPU): Define according to the
8039 default target.
8040 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
8041 TARGET_VERSION_CPU.
8042 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
8043 if TARGET_SHMEDIA64.
8044 (LINK_DEFAULT_CPU_EMUL): Define according to the
8045 default target.
8046 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
8047 (SUBTARGET_LINK_SPEC): Define.
8048 (LINK_SPEC): Use SH_LINK_SPEC.
8049 (ASM_SPEC): Remove.
8050 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
8051 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
8052 and TARGET_SHMEDIA64 which abort, for now.
8053 * config/sh/t-netbsd-sh5: New file.
8054 * config/sh/t-netbsd-sh5-32: New file.
8055 * config/sh/t-netbsd-sh5-64: New file.
8056
6d8fd7bb
RH
80572002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
8058 Richard Henderson <rth@redhat.com>
8059
8060 * config/alpha/alpha.c (reg_or_const_int_operand): New.
8061 (some_operand, input_operand): Accept CONST_VECTOR.
8062 (alpha_extra_constraint): Add 'W'.
8063 (alpha_expand_zap_mask): New.
8064 (alpha_expand_builtin_vector_binop): New.
8065 (enum alpha_builtin): New.
8066 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
8067 (alpha_init_builtins, alpha_expand_builtin): New.
8068 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
8069 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
8070 (PREDICATE_CODES): Update.
8071 * config/alpha/alpha-protos.h: Update.
8072 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
8073 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
8074 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
8075 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
8076 (movv2si, movv2si_fix, movv2si_nofix): New.
8077 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
8078 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
8079 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
8080 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
8081 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
8082 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
8083 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
8084 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
8085 builtin_unpkbw, unpkbw): New.
8086 * doc/extend.texi (Alpha Built-in Functions): New.
8087
618939de
RH
80882002-06-03 Richard Henderson <rth@redhat.com>
8089
8090 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
8091 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
8092
73db7137
RH
80932002-06-03 Richard Henderson <rth@redhat.com>
8094
6933647a
RH
8095 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
8096
73db7137
RH
8097 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
8098 (const0_operand): New.
8099 (reg_or_fp0_operand, fp0_operand): Remove.
8100 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8101 * config/alpha/alpha-protos.h: Update.
8102 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
8103 and fp0_operand with reg_or_0_operand and const0_operand.
8104
a6f7c915
DN
81052002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
8106
8107 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
8108
b2f02503
RS
81092002-06-03 Roger Sayle <roger@eyesopen.com>
8110
8111 * gcse.c (cprop_jump): Use single_set to get the pattern
8112 from the setcc argument.
8113
4fcc2065
GDR
81142002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
8115
33005162 8116 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
8117 diagnostic_context.
8118 (diagnostic_kind_count): Adjust definition.
8119
5204d665
JH
8120Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
8121
8122 * except.c (except.c): Do not rebuild CFG.
8123 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
8124 optimization.
8125
0478a14c
JH
8126Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
8127
8128 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
8129 * toplev.c: Include cfglahout.h
8130 * Makefile.in (toplev.c): Add dependnecy.
8131
30efe578
NB
81322002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
8133
8134 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
8135 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
8136 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
8137
a782515b
JT
81382002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
8139
8140 * config/ns32k/netbsd.h: Update copyright years.
8141 (TARGET_OS_CPP_BUILTINS): Define.
8142 (CPP_PREDEFINES): Remove.
8143 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
8144 (TARGET_CPU_CPP_BUILTINS): Define.
8145
0fb7aeda
KH
81462002-06-02 Kazu Hirata <kazu@cs.umass.edu>
8147
589005ff 8148 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
8149 * errors.h: Likewise.
8150 * except.c: Likewise.
8151 * explow.c: Likewise.
8152 * expmed.c: Likewise.
8153 * expr.c: Likewise.
8154 * expr.h: Likewise.
8155
1c8ec18b
KH
81562002-06-02 Kazu Hirata <kazu@cs.umass.edu>
8157
8158 * config/h8300/elf.h: Fix formatting.
8159 * config/h8300/rtems.h: Likewise.
8160
86cb04f6
JT
81612002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
8162
8163 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
8164
5d83269d
TT
81652002-06-02 Tom Tromey <tromey@redhat.com>
8166
8167 * fixinc/fixincl.x: Rebuilt.
8168 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
8169
62f6a494
NB
81702002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8171
8172config/i370:
8173 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
8174 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
8175 * mvs.h: Similarly.
8176 * oe.h: Similarly.
8177
0acb0203
JH
8178Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
8179
8180 * final.c (final): Allow notes to not have computed addresses;
8181 kill no longer needed STACK_REGS ifdef.
8182
ada8d98a
RH
81832002-06-02 Richard Henderson <rth@redhat.com>
8184
8185 * gcse.c (bypass_conditional_jumps): Fix typo last change.
8186
ba4f7968
JH
8187Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
8188
ada8d98a
RH
8189 * loop.c (emit_prefetch_instructions): Properly place the address
8190 computation.
ba4f7968
JH
8191
8192Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
8193
8194 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
8195 (set_block_for_insn): Turn into macro.
8196 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
8197 * cfglayout.c (insn_scopes): Kill.
8198 (scope_to_insns_initialize): Do not use insn_scopes.
8199 (scope_to_insns_finalize): Likewise.
8200 (duplicate_insn_chain): Likewise.
8201 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
8202 * cfgrtl.c (basic_block_for_insn): Kill.
8203 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
8204 (create_basic_block_structure): Use reorder_insns.
8205 (compute_bb_for_insn): Do not use basic_block_for_insn.
8206 (merge_blocks_nomove): Likewise.
8207 (update_bb_for_insn): Likewise.
8208 (verify_flow_info): Likewise.
8209 (set_block_for_insn): Kill.
8210 * combine.c (try_combine): Update gen_rtx_INSN call.
8211 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
8212 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
8213 scopes and BBs.
8214 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
8215 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
8216 Clear BB.
8217 (emit_insns_after): Simplify.
8218 (emit_copy_of_insn_after): Copy scope.
8219 * final.c (final_start_function): Lower scopes.
8220 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
8221 * integrate.c (copy_insn_list): Cope scopes.
8222 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
8223 * loop.c (loop_optimize): Do not care block notes.
8224 * print-rtl.c (print_rtx): Print BB.
8225 * recog.c (apply_change_group): Simplify.
8226 * rtl.c (copy_rtx): Handle 'B'.
8227 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
8228 * rtl.h (Field accessors): Update indexes.
8229 * sched-ebb.c (schedule_ebbs): Do not lower notes.
8230 * sched-rgn.c (schedule_insns): Likewise.
8231 * toplev.c (rest_of_compilation): Lower notes.
8232 * unroll.c (unroll_loop): Do not care scoping notes.
8233 (copy_loop_body): Copy scopes.
8234
537fc532
NB
82352002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8236
8237config/h8300:
8238 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
8239 SUBTARGET_SPEC.
8240 * rtems.h: Similarly.
8241 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
8242 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
8243 (TARGET_CPU_CPP_BUILTINS): Use.
8244
ab780373
RH
82452002-06-02 Richard Henderson <rth@redhat.com>
8246
8247 * alias.c: Include target.h.
8248 (mark_constant_function): Use targetm.binds_local_p instead
8249 of checking TREE_PUBLIC ourselves.
8250 * Makefile.in (alias.o): Add TARGET_H.
8251
b9305c66
NB
82522002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8253
8254 * c-lex.c: Update copyright and file description.
8255
0ac3e0c4
NB
82562002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8257
8258 * config/fr30/fr30.h: Update to new CPP macros.
8259
be3a1d46
NB
82602002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8261
8262 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
8263
ceeedfc1 82642002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 8265 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
8266
8267 * c-common.c (c_common_init): Override cpplib's default
8268 warn_long_long setting.
8269 * c-lex.c (lex_number): Replace with interpret_integer,
8270 interpret_float, narrowest_unsigned_type and
8271 narrowest_signed_type, taking advantage of the new
8272 cpplib functionality.
8273 * cpperror.c (_cpp_begin_message): If a warning is turned
8274 into an error, avoid printing "warning:".
8275 * cppexp.c (cpp_num_sign_extend): New.
8276 * cppinit.c: Update comment.
8277 * cpplib.h (cpp_num_sign_extend): New.
8278 * tree.h: Update comment.
8279
27e511e0
GDR
82802002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
8281
8282 * diagnostic.h (struct diagnostic_context): Add new member
33005162 8283 internal_error.
27e511e0
GDR
8284 (internal_error_function): Remove declaration.
8285 * diagnostic.c (internal_error_function): Remove definition..
8286 (internal_error): Adjust use.
8287
818b6b7f
RH
82882002-06-02 Richard Henderson <rth@redhat.com>
8289
8290 * rtl.h (CC0_P): New.
8291 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
8292 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
8293 (bypass_block): Save old dest block for dump text.
8294 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
8295 Allow only true SET insns, not single_set.
8296
167143a0
GDR
82972002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
8298
8299 * diagnostic.c (diagnostic_finish): Rename to output_flush.
8300 (clear_disgnostic_info): Rename to output_clear_data. Use false
8301 instead of 0 for boolean value.
8302 Adjust function call throughout.
8303
eae4bc56
JH
8304Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
8305
8306 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
8307 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
8308
9eb404a0
NB
83092002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8310
8311 * d30v.h (CPP_PREDEFINES): Replace with
8312 (TARGET_CPU_CPP_BUILTINS): New.
8313
53e8b0b8
RS
83142002-06-02 Roger Sayle <roger@eyesopen.com>
8315
8316 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
8317
92e34b67
JH
8318Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
8319
8320 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
8321
e7e9d242
RH
83222002-06-02 Richard Henderson <rth@redhat.com>
8323
8324 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
8325
9af145ae
MM
83262002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
8327
8328 Support for C++ constructors/destructors.
8329 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
8330 instead of looping if main() returns.
8331 (asm_file_start): Output global symbols that cause .data and .bss
8332 initialization code to be linked in, unconditionally for now.
8333 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
8334 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
8335 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
8336 (LIBSTDCXX): New.
8337 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
8338 (__tablejump__): New.
8339 (__do_copy_data, __do_clear_bss): New.
8340 (__do_global_ctors, __do_global_dtors): New.
8341 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
8342 _ctors, _dtors.
8343
0d66ad57
NB
83442002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
8345
8346 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
8347 (CPP_SPEC, CPP_PREDEFINES): Kill.
8348 * c4x/rtems.h (CPP_PREDEFINES): Kill.
8349 (TARGET_OS_CPP_BUILTINS): New.
8350
5c856b23
JH
8351Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
8352
8353 * Makefile.in (tracer.o): New.
8354 * params.def (TRACER_*): New options.
8355 * rtl.h (tracer): Declare.
8356 * timevar.def (TV_TRACER): New.
8357 * toplev.c (dump_file_index): Add DFI_tracer.
8358 (dump_file_info): Add tracer.
8359 (flag_tracer): New.
8360 (lang_indepdenent_options): Add tracer.
8361 (rest_of_compilation): Call tracer.
8362 * tracer.c: New file.
8363 * invoke.texi (-ftracer): Document.
8364 (--param tracer-*): Document.
8365
e2405951
DB
83662002-06-01 Daniel Berlin <dberlin@dberlin.org>
8367
8368 * tree-inline.c (expand_call_inline): Make the statement
33005162 8369 expression we generate have a COMPOUND_STMT.
e2405951 8370
0e3f0221
RS
83712002-06-01 Roger Sayle <roger@eyesopen.com>
8372
8373 * gcse.c (cprop_cc0_jump): Function deleted.
8374 (cprop_jump): Take an additional argument which is the possibly
8375 NULL cc setting insn immediately before the conditional jump.
8376 When a MODE_CC set is present, substitute it into the JUMP_INSN
8377 before attempting the constant propagation.
8378 (cprop_insn): Recognize cc setters followed by conditional jumps
8379 as a special case. Use cprop_jump instead of cprop_cc0_jump.
8380 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
8381 (find_bypass_set): New function based upon find_avail_set used by
8382 cprop, but finds constant expressions available at the end of
8383 basic blocks.
8384 (bypass_block): New function. Given a basic block that begins
8385 with a conditional jump and multiple incoming edges, perform
8386 the jump bypass optimization.
8387 (bypass_conditional_jumps): New function. Call bypass_block with
8388 each suitable basic block in the CFG using a simple single pass.
8389
378393da
RS
83902002-06-01 Roger Sayle <roger@eyesopen.com>
8391
8392 * tree.c (real_minus_onep): New function to test for -1.0.
8393 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
8394
01c58f26
RS
83952002-06-01 Roger Sayle <roger@eyesopen.com>
8396
8397 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
8398 and "!p && !q" into "(p|q) == 0" under suitable conditions.
8399
91b12472
AJ
84002002-06-01 Andreas Jaeger <aj@suse.de>
8401
8402 * cppexp.c (cpp_classify_number): Cast precission to int for
8403 correct printf format.
8404
01e9ae86
MM
84052002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
8406
8407 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
8408 expected, but don't really exist: atmega83, atmega85, attiny10.
8409 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
8410 emulations for all devices.
8411 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
8412 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
8413
be1e06df
KH
84142002-06-01 Kazu Hirata <kazu@cs.umass.edu>
8415
8416 * config/h8300/h8300-protos.h: Add a prototype for
8417 h8300_shift_needs_scratch_p.
8418 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
8419 * config/h8300/h8300.h (OK_FOR_R): New.
8420 (OK_FOR_S): Likewise.
8421 (OK_FOR_T): Likewise.
8422 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
8423 * config/h8300/h8300.md (anonymous shift patterns): Use
8424 constraints R, S, and T.
8425
2ecfd709
ZD
8426Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8427
8428 * basic-block.h (struct basic_block_def): New field loop_father.
8429 (BB_VISITED): New flag.
8430 (struct loop): New field pred, removed field shared.
8431 (struct loops): New field parray.
8432 (LOOP_EXITS_DOMS): Removed.
8433 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
8434 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
8435 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
8436 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
8437 verify_loop_structure): Declare.
8438 * cfg.c (entry_exit_blocks): Initialize loop_father field.
8439 * cfganal.c (dfs_enumerate_from): New function.
8440 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
8441 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
8442 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
8443 flow_loop_dump, flow_loops_dump, flow_loops_free,
8444 flow_loop_tree_node_add, flow_loop_level_compute,
8445 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
8446 flow_loop_outside_edge_p): Modified for new infrastructure.
8447 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
8448 redirect_edge_with_latch_update, flow_loop_free): New static functions.
8449 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
8450 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
8451 find_common_loop, verify_loop_structure, loop_latch_edge,
8452 loop_preheader_edge): New functions.
8453 (flow_loops_cfg_dump): Do not show dominators, as this information
8454 does not remain up to date long.
8455 (flow_loops_find): Store results in new format.
8456 * predict.c (propagate_freq, estimate_probability,
8457 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
8458 infrastructure.
8459
d9763749 84602002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 8461
d9763749
AL
8462 * except.c (nothrow_function_p): Walk epilogue delay list
8463 checking the insn, not the chain for potential throws.
91b12472 8464
1e730c5c
ZW
84652002-05-31 Zack Weinberg <zack@codesourcery.com>
8466
8467 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
8468 (install): Refer to install-cpp directly.
8469 (uninstall-cpp): Folded into uninstall rule.
8470 * configure.in: Delete all code relating to --disable-cpp.
8471 * configure: Regenerate.
8472 * config/t-install-cpp: Delete.
8473
6f9b006d
RH
84742002-05-31 Richard Henderson <rth@redhat.com>
8475
8476 * configure.in (HAVE_AS_TLS): Add alpha tests.
8477 * configure: Rebuild.
8478 * config/alpha/alpha.c (TARGET_AS_TLS): New.
8479 (alpha_tls_size, alpha_tls_size_string): New.
8480 (overide_options): Set it. Always install machine_status hooks.
8481 (input_operand): Accept got tls predicates.
8482 (local_symbol_p): Merge into ...
8483 (local_symbolic_operand): ... here. Reject tls symbols.
8484 (global_symbolic_operand): Likewise.
8485 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
8486 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
8487 (tp16_symbolic_operand, tp32_symbolic_operand): New.
8488 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
8489 (alpha_encode_section_info): Handle TLS symbols.
8490 (alpha_strip_name_encoding): Likewise.
8491 (alpha_legitimate_address_p): Likewise.
8492 (alpha_legitimize_address): Likewise.
8493 (alpha_expand_mov): Early exit to avoid nop moves.
8494 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
8495 (alpha_init_machine_status, alpha_mark_machine_status,
8496 alpha_free_machine_status): Always define.
8497 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
8498 (print_operand, print_operand_address): Add TLS relocs.
8499 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
8500 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
8501 (TARGET_SWITCHES): Add -mtls-kernel.
8502 (alpha_tls_size, alpha_tls_size_string): New.
8503 (TARGET_OPTIONS): Add -mtls-size=.
8504 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
8505 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
8506 (ASM_OUTPUT_LABELREF): Skip %.
8507 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
8508 (PREDICATE_CODES): Update.
8509 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
8510 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
8511 UNSPEC_TP, UNSPECV_SET_TP): New.
8512 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
8513 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
8514 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
8515 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
8516 (call_value_osf_2_er): Accept anything as op4.
8517 * config/alpha/alpha-protos.h: Update.
8518 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
8519
39e5db1a
ZW
85202002-05-31 Zack Weinberg <zack@codesourcery.com>
8521
8522 * cppinit.c (append_include_chain): Always pay attention to
8523 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
8524 marker on argument.
8525
41077ce4
KH
85262002-05-31 Kazu Hirata <kazu@cs.umass.edu>
8527
8528 * target.h: Fix formatting.
8529 * timevar.h: Likewise.
8530 * tlink.c: Likewise.
8531 * toplev.c: Likewise.
8532 * toplev.h: Likewise.
8533 * tree.c: Likewise.
8534 * tree-dump.h: Likewise.
8535 * tree.h: Likewise.
8536 * tree-inline.h: Likewise.
8537 * unroll.c: Likewise.
8538 * unwind-dw2.c: Likewise.
8539 * unwind-dw2-fde.c: Likewise.
8540 * unwind-dw2-fde-glibc.c: Likewise.
8541 * unwind-dw2-fde.h: Likewise.
8542 * unwind.h: Likewise.
8543 * unwind-sjlj.c: Likewise.
8544 * varasm.c: Likewise.
8545 * varray.h: Likewise.
8546 * vmsdbg.h: Likewise.
8547 * vmsdbgout.c: Likewise.
8548 * xcoffout.h: Likewise.
8549
b2e426a0
IS
85502002-05-31 Igor Shevlyakov <igor@microunity.com>
8551
1e730c5c 8552 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
8553 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
8554
8b968bd1
MW
85552002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
8556
8557 * gcc.c (cpp_unique_options): Remove "-d" options.
8558 (cpp_debug_options): New spec string.
8559 (default_compilers): Use it.
8560 * objc/lang-specs.h: Likewise.
8561
5c35940c
NN
85622002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
8563
1e730c5c 8564 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
8565 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
8566 * gcc/mklibgcc.in: Likewise.
8567 * gcc/config/arc/t-arc: Likewise.
8568 * gcc/configure.in: Likewise.
8569 * gcc/configure: Regenerate.
8570
8b496ceb
SS
85712002-05-31 Stan Shebs <shebs@apple.com>
8572 Turly O'Connor <turly@apple.com>
8573
8574 * c-decl.c (struct binding_level): Change int field n_incomplete
8575 to tree list incomplete_list.
8576 (clear_binding_level): Init field with NULL.
8577 (pushdecl): Add incomplete type to list.
8578 (mark_binding_level): Mark the incomplete list.
8579 (finish_struct): Scan the incomplete list for types instead
8580 of all decls in the current binding level.
8581
4722213d
JDA
85822002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
8583
8584 * pa.c (output_millicode_call): Add missing '%' characters.
8585 (output_call): Likewise.
8586
1086fcb1
DE
85872002-05-31 David Edelsohn <edelsohn@gnu.org>
8588
8589 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
8590 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
8591
afdfb380 85922002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 8593
afdfb380
AL
8594 * varasm.c (mark_constant_pool): Walk epilogue delay list
8595 checking the insn, not the chain for potential constants.
1e730c5c 8596
f2df45f6
R
8597Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
8598
8599 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
8600
91ea38f9
JH
8601Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
8602
8603 * i386.c (classify_argument): Properly handle base types.
8604
8605 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
8606 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
8607 registers.
8608
10d1bb36
JH
8609Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8610
8611 * gcse.c (gcse_emit_move_after): New.
8612 (pre_delete, hoist_store): Use it.
8613
8614 * reload1.c (emit_input_reload_insns): Use constrain_operands
8615 instead of constraint_accepts_reg_p to verify optimization.
8616 (constraint_accepts_reg_p): Kill
8617
8618 * reload1.c (reload_cse_delete_noop_set): Kill.
8619 (reload_cse_simplify): use delte_insn_and_edges.
8620
8a72fb76
ZD
86212002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8622
8623 * cfgloop.c (flow_loops_find): Initialize first and last fields
8624 correctly.
8625
a9da2e5b
NB
86262002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
8627
8628 * c-common.c (builtin_define_std): Correct logic.
8629
6248c4dd
JDA
86302002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
8631
8632 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
8633 (output_call): Likewise.
8634
d499455b
JDA
86352002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
8636
8637 * pa.c: Move output.h include after tree.h include.
8638 (pa_asm_output_mi_thunk): Constify identifier lab.
8639
2eb2901a
JT
86402002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
8641
8642 * config/ns32k/ns32k.h: Define named constants for the
8643 bits in target_flags and use them.
8644 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
8645
806bf413
JDA
86462002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
8647
8648 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
8649 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
8650 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
8651 default scheduling model.
8652 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
8653 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
8654 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
8655 * doc/install.texi (hppa*-*-*): Document default scheduling.
8656
6d8d2bbc
JDA
86572002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
8658
8659 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
8660
c8eb9785
JT
86612002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
8662
8663 * config.gcc (ns32k-*-netbsd*): Set tm_file to
8664 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
8665 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
8666 netbsd.h, or netbsd-aout.h.
8667
6e2e5b6a
JT
86682002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
8669
8670 * longlong.h (count_trailing_zeros): Add missing \, and clean up
8671 whitespace in __ns32000__ case.
8672
00182e1e
AH
86732002-05-31 Aldy Hernandez <aldyh@redhat.com>
8674
1e730c5c
ZW
8675 * expr.c (expand_expr): Output partially zeroed out vectors with
8676 output_constant_def.
00182e1e 8677
b4eb03fe
JT
86782002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
8679
8680 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
8681 (sh-*-netbsdelf*)
8682 (shl*-*-netbsdelf*): New targets.
8683 * config/sh/netbsd-elf.h: New file.
8fd0df91 8684 * config/sh/t-netbsd: New file.
b4eb03fe 8685
261376e7
RH
86862002-05-30 Richard Henderson <rth@redhat.com>
8687 Eric Botcazou <ebotcazou@multimania.com>
8688
8689 PR optimization/6822
8690 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
8691 to unsigned int for op1 comparisons. Use gen_int_mode.
8692
ce60bf25
EB
86932002-05-30 Eric Botcazou <ebotcazou@multimania.com>
8694
8695 * expmed.c (const_mult_add_overflow_p): New.
8696 * expr.h: Declare it.
8697 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
8698 Don't eliminate the biv if the giv has a constant multiplier and
8699 the rhs argument of the comparison does satisfy the predicate.
8700 Use expand_mult_add to compute the replacement constant.
8701
d18b1ed8
OS
87022002-05-30 Osku Salerma <osku@iki.fi>
8703
8704 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
8705 (c_common_get_alias_set): Handle it.
8706 * doc/extend.texi: Document it.
8707
a7943381
RH
87082002-05-30 Richard Henderson <rth@redhat.com>
8709
8710 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
8711 * toplev.c (process_options): Don't check it.
8712 * doc/tm.texi: Don't document it.
8713 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
8714 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
8715 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
8716 frame pointer optimization if current_function_profile.
8717
e11e816e
KH
87182002-05-30 Kazu Hirata <kazu@cs.umass.edu>
8719
8720 * langhooks.c: Fix formatting.
8721 * langhooks.h: Likewise.
8722 * lcm.c: Likewise.
8723 * libgcc2.c: Likewise.
8724 * lists.c: Likewise.
8725 * local-alloc.c: Likewise.
8726 * loop.c: Likewise.
8727 * loop.h: Likewise.
8728
87292002-05-30 Marc Espie <espie@openbsd.org>
8730
8731 * config.gcc (sparc64-*-openbsd*): New.
8732 * config/sparc/openbsd1-64.h: New.
8733 * config/sparc/openbsd64.h: New.
91f0fcee 8734
d35dfca9
JL
87352002-05-30 Jeff Law <law@redhat.com>
8736
8737 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
8738 a dead insn with a REG_RETVAL note when the entire libcall is not
8739 dead and remove the associated REG_LIBCALL note at the same time.
8740
81b40b72
R
8741Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
8742
8743 * lcm.c (output.h): #include.
8744 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
8745 as an ordinary block.
8746 (optimize_mode_switching): Don't pretend that the exit block is
8747 an ordinary block, or handle sucessors of entry block specially.
8748 Instead, split edges from entry block and to exit block, and
8749 put a computing definition on the thus gained post-entry-block,
8750 and a need on the pre-exit-block.
8751
c8ea9a0f
JH
8752Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
8753
8754 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
8755 * rtl.texi: Document 'B'
8756
348f0869
JT
87572002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
8758
8759 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
8760 at run-time.
8761 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
8762
9a171fcd
AH
87632002-05-30 Aldy Hernandez <aldyh@redhat.com>
8764
1e730c5c
ZW
8765 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
8766 const0_rtx instead of NULL_RTX when in error.
8767 (altivec_expand_abs_builtin): Same.
8768 (rs6000_expand_binop_builtin): Same.
8769 (altivec_expand_predicate_builtin): Same.
8770 (altivec_expand_stv_builtin): Same.
8771 (rs6000_expand_ternop_builtin): Same.
8772 (altivec_expand_builtin): Same.
9a171fcd 8773
62a35e60
DM
87742002-05-29 David S. Miller <davem@redhat.com>
8775
8776 * rtl.h (clear_emit_caches): Delete.
8777 * integrate.c (output_inline_function): Don't call it.
8778 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
8779 (clear_emit_caches): Delete definition.
8780 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
8781
cbc39da8
HPN
87822002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
8783
8784 * config/mmix/mmix.c: Include real.h.
8785 (mmix_constant_address_p): Remove redundant test before switch.
8786
50efa737
JT
87872002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
8788
8789 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
8790 only if not already defined.
8791
2e760b15
KH
87922002-05-29 Kazu Hirata <kazu@cs.umass.edu>
8793
8794 * config/h8300/h8300-protos.h: Remove prototypes for
8795 ok_for_bclr and small_power_of_two.
8796 * config/h8300/h8300.c (small_power_of_two): Remove.
8797 (ok_for_blcr): Likewise.
8798 (fix_bit_operand): Make WHAT deal with an integer instead of a
8799 constraint character.
8800 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
8801 (CONST_OK_FOR_P): Likewise.
8802 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
8803 CONST_OK_FOR_P any more.
8804 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
8805 of fix_bit_operand.
8806 (iorqi3): Likewise.
8807 (xorqi3): Likewise.
8808
e1c293ae
JT
88092002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
8810
8811 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
8812 (CPP_PREDEFINES): Make sure this is undefined.
8813 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
8814 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
8815 or -U__MIPSEB__ before defining one or the other. Instead,
8816 use %(subtarget_endian_default) if neither -EB nor -EL are
8817 specified.
8818 (SUBTARGET_EXTRA_SPECS): Define.
8819 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
8820 %(netbsd_cpp_spec).
8821
fde6d81f
HPN
88222002-05-29 Hans-Peter Nilsson <hp@axis.com>
8823
8824 * doc/md.texi (Patterns): Note pattern condition pitfall
8825 for unnamed insn.
8826
92898235
AH
88272002-05-29 Aldy Hernandez <aldyh@redhat.com>
8828
1e730c5c
ZW
8829 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
8830 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
8831 ternary operations from here...
8832 (rs6000_expand_builtin): ...to here.
8833 New argument expandedp.
8834 Change all instances of altivec_expand_binop_builtin to
8835 rs6000_expand_binop_builtin.
8836 (altivec_expand_unop_builtin): Rename to
8837 rs6000_expand_unop_builtin.
8838 (altivec_expand_binop_builtin): Rename to
8839 rs6000_expand_binop_builtin.
8840 (altivec_expand_ternop_builtin): Rename to
8841 rs6000_expand_ternop_builtin.
92898235 8842
67adf6a9
RH
88432002-05-29 Richard Henderson <rth@redhat.com>
8844
8845 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
8846 (TARGET_BI_ARCH): Likewise.
8847 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
8848 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
8849 (TARGET_64BIT_DEFAULT): Default to 0.
8850 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
8851
145aacc2
RH
88522002-05-29 Richard Henderson <rth@redhat.com>
8853
8854 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
8855 (get_pc_thunk_name): New.
8856 (output_set_got): Use it.
8857 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
8858 into linkonce sections.
8859
a5b49bbc
JT
88602002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
8861
8862 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
8863 (CPP_PREDEFINES): Make sure this is undefined.
8864 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
8865 (CPP_SUBTARGET_SPEC): Don't provide different versions for
8866 default-32 and default-64. Just always use %(netbsd_cpp_spec).
8867 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
8868 cpp_subtarget_spec64. Add netbsd_cpp_spec.
8869 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
8870 (CPP_PREDEFINES): Make sure this is undefined.
8871 (SUBTARGET_EXTRA_SPECS): Define.
8872 (CPP_SPEC): Use %(netbsd_cpp_spec).
8873
54374491
JL
88742002-05-29 Jeff Law <law@redhat.com>
8875
ae02eae8
JL
8876 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
8877
b862c2aa
JL
8878 * flow.c (propagate_one_insn): Do not remove a dead insn if it
8879 contains a REG_RETVAL note.
8880
d10791ba
JL
8881 * haifa-sched (sched_analyze): Remove another useless clearing
8882 of SCHED_GROUP_P I missed yesterday.
8883
54374491
JL
8884 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
8885 * pa.c (pa_asm_output_mi_thunk): New function.
8886 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
8887
92c392e6
NB
88882002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
8889 Marek Michalkiewicz <marekm@amelek.gda.pl>
8890
8891 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
8892 (avr_asm_only_p): Make non-static.
8893 (enum avr_arch): Remove.
8894 (avr_arch_types): New.
8895 (avr_mcu_types): Update.
8896 (avr_override_options): Use avr_arch_types table instead of switch.
8897 * avr.h (CPP_PREDEFINES): Die.
8898 (avr_base_arch_macro, avr_extra_arch_macro): New.
8899 (TARGET_CPU_CPP_BUILTINS): New.
8900 (CPP_SPEC, EXTRA_SPECS): Simplify.
8901 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
8902 CPP_AVR5_SPEC): Die.
8903
4528173e
JT
89042002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
8905
8906 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
8907 NETBSD_OS_CPP_BUILTINS_AOUT.
8908 (SUBTARGET_EXTRA_SPECS): Define.
8909 (CPP_SPEC): Use %(netbsd_cpp_spec).
8910
bd09bdeb
RH
89112002-05-29 Richard Henderson <rth@redhat.com>
8912
8913 * config/i386/i386.c (ix86_output_function_epilogue): New.
8914 (TARGET_ASM_FUNCTION_EPILOGUE): New.
8915 (pic_label_name): Remove.
8916 (pic_labels_used): New.
8917 (ix86_asm_file_end): Emit one pc load stub for each register used.
8918 (output_set_got): Generate deep pc load to any register.
8919 (ix86_select_alt_pic_regnum): New.
8920 (ix86_save_reg): Don't save pic register if we can find a valid
8921 call-clobbered replacement.
8922 (ix86_expand_prologue): If we found a valid replacement, renumber
8923 pic_offset_table_rtx.
8924 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
8925 pic_offset_table_rtx after reload.
8926 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
8927 * config/i386/i386.md (set_got): Make insn, not expander.
8928 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
8929
002ff5bc
RH
89302002-05-29 Richard Henderson <rth@redhat.com>
8931
8932 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
8933 alignment for alloca.
8934
edfe8595
RH
89352002-05-29 Richard Henderson <rth@redhat.com>
8936
8937 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
8938 (print_operand_address): Only add rip for symbolic addresses
8939 for which we do not have another relocation type.
8940
cd7714ee
JT
89412002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
8942
8943 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
8944 (EXTRA_SPECS): Add netbsd_cpp_spec.
8945 (CPP_SPEC): Use %(netbsd_cpp_spec).
8946 (CPP_PREDEFINES): Remove.
8947 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
8948 (EXTRA_SPECS): Define.
8949 (CPP_SPEC): Use %(netbsd_cpp_spec).
8950 (CPP_PREDEFINES): Remove.
8951
8dc901de
NB
89522002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
8953
8954 PR preprocessor/6844
8955 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
8956 NUL.
8957
2274b31a
EC
89582002-05-29 Eric Christopher <echristo@redhat.com>
8959
8960 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
8961 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
8962
5c7666c1
NC
89632002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
8964
8965 * config/fr30/fr30.md: Remove previous restriction on splits.
8966 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 8967 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
8968 as the assembler does not support ".bss".
8969
45beef47
JT
89702002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
8971
8972 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
8973 (CPP_PREDEFINES): Remove.
8974 (SUBTARGET_EXTRA_SPECS): Define.
8975 (CPP_SPEC): Use %(netbsd_cpp_spec).
8976 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
8977 (CPP_PREDEFINES): Remove.
8978 (SUBTARGET_EXTRA_SPECS): Define.
8979 (CPP_SPEC): Use %(netbsd_cpp_spec).
8980 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
8981 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
8982 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
8983 Add netbsd_cpp_spec.
8984 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
8985
cd7ab83f
NB
89862002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
8987 Zack Weinberg <zack@codesourcery.com>
8988
8989 * cppexp.c (cpp_num): Move to cpplib.h.
8990 (CPP_ERROR): Remove.
8991 (interpret_float_suffix, interpret_int_suffix): New.
8992 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
8993 (cpp_classify_number, cpp_interpret_integer): New.
8994 (interpret_number): Remove.
8995 (eval_token): Update to use new routines.
8996 * cpphash.h (cpp_num_part): Move to cpplib.h.
8997 * cppinit.c (cpp_post_options): Set warn_long_long.
8998 * cpplib.h (struct cpp_options): Add warn_long_long.
8999 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
9000 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
9001 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
9002 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
9003 cpp_interpret_integer): New.
9004
61a8515c
JS
90052002-05-29 Joel Sherrill <joel@OARcorp.com>
9006
9007 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
9008
53a428b5
JT
90092002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
9010
9011 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
9012 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
9013 (CPP_SUBTARGET_SPEC): Define.
9014 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
9015 (CPP_SPEC): Remove.
9016
45b1f7c7
CL
90172002-05-29 Chris Lattner <sabre@nondot.org>
9018
1e730c5c
ZW
9019 * ssa.c (rename_insn_1): Rename uses of undefined registers to
9020 prevent confusion if/when the register is defined.
45b1f7c7 9021
049746c2
HPN
90222002-05-29 Hans-Peter Nilsson <hp@axis.com>
9023
9024 PR target/6838
9025 * config/cris/cris.md: Fix typos and thinkos in comments.
9026 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
9027 second alternative.
9028 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
9029 ("*mov_sideqi_mem"): Similar, but for operand 3.
9030 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
9031 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
9032 Remove spurious mode specifier on operand 2.
9033
4d4d89e2
KH
90342002-05-29 Kazu Hirata <kazu@cs.umass.edu>
9035
9036 * config/h8300/h8300-protos.h: Remove the prototype for
9037 o_operand.
9038 Add prototypes for single_one_operand and single_zero_operand.
9039 * config/h8300/h8300.c (o_operand): Remove.
9040 (single_one_operand): New.
9041 (single_zero_operand): Likewise.
9042 (print_operand): For 'V' operand, and the operand with 0xff.
9043 For 'V' and 'W' operands, do not and the bit position with 7.
9044 * config/h8300/h8300.md (various anonymous patterns): Replace
9045 use of exact_log2 with single_one_operand/single_zero_operand.
9046
abd6ddec
UW
90472002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
9048
9049 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
9050
da06d85a
UW
90512002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
9052
9053 * config/s390/s390.c (legitimate_pic_operand_p): Do not
9054 accept symbolic LARL operands.
2274b31a 9055 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 9056 epilogue insns.
2274b31a 9057
f8766020
HP
90582002-05-29 Hartmut Penner <hpenner@de.ibm.com>
9059
9060 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 9061 input registers as used.
f8766020 9062
66edd3b4
RH
90632002-05-28 Richard Henderson <rth@redhat.com>
9064
9065 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
9066 not current_function_uses_pic_offset_table and
9067 current_function_uses_const_pool; examine current_function_profile.
9068 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
9069 input to blockage if needed.
9070 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
9071 (legitimize_pic_address): Likewise. Set regs_ever_live for
9072 pic_offset_table_rtx when invoked during reload.
9073 * config/i386/i386.h (FINALIZE_PIC): Remove.
9074 * config/i386/i386.md (tablejump): Reformat. Do not set
9075 current_function_uses_pic_offset_table.
9076 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
9077 (blockage): Accept anything as operand 0.
9078
52f4fff6
JT
90792002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
9080
9081 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
9082 common CPP built-ins for all NetBSD a.out targets.
9083 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
9084 common CPP built-ins for all NetBSD ELF targets.
9085 * config/netbsd.h: Add missing notice.
9086 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
9087 for all NetBSD targets.
9088 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
9089 for all NetBSD targets using an LP64 code model.
9090 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
9091 NetBSD targets.
9092
e0e577a2
RH
90932002-05-28 Richard Henderson <rth@redhat.com>
9094
9095 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
9096 update if UPDATE_LIFE_LOCAL.
9097
90982002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
9099
9100 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
9101
f1a58d92 9102Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 9103 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
9104
9105 config/sh reorganization to factor out endianness and coff:
9106
9107 * config/sh/little.h: New file.
1e730c5c
ZW
9108 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
9109 defined, define to 0 to select big-endian.
f1a58d92 9110 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
9111 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
9112 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
9113 * config/sh/t-be: New file.
9114 * config/sh/t-le: New file.
f1a58d92
R
9115
9116 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
9117 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
9118 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
9119 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
9120 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
9121 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
9122 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
9123 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
9124 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
9125 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
9126 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
9127 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
9128 (LINK_SPEC): Define to SH_LINK_SPEC.
9129 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
9130 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
9131 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
9132 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
9133 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
9134 * config/sh/coff.h: New file.
9135 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
9136 (TARGET_OBJFMT_CPP_BUILTINS): Define.
9137 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
9138 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
9139 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
9140 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
9141 (PTRDIFF_TYPE): Likewise.
9142 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
9143 (CPP_PREDEFINES): Don't define.
9144 (TARGET_OBJFMT_CPP_BUILTINS): Define.
9145 (LINK_SPEC): Define to SH_LINK_SPEC.
9146 (LINK_EMUL_PREFIX): Redefine.
9147 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
9148 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
9149 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
9150 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
9151 (TARGET_OS_CPP_BUILTINS): Define.
9152 (TARGET_DEFAULT): Redefine.
9153 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
9154 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
9155 (LINK_SPEC): Don't redefine.
9156 (LINK_DEFAULT_CPU_EMUL): Redefine.
9157 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
9158 * sh.c (sh_asm_named_section): Don't declare / define.
9159 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
9160 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
9161 (sh64-*-elf* tm_file): Likewise.
9162 (sh-*-rtemself* tm_file): Likewise.
9163 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
9164 (sh-*-linux* tmake_file): Add sh/t-le.
9165 (sh-*-rtems* tm_file): Add sh/coff.h
9166 (sh-*-* tm_file): Likewise.
9167
9168Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
9169
9170 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
9171 CONSTANT_POOL_ADDRESS_P.
9172
9173 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
9174
d10791ba 91752002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
9176 Jeff Law <law@redhat.com>
9177
64de6c0a
DE
9178 * optabs.c (expand_binop): Fix nwords sign warnings.
9179 generate pseudo for add_optab.
9180
33a3dfc4
DE
9181 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
9182 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
9183
972957ba 91842002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 9185
2274b31a 9186 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
9187 inherited from gas.h.
9188 (ASM_QUAD): Undef. OpenBSD does not support it.
9189
cc92b8ab
DS
91902002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
9191
9192 * doc/install.texi (binaries): Change mingw binaries
9193 link to www.mingw.org.
9194
f8088d55
ZD
91952002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9196
9197 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
9198
0b7ae565
RH
91992002-05-28 Richard Henderson <rth@redhat.com>
9200
9201 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
9202 bottom alignment for leaf functions.
9203
16069d69
ZW
92042002-05-28 Zack Weinberg <zack@codesourcery.com>
9205
9206 * config/pa/milli32.S, config/pa/lib1funcs.asm,
9207 config/sparc/sol2-g1.asm: Delete unused files.
9208
04653686
RH
92092002-05-28 Richard Henderson <rth@redhat.com>
9210
9211 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
9212
f3ea5f6a
RH
9213 * flow.c (calculate_global_regs_live): Rename call_used to
9214 invalidated_by_call. Initialize from regs_invalidated_by_call
9215 instead of call_used_regs.
9216
923c7cdf
RH
9217 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
9218 DECL_EXTERNAL.
9219
11ad4784
ZW
92202002-05-28 Zack Weinberg <zack@codesourcery.com>
9221
8abbd76a
ZW
9222 * tree.h: Don't include real.h.
9223 Forward-declare struct realvaluetype.
11ad4784
ZW
9224 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
9225 contain it.
9226 (TREE_REAL_CST_PTR): New accessor.
9227 (TREE_REAL_CST): Update.
9228 * real.h: Include machmode.h.
2274b31a 9229 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
9230 (build_real): Prototype here.
9231
9232 * tree.c: Include real.h.
2274b31a
EC
9233 (build_real): Allocate the REAL_VALUE_TYPE as a separate
9234 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
9235 (build_real_from_int_cst): Use build_real.
9236 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
9237 REAL_CST.
9238
9239 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
9240 fold-const.c, print-tree.c, real.c: Include real.h.
9241 * Makefile.in: Update dependency lists.
9242
bf77398c
ZD
92432002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9244
9245 * basic-block.h (last_basic_block): Declare.
9246 (expunge_block_nocompact): Declaration removed.
9247 (compact_blocks): Declare.
9248 * cfg.c (last_basic_block): New variable.
9249 (expunge_block_nocompact): Removed.
9250 (expunge_block): Do not compact basic blocks.
9251 (compact_blocks): New.
9252 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
9253 longer change.
9254 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
9255 last_basic_block.
9256 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
9257 real positions of blocks.
9258 (delete_unreachable_blocks): Simplified -- quadratic behavior now
9259 cannot occur.
9260 (cleanup_cfg): Compact blocks.
9261 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
9262 basic_block_info varray.
9263 (flow_delete_block): Comment update.
9264 (back_edge_of_syntactic_loop_p): Modify position check code.
9265 (verify_flow_info): Update checking.
9266 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
9267 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
9268 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
9269 indices no longer change.
9270 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
9271 last_basic_block.
9272 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
9273 * profile.c (branch_prob): Compact blocks.
9274 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
9275 last_basic_block.
9276
ae12a094
KH
92772002-05-28 Kazu Hirata <kazu@cs.umass.edu>
9278
9279 * config/h8300/h8300.md (two anonymous patterns): New.
9280
c6172f14
DM
92812002-05-28 David S. Miller <davem@redhat.com>
9282
9283 * config/sparc/sparc.md (cpu): Tidy.
9284 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
9285 'trap'.
9286 (in_call_delay): Delete reference to 'return' type.
9287 (eligible_for_return_delay, in_return_delay, define_delay
9288 referencing those): Delete.
9289 (rest of file): Use new type attributes as appropriate.
9290 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
9291 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
9292 * config/sparc/ultra1_2.md (us1_single): New reservation.
9293 (us1_ialuX): Likewise.
9294 * config/sparc/ultra3.md (us3_single): Likewise.
9295 (us3_ialuX): Likewise.
9296 (us3_imul, us3_idiv): Tweak.
2274b31a 9297
34a6c2ec
RH
92982002-05-28 Richard Henderson <rth@redhat.com>
9299
9300 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
9301 STRING_CST.
9302
9c075570
RH
93032002-05-28 Richard Henderson <rth@redhat.com>
9304
9305 * config.gcc: Obsolete mn10200.
9306
359b0bec
NB
93072002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
9308
9309 * cppexp.c (interpret_number): Optimize for single-digit
9310 and less-than-half-precision cases.
9311 (num_trim, num_positive, num_div_op): Cast constants.
9312
4075db8f
BT
93132002-05-27 Bo Thorsen <bo@suse.de>
9314
9315 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
9316 3.1 branch. The file was made by Jakub Jelinek.
9317 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
9318 support so multilib doesn't break. And don't define this at all
9319 when -Dinhibit_libc is used.
9320 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
9321 * config/i386/t-linux64: Implement full multilib support. Patch
9322 originally done by Andreas Jaeger and Jakub Jelinek.
9323
39f2f3c8
RS
93242002-05-27 Roger Sayle <roger@eyesopen.com>
9325
9326 * c-common.c: Add support for __attribute__((nothrow)) to specify
9327 that a function cannot throw an exception (using TREE_NOTHROW).
9328 (handle_nothrow_attribute): New function to process this attribute.
9329
9330 * doc/extend.texi: Document the new nothrow function attribute.
9331
d51b0053
L
93322002-05-27 H.J. Lu (hjl@gnu.org)
9333
9334 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
9335 (num_positive): Likewise.
9336 (num_div_op): Likewise.
9337
630363b4
NB
93382002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
9339
9340 * c-common.c (c_common_init): Always use intmax_t.
9341
d94cde01
NB
93422002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
9343
9344 * c-common.c (c_common_init): Use intmax_t for now.
9345
57f851a3
AH
93462002-05-24 Andrew Haley <aph@redhat.com>
9347
9348 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
9349 if T is a boolean type.
9350
d55bc081
ZD
93512002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9352
9353 * basic-block.h (last_basic_block): Defined as synonym for
9354 n_basic_blocks.
9355 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
9356 flow_depth_first_order_compute, flow_preorder_transversal_compute,
9357 flow_dfs_compute_reverse_init): Replaced relevant occurences of
9358 n_basic_blocks with last_basic_block.
9359 * cfgbuild.c (make_edges): Likewise.
9360 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
9361 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
9362 * combine.c (combine_instructions): Likewise.
9363 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
9364 iterative_dataflow_bitmap): Likewise.
9365 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
9366 calc_idoms, idoms_to_doms): Likewise.
9367 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
9368 Likewise.
9369 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
9370 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
9371 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
9372 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
9373 delete_null_pointer_checks, compute_code_hoist_vbeinout,
9374 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
9375 compute_store_table, build_store_vectors): Likewise.
9376 * haifa-sched.c (sched_init): Likewise.
9377 * ifcvt.c (if_convert): Likewise.
9378 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
9379 pre_edge_lcm, compute_available, compute_nearerout,
9380 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
9381 Likewise.
9382 * predict.c (estimate_probability, process_note_prediction,
9383 note_prediction_to_br_prob): Likewise.
9384 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
9385 * recog.c (split_all_insns, peephole2_optimize): Likewise.
9386 * regrename.c (copyprop_hardreg_forward): Likewise.
9387 * resource.c (init_resource_info): Likewise.
9388 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
9389 init_regions, schedule_insns): Likewise.
9390 * ssa-ccp.c (ssa_const_prop): Likewise.
9391 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
9392 * ssa.c (compute_dominance_frontiers,
9393 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
9394
9395 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
9396 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
9397 sizes consistently.
9398
71d2c5bd
JH
9399Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
9400
9401 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
9402 new.
9403 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
9404 hoist_insn_after, hoist_insn_to_edge): New.
9405
5149f070
JH
9406Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
9407
9408 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
9409 (PROP_FINAL): Include.
9410 * flow.c (life_analysis, update_life_info,
9411 init_propagate_block_info, mark_set_1, mark_used_rgs):
9412 Support SCAN_DEAD_STORE.
9413
c9220e3a
NB
94142002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
9415
9416 * c-common.c (c_common_init): Set CPP arithmetic precision.
9417 * cppexp.c (cpp_num_part): Move typedef ...
9418 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
9419 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
9420 (sanity_checks): Update.
9421
e34a3d31
GK
94222002-05-26 Geoffrey Keating <geoffk@redhat.com>
9423
9424 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
9425 (mkheaders): New rule.
9426 (install-mkheaders): New rule.
9427 * configure.in (all_outputs): Add mkheaders.
9428 * configure: Regenerate.
9429 * mkheaders.in: New file.
9430
9059e33c
JJ
94312002-05-26 Jakub Jelinek <jakub@redhat.com>
9432
9433 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
9434
291cc0fe
AJ
94352002-05-26 Andreas Jaeger <aj@suse.de>
9436
9437 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
9438
91318908
NB
94392002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
9440
9441 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
9442 right_shift): Remove.
9443 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
9444 HIGH_PART): New.
9445 (struct op): Use cpp_num.
9446 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
9447 num_part_mul, num_unary_op, num_binary_op, num_negate,
9448 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
9449 num_div_op, num_lshift, num_rshift, append_digit): New.
9450 (interpret_number, parse_defined, eval_token, reduce): Update
9451 for two-integer arithmetic.
9452 (binary_handler): New typedef.
9453 (optab): Update.
9454 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
9455 (_cpp_parse_expr, reduce): Update to handle two-integers.
9456 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
9457
331ca350
MM
94582002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
9459
9460 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
9461 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
9462 branch insn into account, do not assume 1.
9463 (avr_out_sbxx_branch): New function. Optimize cases of skipping
9464 over single word insn. Handle upper half of I/O space too.
9465 * config/avr/avr.md (*sbrx_branch): Use it.
9466 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
9467 (*sbix_branch, *sbix_branch_bit7): Likewise.
9468 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
9469 Use RTL peepholes to optimize register operand sign tests.
9470
bcb6a2be
MM
94712002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
9472
9473 * config/avr/avr.c (avr_asm_only_p): New variable.
9474 (avr_override_options): Set it here if AVR1.
9475 (asm_file_start): Test it here, report an error if set.
9476
ca7fd9cd
KH
94772002-05-26 Kazu Hirata <kazu@cs.umass.edu>
9478
9479 * alias.c: Fix formatting.
9480 * attribs.c: Likewise.
9481 * bb-reorder.c: Likewise.
9482 * bitmap.c: Likewise.
9483 * bitmap.h: Likewise.
9484 * builtins.c: Likewise.
9485
a65dc37d
JH
9486Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
9487
9488 * reload.c (find_valid_class): Accept new argument DEST,
9489 choose class accordingly.
9490 (push_reload): Update callers.
9491
9b89393b
AJ
94922002-05-26 Andreas Jaeger <aj@suse.de>
9493
9494 * combine.c (combine_instructions): Do not indent #if for
9495 traditional C.
9496
b53bb376
RH
94972002-05-25 Richard Henderson <rth@redhat.com>
9498
9499 * c-pragma.c (apply_pragma_weak): Convert value identifier to
9500 string for decl_attributes.
9501 (handle_pragma_weak): Call assemble_alias if we're modifying
9502 an existing decl.
9503
e133041b
RH
95042002-05-25 Richard Henderson <rth@redhat.com>
9505
9506 PR target/6788
9507 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
9508 using rtl instead of fprintf.
9509 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
9510 * config/sparc/sparc-protos.h: Update.
9511
81a75f0f
NB
95122002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
9513
9514 * Makefile.in (C_COMMON_H): Fix.
9515 Update other targets.
9516 * c-common.c: Don't include c-lex.h.
9517 (builtin_define_with_value): Make static and prototype.
9518 (builtin_define_std): Move from c-lex.h.
9519 * c-common.h (init_c_lex): Move from c-lex.h.
9520 * c-decl.c: Don't include c-lex.h.
9521 (make_pointer_declarator): Move from c-parse.in.
9522 * c-lex.c: Don't include c-lex.h.
9523 * c-lex.h: Remove.
9524 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
9525 (make_pointer_declarator): Move to c-decl.c.
9526 * c-pragma.c: Don't include c-lex.h.
9527 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
9528 * c-tree.h (make_pointer_declarator): New.
9529doc:
9530 * passes.texi, tm.texi: Update.
9531objc:
9532 * Make-lang.in: Update and correct.
9533 * objc-act.c: Don't include c-lex.h or cpplib.h.
9534treelang:
9535 * treetree.c: Don't include c-lex.h.
9536config:
9537 * darwin-c.c: Don't include c-lex.h.
9538 * c4x/c4x-c.c: Don't include c-lex.h.
9539 * c4x/t-c4x: Update.
9540 * i370/i370-c.c: Don't include c-lex.h.
9541 * i370/t-i370: Update.
9542 * i960/i960-c.c: Don't include c-lex.h.
9543 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
9544 * i960/t-960bare: Update.
9545 * i960/t-vxworks: Update.
9546 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
9547 * rs6000/t-darwin: Update.
9548 * rs6000/t-rs6000-c-rule: Update.
9549 * v850/v850-c.c: Don't include c-lex.h.
9550 * v850/v850.c: Don't include c-lex.h or cpplib.h.
9551
9552
04d2be8e
KH
95532002-05-25 Kazu Hirata <kazu@cs.umass.edu>
9554
9555 * tree.def: Fix typos.
9556 * doc/install.texi: Likewise.
9557
7b6e506e
RH
95582002-05-25 Richard Henderson <rth@redhat.com>
9559
9560 * configure.in (HAVE_AS_TLS): Add ia64 test.
9561 * configure: Rebuild.
9562 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
9563 (override_options): Set it.
9564 (TARGET_HAVE_TLS): New.
9565 (sdata_symbolic_operand): Look for 's'.
9566 (tls_symbolic_operand): New.
9567 (ia64_expand_load_address): Abort for tls symbols.
9568 (gen_tls_get_addr): New.
9569 (gen_thread_pointer): New.
9570 (ia64_expand_move): Split out from movdi. Handle tls symbols.
9571 (rtx_needs_barrier): Add new unspecs.
9572 (ia64_encode_section_info): Handle tls symbols.
9573 (ia64_strip_name_encoding): Strip two encoding chars.
9574 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
9575 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
9576 (TARGET_OPTIONS): Add tls-size.
9577 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
9578 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
9579 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
9580 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
9581 (movsf, movdf): Likewise.
9582 (movdi_symbolic): Use match_scratch. Don't split if we won't
9583 have a scratch availiable.
9584 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
9585 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
9586 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
9587 * config/ia64/ia64-protos.h: Update.
9588 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
9589 sdata_symbolic_operand.
9590 (ASM_OUTPUT_LABELREF): Strip two characters.
9591
8c1d52a3
KH
95922002-05-25 Kazu Hirata <kazu@cs.umass.edu>
9593
9594 * combine.c (simplify_set): Remove an unnecessary subreg.
9595
b47cae3d
MM
95962002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
9597
9598 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
9599
9600 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
9601
ce9e3a6d
GDR
96022002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
9603
9604 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
9605
fb2c6841
RS
96062002-05-25 Roger Sayle <roger@eyesopen.com>
9607
9608 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
9609 (cond (compare x y) 0) into the equivalent (cond x y).
9610
da7ac8f1
GDR
96112002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
9612
9613 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
9614
c7bdf0a6
ZW
96152002-05-24 Zack Weinberg <zack@codesourcery.com>
9616
9617 * config.gcc: Remove all stanzas for previously obsoleted
9618 systems. Where necessary, add explicit error stanzas to
9619 prevent removed systems from being misidentified as something
9620 else. Begin a fresh obsoletions list, with the systems that
9621 were reprieved last round.
9622 * doc/install.texi: Remove all mention of dead targets.
9623 * fixinc/mkfixinc.sh: Likewise.
9624
9625 * config/arm/arm.h: Bit 31 of target_flags is no longer
9626 reserved.
9627
9628 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
9629 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
9630 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
9631 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
9632 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
9633 config/alpha/osf12.h, config/alpha/osf2or3.h,
9634 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
9635 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
9636 config/clipper/clipper-protos.h, config/clipper/clipper.c,
9637 config/clipper/clipper.h, config/clipper/clipper.md,
9638 config/clipper/clix.h, config/convex/convex-protos.h,
9639 config/convex/convex.c, config/convex/convex.h,
9640 config/convex/convex.md, config/convex/fixinc.convex,
9641 config/convex/proto.h, config/elxsi/elxsi-protos.h,
9642 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
9643 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
9644 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
9645 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
9646 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
9647 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
9648 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
9649 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
9650 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
9651 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
9652 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
9653 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
9654 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
9655 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
9656 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
9657 config/m68k/altos3068.h, config/m68k/apollo68.h,
9658 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
9659 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
9660 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
9661 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
9662 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
9663 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
9664 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
9665 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
9666 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
9667 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
9668 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
9669 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
9670 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
9671 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
9672 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
9673 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
9674 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
9675 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
9676 config/mips/dec-osf1.h, config/mips/elflorion.h,
9677 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
9678 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
9679 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
9680 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
9681 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
9682 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
9683 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
9684 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
9685 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
9686 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
9687 config/ns32k/sequent.h, config/ns32k/tek6000.h,
9688 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
9689 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
9690 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
9691 config/sparc/rtems.h, config/we32k/we32k-protos.h,
9692 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
9693 Delete file.
9694
755ac5d4
RH
96952002-05-24 Richard Henderson <rth@redhat.com>
9696
9697 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
9698 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
9699 * config/i386/i386.c (tls_model_chars): Add leading space.
9700 (tls_symbolic_operand): Don't bias by 1.
9701 (legitimize_address): Don't unbias by 1.
9702
c429f12e
TM
97032002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9704
9705 * lcm.c (optimize_mode_switching): Change bb used as indices
9706 to bb->index.
9707
8beda321
RH
97082002-05-24 Richard Henderson <rth@redhat.com>
9709
9710 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
9711 of update_life_info_in_dirty_blocks.
9712
90442291
JJ
97132002-05-24 Jakub Jelinek <jakub@redhat.com>
9714
9715 PR other/6782
9716 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
9717
3620711b
NB
97182002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
9719
9720 PR preprocessor/6780
9721 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
9722
2f8d482e
JB
97232002-05-24 Jim Blandy <jimb@redhat.com>
9724
9725 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
9726 entry with a type code of zero, marking the end of the compilation
9727 unit's macro info.
9728
95bfe95f
RH
97292002-05-24 Richard Henderson <rth@redhat.com>
9730
c7bdf0a6
ZW
9731 * varasm.c (asm_output_bss): Always output one byte.
9732 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 9733
7efda054
BM
97342002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
9735
9736 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
9737 namespace.
9738
8a951190
AJ
97392002-05-24 Andreas Jaeger <aj@suse.de>
9740
9741 * ggc-page.c (alloc_page): Cast variables of type size_t to
9742 unsigned long, adjust printf format string.
9743 (ggc_alloc): Likewise.
9744 (ggc_print_statistics): Likewise.
9745 (ggc_print_statistics): Correct printf format string for SCALE to
9746 use unsigned long.
9747
f29e2ec0
DS
97482002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
9749
9750 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
9751
211a0cbe 97522002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 9753 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
9754
9755 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
9756 quoted strings.
9757 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 9758 directive in assembly file.
211a0cbe
GDR
9759 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
9760 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
9761 * config/pj/pj.h (ASM_FILE_START): Likewise.
9762 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
9763 * config/avr/avr.c (asm_file_end): Likewise.
9764 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 9765 char.
211a0cbe
GDR
9766 * toplev.h (output_clean_symbol_name): Declare
9767 * toplev.c (output_clean_symbol_name): Define.
9768 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
9769 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
9770
2f0552b6
AM
97712002-05-24 Alan Modra <amodra@bigpond.net.au>
9772
9773 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
9774
b326b2c1
VM
97752002-05-23 Vladimir Makarov <vmakarov@redhat.com>
9776
9777 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
9778 of size of unsigned.
9779
f996902d
RH
97802002-05-23 Richard Henderson <rth@redhat.com>
9781
9782 * configure.in (HAVE_AS_TLS): New test.
9783 * config.in, configure: Rebuild.
9784 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
9785 (ix86_tls_dialect_string, ix86_tls_dialect): New.
9786 (override_options): Set it.
9787 (tls_model_chars, tls_symbolic_operand): New.
9788 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
9789 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
9790 (local_exec_symbolic_operand): New.
9791 (get_pic_label_name): Merge into output_set_got.
9792 (ix86_asm_file_end): Emit pic_label_name if defined.
9793 (legitimate_constant_p, constant_address_p): New.
9794 (legitimate_pic_operand_p): New.
9795 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
9796 (legitimate_address_p): Likewise.
9797 (ix86_encode_section_info): Rename from i386_; handle tls decls.
9798 (ix86_strip_name_encoding): New.
9799 (get_thread_pointer): New.
9800 (legitimize_address): Handle tls symbols.
9801 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
9802 Remove UNSPEC_PLT.
9803 (struct machine_function): Add some_ld_name.
9804 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
9805 (print_operand) [&]: Use it. Handle UNSPEC_TP.
9806 (output_addr_const_extra): New.
9807 (maybe_get_pool_constant): New.
9808 (ix86_split_to_parts): Use it.
9809 (ix86_expand_move): Handle tls symbols.
9810 (ix86_tls_get_addr): New.
9811 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
9812 (TARGET_OPTIONS): Add tls-dialect.
9813 (CONSTANT_ADDRESS_P): Use new out-of-line function.
9814 (LEGITIMATE_CONSTANT_P): Likewise.
9815 (LEGITIMATE_PIC_OPERAND_P): Likewise.
9816 (TARGET_STRIP_NAME_ENCODING): New.
9817 (ASM_OUTPUT_LABELREF): New.
9818 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
9819 (OUTPUT_ADDR_CONST_EXTRA): New.
9820 (PREDICATE_CODES): Update.
9821 (ix86_tls_dialect, ix86_tls_dialect_string): New.
9822 * config/i386/i386.md: Regroup and renumber unspec constants.
9823 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
9824 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
9825 (tls_global_dynamic, tls_local_dynamic_base): New.
9826 (tls_local_dynamic_once): New.
9827 * config/i386/i386-protos.h: Update.
9828
821e35ba
RH
98292002-05-23 Richard Henderson <rth@redhat.com>
9830
9831 * genemit.c (gen_insn): Print file:lineno comment before function.
9832 (main): likewise.
9833 * gensupport.c (struct queue_elem): Add filename member.
9834 (queue_pattern): Initialize it; update all callers.
9835 (process_include): Don't free filename.
9836 (read_md_rtx): Set read_rtx_filename.
9837
0f1ffa23 98382002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
9839
9840 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 9841
8e9fadc3
RH
98422002-05-23 Richard Henderson <rth@redhat.com>
9843
9844 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
9845
244c2241
RH
98462002-05-23 Richard Henderson <rth@redhat.com>
9847
9848 * doc/extend.texi (C++98 Thread-Local Edits): Update with
9849 commentary from Mark.
9850
e0082a72
ZD
98512002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9852
9853 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
9854 Use FOR_EACH_BB macros to iterate over basic block chain.
9855 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
9856 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
9857 Likewise.
9858 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
9859 find_unreachable_blocks, create_edge_list, verify_edge_list,
9860 remove_fake_edges, add_noreturn_fake_exit_edges,
9861 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
9862 Likewise.
9863 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
9864 find_sub_basic_blocks): Likewise.
9865 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
9866 Likewise.
9867 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
9868 Likewise.
9869 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
9870 Likewise.
9871 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
9872 commit_edge_insertions, commit_edge_insertions_watch_calls,
9873 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
9874 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
9875 * conflict.c (conflict_graph_compute): Likewise.
9876 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
9877 df_modified_p, df_refs_unlink, df_dump): Likewise.
9878 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
9879 * final.c (compute_alignments): Likewise.
9880 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
9881 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
9882 count_or_remove_death_notes): Likewise.
9883 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
9884 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
9885 classic_gcse, compute_transp, cprop, compute_pre_data,
9886 compute_transpout, invalidate_nonnull_info,
9887 delete_null_pointer_checks_1, delete_null_pointer_checks,
9888 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
9889 compute_store_table, build_store_vectors, store_motion): Likewise.
9890 * global.c (global_conflicts, mark_elimination): Likewise.
9891 * graph.c (print_rtl_graph_with_bb): Likewise.
9892 * haifa-sched.c (sched_init): Likewise.
9893 * ifcvt.c (if_convert): Likewise.
9894 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
9895 compute_available, compute_nearerout, compute_rev_insert_delete,
9896 optimize_mode_switching): Likewise.
9897 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
9898 * predict.c (estimate_probability, note_prediction_to_br_prob,
9899 propagate_freq, counts_to_freqs, expensive_function_p,
9900 estimate_bb_frequencies): Likewise.
9901 * profile.c (instrument_edges, get_exec_counts,
9902 compute_branch_probabilities, compute_checksum, branch_prob,
9903 find_spanning_tree): Likewise.
9904 * recog.c (split_all_insns, peephole2_optimize): Likewise.
9905 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
9906 Likewise.
9907 * regclass.c (scan_one_insn, regclass): Likewise.
9908 * regmove.c (mark_flags_life_zones, regmove_optimize,
9909 record_stack_memrefs): Likewise.
9910 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
9911 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
9912 * resource.c (find_basic_block): Likewise.
9913 * sched-ebb.c (schedule_ebbs): Likewise.
9914 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
9915 find_single_block_region, find_rgns, schedule_insns)
9916 * sibcall.c (optimize_sibling_and_tail_recursive_call)
9917 * ssa-ccp.c (optimize_unexecutable_edges,
9918 ssa_ccp_df_delete_unreachable_insns): Likewise.
9919 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
9920 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
9921 rename_block, convert_to_ssa, compute_conservative_reg_partition,
9922 compute_coalesced_reg_partition, rename_equivalent_regs,
9923 convert_from_ssa): Likewise.
9924 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
9925 process_for_unwind_directive): Likewise.
9926
9927 * df.c (FOR_ALL_BBS): Removed.
9928 * gcse.c (struct null_pointer_info): Type of current_block field
9929 changed.
9930 (struct reg_avail_info): Type of last_bb field changed.
9931 * config/ia64/ia64.c (block_num): Removed.
9932 (need_copy_state): Type changed.
9933 (last_block): New.
9934
17645b15
NB
99352002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
9936
9937 * cppinit.c (mark_named_operators): Split out from init_builtins.
9938 (cpp_finish_options): Call it from here instead.
9939
79ed7328
JT
99402002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
9941
9942 * builtin-attrs.def: Update copyright years.
9943 (ATTR_NONNULL): New attribute identifier.
9944 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
9945 attribute tree lists.
9946 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
9947 format operand.
9948 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
9949 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
9950 attribute lists. Chain the appropriate nonnull attribute.
9951 * c-format.c (check_format_arg): Remove null format string
9952 warning.
9953 * testsuite/gcc.dg/format/null-1.c: New test.
9954
7d600178
RO
99552002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9956
9957 * Makefile.in (ADAC): Define.
9958 (SYSLIBS): Define.
9959 (.SUFFIXES): Move before language makefile fragments.
9960 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
9961
5ff225fc
MM
99622002-05-23 Mark Mitchell <mark@codesourcery.com>
9963
9964 * varasm.c (make_decl_rtl): Don't allow weak variables to be
9965 placed in common.
9966
0f72964f
JH
9967Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
9968
9969 * cfg.c (dump_flow_info): Print results of
9970 maybe_hot/probably_never_executed predicates.
9971 * toplev.c (open_dump_file): Print function frequency.
9972
c863f8c2
DM
99732002-05-23 David S. Miller <davem@redhat.com>
9974
9975 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
9976 regsets.
9977
b34c7881
JT
99782002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
9979
9980 * c-common.c (warn_nonnull): Declare.
9981 (c_common_attribute_table): Add "nonnull" attribute.
9982 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
9983 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
9984 check_function_arguments_recurse): New functions.
9985 * c-common.h (warn_nonnull): Declare extern.
9986 (check_function_arguments, check_function_arguments_recurse): New
9987 prototypes.
9988 * c-decl.c (c_decode_option): Add -Wnonnull option.
9989 * c-format.c (set_Wformat): Set warn_nonnull if enabling
9990 format checking.
9991 (format_check_context): New structure.
9992 (check_format_info_recurse): Remove recursion and rename to...
9993 (check_format_arg): ...this. Update comment.
9994 (check_format_info): Use check_function_arguments_recurse.
9995 * c-typeck.c (build_function_call): Call check_function_arguments
9996 instead of check_function_format.
9997 * doc/extend.texi: Document "nonnull" attribute.
9998 * doc/invoke.texi: Docuemnt -Wnonnull option.
9999 * testsuite/gcc.dg/nonnull-1.c: New test.
10000 * testsuite/gcc.dg/nonnull-2.c: New test.
10001
95479831
DM
100022002-05-23 David S. Miller <davem@redhat.com>
10003
10004 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
10005 * cfgcleanup.c (cleanup_cfg): If it is set do not
10006 attempt to delete trivially dead insns.
10007 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
10008 * toplev.c (rest_of_compilation): Document non-trivial aspect
10009 the RTL before optimize_save_area_alloca is run.
10010
a97d1398
NB
100112002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
10012
10013 * c-lex.c (indent_level): Remove.
10014 (cb_file_change, c_lex): Remove indent level handling.
10015 * c-lex.h (indent_level): Remove.
10016 * input.h (struct file_stack): Remove indent_level.
10017 * toplev.c (push_srcloc): Remove indent_level handling.
10018
66b408f2
JJ
100192002-05-23 Jakub Jelinek <jakub@redhat.com>
10020
10021 PR target/6753
10022 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
10023 of x in constraints for clarity.
10024 (sse_mov?fcc split): abort if op2 == op3.
10025 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
10026 sse_movsfcc_const0_4): Add earlyclobber.
10027 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
10028 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
10029 Use Y instead of x in constraints.
10030
5bf0ebab
RH
100312002-05-23 Richard Henderson <rth@redhat.com>
10032
9217ef40
RH
10033 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
10034 (C++98 Thread-Local Edits): New subsection.
10035
5bf0ebab
RH
10036 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
10037 (ix86_arch): Set type to enum processor_type.
10038
8a951190 10039 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
10040 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
10041
4832c9e1
JJ
100422002-05-23 Jakub Jelinek <jakub@redhat.com>
10043
10044 * configure.in: Fix as version test for binutils 2.12.1 releases
10045 (without dates).
10046 * configure: Rebuilt.
10047
c8c03509
RH
100482002-05-23 Richard Henderson <rth@redhat.com>
10049
10050 * config/i386/i386.c (get_pic_label_name): New.
10051 (load_pic_register): Remove.
10052 (output_set_got): New.
10053 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
10054 * config/i386/i386.md (UNSPEC_SET_GOT): New.
10055 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
10056 (prologue_set_got, prologue_get_pc): Remove.
10057 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
10058 (builtin_setjmp_receiver): Use gen_set_got.
10059 * config/i386/i386-protos.h: Update.
10060
d51f3632
JH
10061Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
10062
10063 * gcse.c (hash_expr): Do not use alias set for hashing.
10064
b0a93386
KB
100652002-05-22 Kevin Buettner <kevinb@redhat.com>
10066
10067 * dbxout.c (dbxout_class_name_qualifiers): New function.
10068 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
10069
bdee42b1
NB
100702002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
10071
10072 * cpperror.c (_cpp_begin_message): No special casing
10073 of CPP_FATAL_LIMIT.
10074 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
10075 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
10076 * cpplib.c (do_include_common): Use DL_ERROR.
10077 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
10078 (DL_ICE): Renumber.
10079 * fix-header.c (read_scan_file): Update.
10080
0e07aff3
RH
100812002-05-22 Richard Henderson <rth@redhat.com>
10082
10083 * config/i386/i386.c (ix86_expand_call): New function, extracted
10084 from md call patterns. Add pic_offset_table_rtx to
10085 CALL_INSN_FUNCTION_USAGE when needed.
10086 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
10087 (call_value_pop, call_value, untyped_call): Likewise.
10088 (call_exp, call_value_exp): Remove.
10089 * config/i386/i386-protos.h: Update.
10090
6f001fdf
RH
100912002-05-22 Richard Henderson <rth@redhat.com>
10092
10093 * varasm.c (default_section_type_flags): Check for VAR_DECL
10094 before using DECL_THREAD_LOCAL.
10095
cbaaba19
DE
100962002-05-22 David Edelsohn <edelsohn@gnu.org>
10097
10098 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
10099 (STARTFILE_SPEC): Delete PE crt0.o.
10100 * config/rs6000/aix51.h: Same.
10101 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
10102 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
10103 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
10104 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
10105 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
10106
c711ba8e
RH
101072002-05-22 Richard Henderson <rth@redhat.com>
10108
10109 * varasm.c (default_section_type_flags): Handle tls data and
10110 default sections.
10111 (default_unique_section): Handle tls sections.
10112
343f59d9
AM
101132002-05-23 Alan Modra <amodra@bigpond.net.au>
10114
10115 * configure.in (CROSS): Define NATIVE_CROSS.
10116 * configure: Regenerate.
10117 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
10118 (startfile_prefix_spec): New var.
10119 (static_specs): Add startfile_prefix_spec.
10120 (do_spec_2): Split out from..
10121 (do_spec): ..here.
10122 (main): Process startfile_prefix_spec.
10123 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
10124 dynamic linker.
10125 (STARTFILE_PREFIX_SPEC): Define.
10126 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 10127 absolute paths.
343f59d9 10128
df383483
KH
101292002-05-22 Kazu Hirata <kazu@cs.umass.edu>
10130
10131 * cpperror.c: Fix formatting.
10132 * cppexp.c: Likewise.
10133 * cppfiles.c: Likewise.
10134 * cpphash.c: Likewise.
10135 * cpphash.h: Likewise.
10136 * cppinit.c: Likewise.
10137 * cpplex.c: Likewise.
10138 * cpplib.c: Likewise.
10139 * cppmacro.c: Likewise.
10140 * cppmain.c: Likewise.
10141 * cppspec.c: Likewise.
10142
2dd36f90
JJ
101432002-05-22 Jakub Jelinek <jakub@redhat.com>
10144
10145 * combine.c (force_to_mode): Use gen_int_mode.
10146 Don't clear CONST_INT bits outside of mode.
10147
8dc02d7f
RH
101482002-05-22 Richard Henderson <rth@redhat.com>
10149
10150 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
10151 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
10152
45f79783
JJ
101532002-05-22 Jakub Jelinek <jakub@redhat.com>
10154
10155 PR c/6643
10156 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
10157 if DECL_SIZE_UNIT is INTEGER_CST.
10158
19f71cd7
RH
101592002-05-22 Richard Henderson <rth@redhat.com>
10160
10161 * flow.c (life_analysis): Delete broken reg_label check.
10162
d5bcfcce
RH
101632002-05-22 Richard Henderson <rth@redhat.com>
10164
10165 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
10166 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
10167
985d311b 10168Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
10169
10170 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
10171 (embed-bb.c): New rule.
985d311b 10172 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
10173 * config/sh/embed_bb.c: Delete.
10174
985d311b
R
10175Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
10176
10177 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
10178
f6d45746
KH
101792002-05-22 Kazu Hirata <kazu@cs.umass.edu>
10180
10181 * config/h8300/h8300.md (*andorqi3): New.
10182
e5f3b786
NB
101832002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
10184
10185 PR preprocessor/6517
10186 * Makefile.in: Update.
10187 * c-common.c (c_common_post_options): Add preprocessor
10188 errors to the error count.
10189 * c-lang.c (c_post_options): Kill.
10190 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
10191 * hooks.h: Add header guards.
10192 * langhooks-def.h: Include hooks.h.
10193 (LANG_HOOKS_POST_OPTIONS): Update.
10194 * langhooks.h (struct lang_hooks): Update post_options.
10195 * toplev.c (parse_options_and_default_flags): Update.
10196objc:
10197 * objc-lang.c (objc_post_options): Kill.
10198 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
10199
4c526be3
BK
102002002-05-21 Bruce Korb <bkorb@gnu.org>
10201
10202 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
10203 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
10204 * fixinc/fixincl.x: regen.
4c526be3 10205
f87c27b4
KH
102062002-05-21 Kazu Hirata <kazu@cs.umass.edu>
10207
10208 * cfgbuild.c: Fix formatting.
10209 * cfg.c: Likewise.
10210 * cfgcleanup.c: Likewise.
10211 * cfglayout.c: Likewise.
10212 * cfgloop.c: Likewise.
10213 * cfgrtl.c: Likewise.
10214
3d78f2e9
RH
102152002-05-21 Richard Henderson <rth@redhat.com>
10216
10217 * c-common.h (enum rid): Add RID_THREAD.
10218 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
10219 (grokdeclarator): Grok __thread.
10220 * c-parse.in (reswords): Add __thread.
10221 (rid_to_yy): Add RID_THREAD.
10222
10223 * tree.h (DECL_THREAD_LOCAL): New.
10224 (struct tree_decl): Add thread_local_flag.
10225 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
10226 * tree.c (staticp): TLS variables are not static.
10227
10228 * target-def.h (TARGET_HAVE_TLS): New.
10229 * target.h (have_tls): New.
10230 * output.h (SECTION_TLS): New.
10231 * varasm.c (assemble_variable): TLS variables can't be common for now.
10232 (default_section_type_flags): Handle .tdata and .tbss.
10233 (default_elf_asm_named_section): Handle SECTION_TLS.
10234 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
10235
10236 * flags.h (flag_tls_default): Declare.
10237 * toplev.c (flag_tls_default): Define.
10238 (display_help): Display help for it.
10239 (decode_f_option): Set it.
10240
10241 * doc/extend.texi (Thread-Local): New node describing language-level
10242 thread-local storage.
10243 * doc/invoke.texi (-ftls-model): Document.
10244
10245 * fixinc/inclhack.def (thread_keyword): New.
10246 * fixinc/fixincl.x: Rebuild.
10247
a151daf0
JL
102482002-05-21 Jeffrey A Law <law@redhat.com>
10249
8a951190 10250 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
10251 do not compute intermediate results into something that is
10252 not a register (such as a SUBREG or MEM).
10253
a151daf0
JL
10254 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
10255 (ix86_sched_reorder): Make sure to initialize scheduling
10256 data even when there's only one insn in the ready queue.
10257
96b1f73b
VM
102582002-05-21 Vladimir Makarov <vmakarov@redhat.com>
10259
10260 * genautomata.c (reserv_sets_hash_value): Fix a typo.
10261
dceb2b75
VM
102622002-05-21 Vladimir Makarov <vmakarov@redhat.com>
10263
10264 * genautomata.c (reserv_sets_hash_value): Define hash_value as
10265 set_el_t. Transform the hash value into unsigned.
10266 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
10267 (transform_3): Add code to process `(A,B)+(D,E)'.
10268
159d5964
NY
102692002-05-21 NIIBE Yutaka <gniibe@m17n.org>
10270
10271 * reload1.c (do_output_reload): Run delete_output_reload
10272 only if optimizing.
10273
cf5124f6
RS
102742002-05-21 Roger Sayle <roger@eyesopen.com>
10275
10276 PR middle-end/6600
10277 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
10278 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
10279 (can_store_by_pieces): ... and here to limit the largest mode used.
10280 Add a comment to document this function.
10281
380e6ade
RH
102822002-05-21 Richard Henderson <rth@redhat.com>
10283
10284 * flow.c (life_analysis): Fix test for deleted label.
10285
1f95326c
NB
102862002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
10287
10288 * doc/tm.texi: Fix typo.
10289
2a1dc0d8
ZW
102902002-05-21 Zack Weinberg <zack@codesourcery.com>
10291
10292 * c-common.c (c_common_init): Set options->unsigned_char from
10293 flag_signed_char.
10294 (cb_register_builtins): Define __STRICT_ANSI__ and
10295 __CHAR_UNSIGNED__ here...
10296 * cppinit.c (init_builtins): Not here.
10297 (cpp_create_reader): unsigned_char option defaults to 0, not
10298 !DEFAULT_SIGNED_CHAR.
10299 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
10300 and -funsigned-char.
10301
10302 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
10303 * cpphash.c (_cpp_init_hashtable): Don't set it.
10304 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
10305 directly. Clarify comment.
10306
d29146f2 103072002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 10308
f5eb2fc8
ZD
10309 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
10310 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
10311 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
10312 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 10313 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 10314 flow_preorder_transversal_compute): Too.
d29146f2 10315 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
10316 find_sub_basic_blocks): Too.
10317 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 10318 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
10319 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
10320 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
10321 * combine.c (this_basic_block): Type changed to basic_block.
10322 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
10323 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
10324 get_last_value, distribute_notes, distribute_links): Too.
10325 * final.c (compute_alignments): Too.
10326 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
10327 * function.c (thread_prologue_and_epilogue_insns): Too.
10328 * gcse.c (compute_code_hoist_vbeinout): Too.
10329 * global.c (build_insn_chain): Too.
10330 * ifcvt.c (find_if_block, find_cond_trap): Too.
10331 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
10332 * regmove.c (regmove_optimize): Too.
10333 * resource.c (find_basic_block): Too.
10334 * sched-ebb.c (schedule_ebbs): Too.
10335 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 10336
68bd6dd6
AJ
103372002-05-21 Andreas Jaeger <aj@suse.de>
10338
10339 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
10340
35a76aac
RH
103412002-05-21 Richard Henderson <rth@redhat.com>
10342
10343 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
10344 unspec names, not numbers.
10345
2870428f
JM
103462002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
10347
10348 * doc/sourcebuild.texi: Mention snapshot-README and
10349 snapshot-index.html as needing updating for new front ends.
10350
b0ad77d5
KG
103512002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10352
10353 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
10354 disabling checking, and avoid multiple evaluation of RTX.
10355
279be7c8
RE
103562002-05-21 Richard Earnshaw <rearnsha@arm.com>
10357
10358 * bitmap.c (bitmap_find_bit): Return early if we have the correct
10359 element cached.
10360
193a563a
JH
10361Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
10362
10363 * profile.c (gen_edge_profiler): Set alias set before the memory is
10364 used.
10365
31825e57
DM
103662002-05-20 David S. Miller <davem@redhat.com>
10367
10368 * cselib.c (max_value_regs): New.
10369 (cselib_lookup, cselib_invalidate_regno): Initialize it when
10370 adding new entries to the REG_VALUES table and we are dealing with
10371 a hard register.
10372 (clear_table): Initialize it.
10373 (cselib_invalidate_regno): Use it to determine which hard
10374 registers to scan when mode is not VOIDmode.
10375
68bd6dd6 103762002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
10377
10378 * tradcpp.c (fixup_newlines): Use old-style function header.
10379
e0a09fda
KW
103802002-05-20 Krister Walfridsson <cato@df.lth.se>
10381
10382 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
10383
e0c13c70
L
103842002-05-20 H.J. Lu (hjl@gnu.org)
10385
10386 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
10387
10388 * config/mips/mips.h (DFMODE_NAN): Defined.
10389 (SFMODE_NAN): Likewise.
10390
4c11675d 103912002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 10392
2a1dc0d8
ZW
10393 * combine.c (cant_combine_insn_p): Back out my
10394 previous patch.
4c11675d 10395
6a4d6760
KH
103962002-05-20 Kazu Hirata <kazu@cs.umass.edu>
10397
10398 * params.c: Fix formatting.
10399 * params.h: Likewise.
10400 * predict.c: Likewise.
10401 * prefix.c: Likewise.
10402 * print-rtl.c: Likewise.
10403 * print-tree.c: Likewise.
10404 * profile.c: Likewise.
10405
5715ca64
L
104062002-05-20 H.J. Lu (hjl@gnu.org)
10407
10408 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
10409
00b89f01
NC
104102002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
10411
10412 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
10413 switches straight on to the assembler, do not abbreviate them.
10414 * config/arm/elf.h (ASM_SPEC): As above.
10415 * config/arm/semi.h (ASM_SPEC): As above.
10416 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
10417 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
10418 -mcpu=xscale on to the assembler by default.
10419 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
10420
1441374b
RH
104212002-05-20 Richard Henderson <rth@redhat.com>
10422
10423 * cse.c (canon_hash): Reorder do_not_record test. Always
10424 allow pic_offset_table_rtx.
10425
c0fe508e
TM
104262002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
10427
10428 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
10429 (expand_binop): Ditto (3 times).
10430
f362c762
MM
104312002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
10432
10433 * Makefile.in (distclean): Remove QMTest stuff.
10434 (QMTEST_PATH): New variable.
10435 (QMTESTFLAGS): Likewise.
10436 (QMTESTRUNFLAGS): Likewise.
10437 (QMTEST): Likewise.
10438 (QMTEST_GPP_TESTS): Likewise.
10439 (QMTEST_DIR): Likewise.
10440 (QMTEST_DIR/context): New target.
10441 (qmtest-g++): Likeise.
10442 (qmtest-gui): Likewise.
10443 (QMTEST_DIR/gpp-expected.qmr): Likewise.
10444
16861f33
AH
104452002-05-19 Aldy Hernandez <aldyh@redhat.com>
10446
2a1dc0d8
ZW
10447 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
10448 an altivec register if TARGET_ALTIVEC.
16861f33 10449
2a1dc0d8
ZW
10450 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
10451 to ALTIVEC_VECTOR_MODE.
10452 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
10453 (rs6000_va_arg): Vectors may go in registers if they are not
10454 altivec vectors.
16861f33 10455
23459e15
KH
104562002-05-19 Kazu Hirata <kazu@cs.umass.edu>
10457
10458 * protoize.c: Fix formatting.
10459
174cc7d1
RH
104602002-05-19 Richard Henderson <rth@redhat.com>
10461
10462 * gensupport.c (init_include_reader): Merge into ...
10463 (process_include): ... here. Simplify composite path creation.
10464 Plug memory leaks. Fix file/line number tracking. Do not
10465 process_define_cond_exec. Return void.
10466 (process_rtx): Don't check process_include return value.
10467
918ed612
ZD
104682002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10469
10470 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
10471 fields.
10472 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
10473 traversing basic block chain.
10474 (create_basic_block_structure, create_basic_block): Declaration changed.
10475 (link_block, unlink_block): Declare.
10476 * cfg.c (entry_exit_blocks): Initialize new fields.
10477 (link_block, unlink_block): New.
10478 (expunge_block_nocompact): Unlink basic block.
10479 (dump_flow_info): Print prev_bb/next_bb fields.
10480 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
10481 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
10482 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
10483 * cfgrtl.c (create_basic_block_structure, create_basic_block,
10484 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
10485 (verify_flow_info): Check that list agrees with numbering.
10486
e0322d5c
NB
104872002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
10488
10489 * c-common.c (preprocessing_asm): New macro.
10490 * c-lex.h (builtin_define, builtin_assert): Use pfile.
10491doc:
10492 * tm.texi: Update.
10493config/alpha:
10494 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
10495 (CPP_SPEC): Simplify.
10496 (TARGET_CPU_CPP_BUILTINS): Update.
10497 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
10498 (CPP_SPEC): Simplify.
10499 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
10500 (TARGET_OS_CPP_BUILTINS): Update.
10501 * osf.h (CPP_XFLOAT_SPEC): Kill.
10502 (TARGET_OS_CPP_BUILTINS): Update.
10503 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
10504 * osf5.h (CPP_XFLOAT_SPEC): Kill.
10505 * vms.h (CPP_SUBTARGET_SPEC): Kill.
10506 (TARGET_OS_CPP_BUILTINS): Update.
10507
121f5c2c
RH
105082002-05-19 Richard Henderson <rth@redhat.com>
10509
10510 * varasm.c (default_binds_local_p): Fix typo.
10511
651c5ed9
MM
105122002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
10513
10514 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
10515 CONST_INT operand to the correct mode after adding 1 to it.
10516
bce0deb2
MM
105172002-05-19 Mark Mitchell <mark@codesourcery.com>
10518
10519 * config.gcc (powerpc-wrs-windiss*): New target.
10520
4aa74a4f
FS
105212002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10522
10523 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
10524 (ashrdi3): Use it.
10525
a15135c9
MM
105262002-05-18 Mark Mitchell <mark@codesourcery.com>
10527
10528 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
10529 alphasort.
10530 * config.in: Regenerated.
10531 * configure: Regenerated.
10532
47754fd5
RH
105332002-05-19 Richard Henderson <rth@redhat.com>
10534
10535 * target-def.h (TARGET_BINDS_LOCAL_P): New.
10536 * target.h (struct gcc_target): Move boolean fields to the end.
10537 Add binds_local_p.
10538 * varasm.c (default_binds_local_p): New.
10539 * output.h: Declare it.
10540
10541 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
10542 * config/cris/cris.c (cris_encode_section_info): Likewise.
10543 * config/i386/i386.c (i386_encode_section_info): Likewise.
10544 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
10545 * config/sh/sh.c (sh_encode_section_info): Likewise.
10546
10547 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
10548 (TARGET_BINDS_LOCAL_P): New.
10549
fc881338
RH
105502002-05-19 Richard Henderson <rth@redhat.com>
10551
10552 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
10553 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
10554 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
10555
10556 * toplev.c (display_help): Kill -a -ax help.
10557
68bd6dd6 10558 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
10559 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
10560 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
10561 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
10562 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
10563
10564 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
10565 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
10566
10567 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
10568 (ix86_output_function_block_profiler): Kill.
10569 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
10570 (m68hc11_function_block_profiler): Kill.
10571 * config/m68hc11/m68hc11-protos.h: Update.
10572 * config/m88k/m88k.c (output_block_profiler): Kill.
10573 (output_function_block_profiler): Kill.
10574 * config/m88k/m88k-protos.h: Update.
10575
772c5265
RH
105762002-05-19 Richard Henderson <rth@redhat.com>
10577
10578 * system.h (STRIP_NAME_ENCODING): Poison it.
10579 * output.h (STRIP_NAME_ENCODING): Remove.
10580 (default_strip_name_encoding): Declare.
10581 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
10582 * target.h (strip_name_encoding): New.
10583 * varasm.c (default_strip_name_encoding): New.
10584
10585 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
10586 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
10587 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
10588 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
10589 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
10590 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
10591 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
10592 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
10593 config/v850/v850.h: Use the hook, not the macro.
10594
10595 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
10596 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
10597 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
10598 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
10599 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
10600 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 10601 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
10602 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
10603 config/v850/v850.c, config/v850/v850.h:
10604 Move STRIP_NAME_ENCODING to out-of-line function and add
10605 TARGET_STRIP_NAME_ENCODING.
10606
10607 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
10608 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
10609 with TARGET_STRIP_NAME_ENCODING referencing existing function;
10610 make function static.
10611
10612 * xcoffout.c: Include target.h
10613 * Makefile.in (xcoffout.o): Update.
10614
10615 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
10616 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
10617 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
10618 reloc argument unused.
10619 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
10620
10621 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
10622 STRIP_NAME_ENCODING docs.
10623
8f9eb495
AJ
106242002-05-19 Andreas Jaeger <aj@suse.de>
10625
10626 * gengenrtl.c: Add prototype for excluded_rtx.
10627
10628 * real.h: Add prototype for exact_real_truncate.
10629
fb49053f
RH
106302002-05-18 Richard Henderson <rth@redhat.com>
10631
10632 * system.h (ENCODE_SECTION_INFO): Poison it.
10633 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
10634 * target.h (encode_section_info): New.
10635 * varasm.c (make_decl_rtl, output_constant_def): Use it.
10636 * hooks.c (hook_tree_int_void): New.
10637 * hooks.h: Declare it.
10638
10639 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
10640 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
10641 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
10642 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
10643 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
10644 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10645 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
10646 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
10647 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
10648 config/mcore/mcore-protos.h, config/mcore/mcore.c,
10649 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
10650 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
10651 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
10652 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
10653 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
10654 referencing existing function. Make function static.
10655
10656 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 10657 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
10658 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
10659 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
10660 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 10661 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
10662 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
10663 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
10664 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
10665 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 10666 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
10667 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
10668 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
10669 Move ENCODE_SECTION_INFO to out-of-line function and add
10670 TARGET_ENCODE_SECTION_INFO.
10671
10672 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
10673 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
10674
10675 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
10676 from SUBTARGET_*
10677 (switch_to_section): Replace in_rdata case with in_readonly_data.
10678
10679 * config/h8300/h8300.c (h8300_encode_label): Make static.
10680 * config/h8300/h8300-protos.h: Update.
10681
10682 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
10683 from rs6000_encode_section_info; make static.
10684 (rs6000_xcoff_encode_section_info): New.
10685
10686 * config/v850/v850.c (v850_encode_data_area): Make static.
10687 * config/v850/v850-protos.h: Update.
10688
10689 * config/vax/vax.c: Include flags.h.
10690 (vms_select_section): Fix typo.
10691
10692 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
10693 ENCODE_SECTION_INFO docs.
10694
9fe08fd0
RH
106952002-05-18 Richard Henderson <rth@redhat.com>
10696
10697 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
10698 REGISTER_TARGET_PRAGMAS.
10699 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
10700
410b770f
RH
10701 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
10702
b64a1b53
RH
107032002-05-18 Richard Henderson <rth@redhat.com>
10704
10705 * system.h (SELECT_RTX_SECTION): Poison.
10706 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
10707 * target.h (select_rtx_section): New.
10708 * varasm.c (output_constant_pool): Use it.
10709 (default_select_rtx_section, default_elf_select_rtx_section): New.
10710 * output.h: Declare them.
10711
10712 * config/darwin.h (SELECT_RTX_SECTION): Move ...
10713 * config/darwin.c (machopic_select_rtx_section): ... here.
10714 * config/darwin-protos.h: Update.
10715
10716 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
10717 * config/nextstep.c (machopic_select_rtx_section): ... here.
10718 (nextstep_select_section): Rename variable to avoid macro clash.
10719 * config/nextstep-protos.h: Update.
10720
10721 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
10722 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
10723 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 10724 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
10725 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
10726 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 10727 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
10728 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
10729 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
10730 (SELECT_RTX_SECTION): Remove.
10731
10732 * config/darwin.h, config/elfos.h, config/nextstep.h,
10733 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
10734 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
10735 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
10736 config/sparc/lynx.h, config/xtensa/xtensa.c
10737 (TARGET_ASM_SELECT_RTX_SECTION): New.
10738
10739 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
10740 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
10741 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
10742 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
10743 (ia64_aix_select_rtx_section): New.
10744 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
10745 redefining.
10746 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 10747 Support ELF SHF_MERGE features.
b64a1b53
RH
10748 * config/mips/mips-protos.h: Update.
10749 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
10750 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
10751 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
10752 make static, fall back to default_elf_select_rtx_section.
10753 * config/rs6000/rs6000-protos.h: Update.
10754 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
10755 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
10756 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
10757 * config/romp/romp.c (romp_select_rtx_section): New.
10758 * config/s390/s390.c (s390_select_rtx_section): New.
10759 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
10760 declarations before target macro definition.
10761 (xtensa_emit_call): Use static buffer.
10762 (xtensa_select_rtx_section): New.
10763 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
10764 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
10765 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
10766
10767 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
10768 SELECT_RTX_SECTION docs.
10769
10770Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
10771
10772 * i386.md (movsi/movdi): Fix template.
10773 (sse2 patterns): Set attributes consistently.
10774
10775 * i386.md (pushqi2, ashrqi_*): Fix constraint.
10776
6835a09c
TM
107772002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
10778
10779 * optabs.c (complex_part_zero_p): New.
10780 * (expand_cmplxdiv_straight): Use it.
10781 * (expand_cmplxdiv_wide): Ditto.
10782 * (expand_binop): Ditto.
10783
d48bc59a
RH
107842002-05-18 Richard Henderson <rth@redhat.com>
10785
10786 * final.c (HAVE_READONLY_DATA_SECTION): New.
10787 (shorten_branches): Use it instead of ifdefs.
10788 * varasm.c (enum in_section): Add in_readonly_data.
10789 (text_section, data_section): Tidy.
10790 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
10791
10792 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
10793 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
10794 (READONLY_DATA_SECTION): Don't undef.
10795
10796 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
10797 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
10798 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
10799
10800 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
10801 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
10802 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
10803 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
10804
10805 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
10806 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
10807 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
10808 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
10809 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
10810 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
10811 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
10812 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
10813 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
10814
10815 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
10816 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
10817 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
10818 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
10819 config/pa/pa64-hpux.h, config/sparc/litecoff.h
10820 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
10821
10822 * config/elfos.h, config/netware.h, config/svr3.h,
10823 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
10824 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
10825 config/h8300/h8300.h, config/i386/i386-interix.h,
10826 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
10827 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
10828
10829 * config/elfos.h, config/netware.h, config/svr3.h,
10830 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
10831 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
10832 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
10833 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
10834
10835 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
10836 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
10837 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
10838 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
10839 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
10840 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
10841 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
10842 config/rs6000/sysv4.h, config/v850/v850.h
10843 (EXTRA_SECTIONS): Remove in_const/in_rdata.
10844 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
10845
10846 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
10847 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
10848 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
10849 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
10850 * config/alpha/alpha.c (alpha_start_function): Likewise.
10851 (alpha_write_linkage): Likewise.
10852 * config/m32r/m32r.c (m32r_select_section): Likewise.
10853 * config/m88k/m88k.c (m88k_select_section): Likewise.
10854 * config/mips/mips.c (mips_select_rtx_section): Likewise.
10855 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
10856 (rs6000_elf_select_section): Likewise.
10857 * config/v850/v850.c (v850_select_section): Likewise.
10858
10859 * config/1750a/1750a.h, config/i860/sysv3.h
10860 (READONLY_DATA_SECTION_ASM_OP): New.
10861 READONLY_DATA_SECTION_ASM_OP.
10862 * config/i386/interix.c, config/i386/winnt.c
10863 (i386_pe_unique_section): Always use .rdata prefix.
10864 * config/pa/som.h (readonly_data): Always switch to read-only section.
10865 (READONLY_DATA_SECTION): Predicate on flag_pic.
10866 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
10867 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
10868 (READONLY_DATA_SECTION): Update.
10869
e964a556
JT
108702002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
10871
10872 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 10873 is used without -Wformat.
e964a556
JT
10874 * c-common.h (warn_format_zero_length): Declare extern.
10875 * c-decl.c (warn_options): Add "format-zero-length".
10876 * c-format.c (warn_format_zero_length): Declare.
10877 (set_Wformat): Set warn_format_zero_length for -Wformat.
10878 (check_format_info): Only warn about zero-length formats if
10879 warn_format_zero_length is true. Include the format type
10880 name in the warning message.
10881 * doc/invoke.texi: Document -Wformat-zero-length.
10882 * testsuite/gcc.dg/format/zero-length-1.c: New test.
10883
d92b4486
KH
108842002-05-18 Kazu Hirata <kazu@cs.umass.edu>
10885
10886 * timevar.c: Fix formatting.
10887 * tlink.c: Likewise.
10888 * toplev.c: Likewise.
10889 * tree-dump.c: Likewise.
10890 * tree-inline.c: Likewise.
10891
43612ffb
NB
108922002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
10893
10894 * cppinit.c (cpp_post_options): If preprocessed, turn off
10895 traditional. If traditional, turn off column numbers.
10896 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
10897 * cpptrad.c (handle_newline): Update line_base.
10898 (skip_comment): Handle -Wcomment.
10899
f24a153a
ZW
109002002-05-17 Zack Weinberg <zack@codesourcery.com>
10901
10902 * cppinit.c (struct builtin): Remove unused fields.
10903 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
10904 (operator_array): New - was second half of builtin_array.
10905 (init_builtins): Simplify loop over builtin_array/operator_array.
10906
12403335
NB
109072002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
10908
10909 * defaults.h (UNIQUE_SECTION): Remove.
10910 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
10911
1f8c3c5b
RH
109122002-05-17 Richard Henderson <rth@redhat.com>
10913
10914 * expr.c (init_expr_once): Don't use start/end_sequence.
10915 Use rtx_alloc instead of emit_insn.
10916 * toplev.c (lang_dependent_init): Run init_expr_once here ...
10917 (lang_independent_init): ... not here.
10918
4664f4c4
JT
109192002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
10920
10921 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
10922
93febe68
MM
109232002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
10924
10925 * config/avr/avr.c (avr_regs_to_save): New function. Also check
10926 for fixed registers, possibly used for global register variables.
10927 (initial_elimination_offset, avr_output_function_prologue,
10928 avr_output_function_epilogue): Move common code to avr_regs_to_save.
10929
004cb263
NB
109302002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
10931
10932 * Makefile.in: Update for cpptrad.c.
10933 * cpphash.h (struct cpp_buffer): New members for buffer
10934 overlays.
10935 (struct cpp_reader): New members for traditional output.
10936 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
10937 * cppinit.c (cpp_create_reader): Set trad_line.
10938 (cpp_destroy): Free trad_out_base if used.
10939 (cpp_read_main_file): Overlay an empty buffer if traditional.
10940 (cpp_finish_options): Don't do builtins.
10941 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
10942 (cpp_handle_option): Handle it.
10943 * cpplex.c (continue_after_nul): New.
10944 (_cpp_lex_direct): Use handle_nul.
10945 * cpplib.h (struct cpp_options): New traditional option.
10946 * cpptrad.c: New file.
10947
bdcae02b
NB
109482002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
10949
10950 * c-common.c (c_common_init_options): Use C89 for Objective-C,
10951 and set the options flag.
10952 * cppinit.c (lang_flags): Remove objc.
10953 (lang_defaults): Remove OBJC and OBJCXX.
10954 (set_lang): Update.
10955 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
10956 (cpp_handle_option): Remove -+ and -lang-objc++.
10957 For ObjC, just set a flag.
10958 (print_help): Update.
10959 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
10960
0fca60ab
RO
109612002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10962
10963 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
10964 bootstrap with -mips3.
10965
dd3f0101
KH
109662002-05-17 Kazu Hirata <kazu@cs.umass.edu>
10967
10968 * final.c: Fix formatting.
10969 * fix-header.c: Likewise.
10970 * flow.c: Likewise.
10971 * fold-const.c: Likewise.
10972 * function.c: Likewise.
10973
5ca9299f
DM
109742002-05-17 David S. Miller <davem@redhat.com>
10975
10976 PR c/6689, PR optimization/6615
10977 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
10978 and make it a pointer to rtx. Update comments.
10979 (update_equiv_regs): When scanning for equivalences, record
10980 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
10981 it while making the equiv replacements.
10982
508bc172
RO
109832002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10984
10985 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
10986
5cd983a6
KK
109872002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
10988
10989 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
10990 when encoding visibility into SYMBOL_REF_FLAG.
10991
ce0f3925
RS
109922002-05-17 Richard Sandiford <rsandifo@redhat.com>
10993
10994 * expr.c (force_operand): Fix reversed move.
10995
06809951
GP
109962002-05-17 Kurt Wall <kwall@kurtwerks.com>
10997
10998 * doc/install.texi (Testing): Mention two common DejaGnu warnings
10999 that can be ignored.
11000
110012002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11002
11003 * doc/install.texi (Final install): Recommend to install into a
11004 "clean" target directory.
11005
1d5d7a21
RH
110062002-05-17 Richard Henderson <rth@redhat.com>
11007
11008 * config/ia64/ia64.md: Use braced strings instead of quoted strings
11009 for code blocks. Tidy whitespace.
11010
ae46c4e0
RH
110112002-05-17 Richard Henderson <rth@redhat.com>
11012
11013 * hooks.c (hook_tree_bool_false): New.
11014 * hooks.h: Declare it.
11015 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
11016 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
11017 * target.h (select_section, unique_section): New.
11018 (in_small_data_p): New.
11019 * varasm.c (resolve_unique_section): Use hooks instead of macros.
11020 (variable_section, output_constant_def_contents): Likewise.
11021 (default_select_section, default_unique_section): New.
11022 (categorize_decl_for_section, default_elf_select_section): New.
11023 * output.h: Declare them.
11024
11025 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
11026 (TARGET_ASM_SELECT_SECTION): New.
11027 (SELECT_SECTION): Move ...
11028 * config/darwin.c (machopic_select_section): ... here.
11029 * config/darwin-protos.h: Update.
11030
11031 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
11032 (SELECT_SECTION): Move ...
11033 * config/nextstep.c (nextstep_select_section): ... here.
11034 * config/nextstep-protos.h: Update.
11035
11036 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
11037 (TARGET_ASM_SELECT_SECTION): New.
11038 * config/svr3.h (SELECT_SECTION): Remove.
11039
11040 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
11041 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
11042 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
11043 (alpha_encode_section_info): Use it.
11044 * config/alpha/alpha-protos.h: Update.
11045 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
11046 (SELECT_SECTION, UNIQUE_SECTION): Remove.
11047 (TARGET_ASM_SELECT_SECTION): New.
11048 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
11049
11050 * config/arm/pe.h (UNIQUE_SECTION): Remove.
11051 (TARGET_ASM_UNIQUE_SECTION): New.
11052
11053 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
11054 (avr_unique_section): Rename from unique_section; make static.
11055 * config/avr/avr-protos.h: Update.
11056 * config/avr/avr.h (UNIQUE_SECTION): Remove.
11057
11058 * config/c4x/c4x.h (SELECT_SECTION): Remove.
11059
11060 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
11061 (TARGET_ASM_UNIQUE_SECTION): New.
11062 * config/i386/i386-interix.h: Likewise.
11063 * config/i386/win32.h: Likewise.
11064 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
11065 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
11066 * config/i386/sco5.h (SELECT_SECTION): Remove.
11067 (TARGET_ASM_SELECT_SECTION): New.
11068 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
11069
11070 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
11071 instead of SELECT_SECTION.
11072 * config/m68k/dpx2.h: Likewise.
11073 * config/rs6000/lynx.h: Likewise.
11074
11075 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
11076 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
11077 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
11078 (ia64_in_small_data_p): New.
11079 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
11080 (ia64_aix_select_section, ia64_aix_unique_section): New.
11081 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
11082 (SELECT_SECTION, UNIQUE_SECTION): Remove.
11083
11084 * config/m32r/m32r.h (SELECT_SECTION): Remove.
11085 (TARGET_ASM_SELECT_SECTION): New.
11086 * config/m32r/m32r.c (m32r_select_section): Take align argument.
11087 * config/m32r/m32r-protos.h: Update.
11088
11089 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
11090 (SELECT_SECTION): Move ...
11091 * config/m88k/m88k.c (m88k_select_section): ... here.
11092
11093 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
11094 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
11095 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
11096 (mcore_unique_section): Make static.
11097 * config/mcore/mcore-protos.h: Update.
11098
11099 * config/mips/elf.h (UNIQUE_SECTION): Remove.
11100 (TARGET_ASM_UNIQUE_SECTION): New.
11101 * config/mips/elf64.h: Likewise.
11102 * config/mips/iris6gld.h: Likewise.
11103 * config/mips/linux.h: Likewise.
11104 * config/mips/mips-protos.h: Update.
11105 * config/mips/mips.c (mips_select_section): Add align argument.
11106 * config/mips/mips.h (SELECT_SECTION): Remove.
11107 (TARGET_ASM_SELECT_SECTION): New.
11108
11109 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
11110 * config/mmix/mmix.c (mmix_select_section): Remove.
11111 (mmix_unique_section): Remove.
11112 * config/mmix/mmix-protos.h: Update.
11113
11114 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
11115 (SELECT_SECTION): Move ...
11116 * config/pa/pa.c (pa_select_section): ... here.
11117 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
11118
11119 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
11120 from rs6000_select_section and make static.
11121 (rs6000_elf_unique_section): Similarly.
11122 (rs6000_xcoff_select_section): From xcoff.h.
11123 (rs6000_xcoff_unique_section): Likewise.
11124 * config/rs6000/rs6000-protos.h: Update.
11125 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
11126 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
11127 * config/rs6000/xcoff.h: Likewise.
11128
11129 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
11130 (SELECT_SECTION): Move ...
11131 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
11132
11133 * config/v850/v850.h (SELECT_SECTION): Move ...
11134 * config/v850/v850.c (v850_select_section): ... here.
11135 (TARGET_ASM_SELECT_SECTION): New.
11136
11137 * config/vax/vms.h (SELECT_SECTION): Move ...
11138 * config/vax/vax.c (vms_select_section): ... here.
11139 (TARGET_ASM_SELECT_SECTION): New.
11140
11141 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
11142 for the target hooks.
11143
eaeb23a7
NC
111442002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
11145
11146 * config/arm/arm.c (emit_multi_reg_push): Do not set
11147 RTX_FRAME_RELATED_P on the SEQUENCE.
11148
a00fe19f
RH
111492002-05-16 Richard Henderson <rth@redhat.com>
11150
11151 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
11152 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
11153
5ccff482
RH
111542002-05-16 Richard Henderson <rth@redhat.com>
11155
11156 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
11157
068d7739
RH
11158 * config/ia64/ia64.c (saveable_obstack): Do not declare.
11159
0b17ab2f
RH
111602002-05-16 Richard Henderson <rth@redhat.com>
11161
11162 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
11163 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
11164 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
11165 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
11166 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
11167 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
11168 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
11169 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
11170 Revert "Basic block renumbering removal", and two followup patches.
11171
8ae86b3c
JT
111722002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
11173
11174 * lcm.c (optimize_mode_switching): Revert previous change.
11175
4e9f27af
ZD
111762002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11177
11178 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
11179 with only extant block numbers.
11180
3cdc1dbc
JT
111812002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
11182
11183 * lcm.c (optimize_mode_switching): Fix typo.
11184
fbfb3b09
ZD
111852002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11186
11187 * flow.c (calculate_global_regs_live): Queue blocks in program order.
11188
b4b0fb02
RO
111892002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11190
11191 * doc/install.texi (Configuration): Document PWDCMD.
11192
63b827c5
DJ
111932002-05-16 Dale Johannesen <dalej@apple.com>
11194
11195 * combine.c (cant_combine_insn_p): Reenable combinations
11196 involving hard regs unless CLASS_LIKELY_SPILLED_P.
11197
748d29c1
NB
111982002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
11199
11200 * c-common.c (cb_register_builtins): Handle more built-ins
11201 here rather than in gcc.c specs.
11202 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
11203 (cpp_options): Pass -O flags even when only preprocessing.
11204 * toplev.c (set_fast_math_flags): New prototype.
11205 (fast_math_flags_set_p): New.
11206 (set_no_fast_math_flags): Remove.
11207 (decode_f_option): Update.
11208 * toplev.h (set_fast_math_flags): Update.
11209 (fast_math_flags_set_p): New.
11210 (set_no_fast_math_flags): Remove.
11211config:
11212 * c4x/c4x.c (c4x_override_options): Update.
11213
5279d739
ZW
112142002-05-16 Zack Weinberg <zack@codesourcery.com>
11215
11216 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
11217 Default-define here.
11218 (builtin_define_with_value): Can now wrap the expansion in
11219 quotation marks if such is wanted.
a00fe19f 11220 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
11221 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
11222 here.
11223 (c_common_init): Set options->stdc_0_in_system_headers.
11224 * c-lex.h: Update prototype of builtin_define_with_value.
11225 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
11226 and REGISTER_PREFIX.
11227
11228 * cppinit.c (VERS, ULP, C, X): Kill.
11229 (builtin_array): Remove entries for __VERSION__,
11230 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
11231 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
11232 a constant.
11233 (init_builtins): Kill off a bunch of now-dead code.
11234 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
11235 -fno-leading-underscore.
11236 (cpp_handle_option): Remove code to set user_label_prefix.
11237 (cpp_post_options): Likewise.
11238
11239 * cpplib.h (struct cpp_options): Remove user_label_prefix.
11240 (stdc_0_in_system_headers): New.
11241 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
11242 stdc_0_in_system_headers) too to decide the value of __STDC__.
11243
11244 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 11245 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
11246 (initialize_builtins): Don't define __REGISTER_PREFIX__
11247 or __USER_LABEL_PREFIX__.
11248 (install_value): Wrap compound statement in dummy loop so the
11249 macro works properly in an if statement.
11250
11251
62e6ca55
JJ
112522002-05-16 Janis Johnson <janis187@us.ibm.com>
11253
11254 * loop.h (struct loop_info): Add member has_prefetch.
11255 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
11256 (prescan_loop): Initialize has_prefetch.
11257 (struct prefetch_info): Change prefetch_in_loop and
11258 prefetch_before_loop from bit fields to ints.
11259 (emit_prefetch_instructions): Several small fixes.
11260 (check_dbra_loop): Don't reverse loop that uses prefetch.
11261
1e6347d8
RO
112622002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11263
11264 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
11265 * configure.in: Likewise.
11266 * fixinc/check.tpl: Likewise.
11267 * fixinc/fixinc.dgux: Likewise.
11268 * fixinc/fixinc.svr4: Likewise.
11269 * fixinc/fixinc.winnt: Likewise.
11270 * fixinc/fixincl.sh: Likewise.
11271 * fixproto: Likewise.
11272 * configure: Regenerate.
11273
355e4ec4
ZD
112742002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11275
11276 Basic block renumbering removal:
11277 * basic_block.h (struct basic_block_def): Renamed index to sindex,
11278 added prev_bb and next_bb fields.
11279 (n_basic_blocks): Renamed to num_basic_blocks.
11280 (last_basic_block): New, index of last basic block.
11281 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
11282 traversing basic block chain.
11283 (BLOCK_NUM): index -> sindex.
11284 (create_basic_block_structure, create_basic_block): Declaration changed.
11285 (debug_num2bb): Declare.
11286 (expunge_block_nocompact): Declaration removed.
11287 (link_block, unlink_block, compact_blocks): Declare.
11288 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
11289 * cfg.c (entry_exit_blocks): Initialize new fields.
11290 (clear_edges, alloc_block, expunge_block, cached_make_edge,
11291 redirect_edge_pred, dump_flow_info, dump_edge_info,
11292 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
11293 free_aux_for_edges): Modified.
11294 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
11295 (expunge_block_nocompact): Removed.
11296 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
11297 find_unreachable_blocks, create_edge_list, print_edge_list,
11298 verify_edge_list, flow_edge_list_print, remove_fake_successors,
11299 remove_fake_edges, flow_reverse_top_sort_order_compute,
11300 flow_depth_first_order_compute, flow_preorder_transversal_compute,
11301 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
11302 flow_dfs_compute_reverse_execute): Modified.
11303 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
11304 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
11305 Modified.
11306 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
11307 merge_blocks_move_predecessor_nojumps,
11308 merge_blocks_move_successor_nojumps, merge_blocks,
11309 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
11310 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
11311 * cfglayout.c (skip_insns_after_block, label_for_bb,
11312 record_effective_endpoints, scope_to_insns_finalize,
11313 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
11314 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
11315 cfg_layout_duplicate_bb): Modified.
11316 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
11317 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
11318 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
11319 flow_loops_find, flow_loop_outside_edge_p): Modified.
11320 * cfgrtl.c (create_basic_block_structure, create_basic_block,
11321 flow_delete_block, compute_bb_for_insn, split_block,
11322 try_redirect_by_replacing_jump, redirect_edge_and_branch,
11323 force_nonfallthru_and_redirect, tidy_fallthru_edge,
11324 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
11325 commit_edge_insertions, commit_edge_insertions_watch_calls,
11326 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
11327 purge_all_dead_edges): Modified.
11328 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
11329 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
11330 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
11331 Modified.
11332 * conflict.c (conflict_graph_compute): Modified.
11333 * df.c (FOR_ALL_BBS): Removed.
11334 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
11335 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
11336 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
11337 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
11338 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
11339 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
11340 * final.c (compute_alignments, final_scan_insn): Modified.
11341 * flow.c (verify_local_live_at_start, update_life_info,
11342 update_life_info_in_dirty_blocks, free_basic_block_vars,
11343 delete_noop_moves, calculate_global_regs_live,
11344 initialize_uninitialized_subregs, allocate_bb_life_data,
11345 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
11346 mark_used_reg, count_or_remove_death_notes): Modified.
11347 * function.c (thread_prologue_and_epilogue_insns): Modified.
11348 * gcse.c (struct null_pointer_info): Change typo of current_block
11349 to basic_block.
11350 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
11351 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
11352 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
11353 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
11354 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
11355 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
11356 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
11357 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
11358 pre_delete, one_pre_gcse_pass, compute_transpout,
11359 invalidate_nonnull_info, delete_null_pointer_checks_1,
11360 free_code_hoist_mem, compute_code_hoist_vbeinout,
11361 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
11362 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
11363 compute_store_table, build_store_vectors, insert_insn_start_bb,
11364 insert_store, replace_store_insn, free_store_memory, store_motion):
11365 Modified.
11366 * global.c (global_alloc, global_conflicts, mark_elimination,
11367 build_insn_chain): Modified.
11368 * graph.c (print_rtl_graph_with_bb): Modified.
11369 * haifa-sched.c (sched_init): Modified.
11370 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
11371 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
11372 if_convert): Modified.
11373 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
11374 compute_insert_delete, pre_edge_lcm, compute_available,
11375 compute_farthest, compute_nearerout, compute_rev_insert_delete,
11376 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
11377 Modified.
11378 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
11379 * loop.c (loop_dump_aux): Modified.
11380 * predict.c (combine_predictions_for_insn, estimate_probability,
11381 last_basic_block_p, process_note_prediction, process_note_predictions,
11382 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
11383 expensive_function_p, estimate_bb_frequencies,
11384 compute_function_frequency): Modified.
11385 * print-rtl.c (print_rtx): Modified.
11386 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
11387 get_exec_counts, compute_branch_probabilities, compute_checksum,
11388 branch_prob, find_spanning_tree): Modified.
11389 * recog.c (split_all_insns, peephole2_optimize): Modified.
11390 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
11391 convert_regs_1, convert_regs_2, convert_regs): Modified.
11392 * regclass.c (scan_one_insn, regclass): Modified.
11393 * regmove.c (mark_flags_life_zones, regmove_optimize,
11394 combine_stack_adjustments): Modified.
11395 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
11396 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
11397 * reorg.c (dbr_schedule): Modified.
11398 * resource.c (find_basic_block, init_resource_info): Modified.
11399 * sbitmap.c (sbitmap_intersection_of_succs,
11400 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
11401 sbitmap_union_of_preds): Modified.
11402 * sched-deps.c (init_dependency_caches): Modified.
11403 * sched-ebb.c (schedule_ebbs): Modified.
11404 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
11405 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
11406 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
11407 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
11408 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
11409 ssa_const_prop): Modified.
11410 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
11411 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
11412 * ssa.c (remove_phi_alternative, find_evaluations,
11413 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
11414 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
11415 make_regs_equivalent_over_bad_edges,
11416 make_equivalent_phi_alternatives_equival,
11417 compute_conservative_reg_partition,
11418 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
11419 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
11420 Modified.
11421
5a566bed
MM
114222002-05-16 Mark Mitchell <mark@codesourcery.com>
11423
11424 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
11425
48f6efae
NC
114262002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
11427
11428 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
11429 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
11430 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
11431 calling CONSTANT_POOL_ADDRESS_P.
11432 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
11433 to decide whether to define __arm__ or __thumb.
355e4ec4 11434 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
11435 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
11436
b166fadd
NB
114372002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
11438
11439 * config/arc/arc.h (CPP_PREDEFINES): Remove.
11440 (CPP_SPEC): Update.
11441 (TARGET_CPU_CPP_BUILTINS): New.
11442
601328bb
NB
114432002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
11444
11445 * cpphash.h (cpp_macro): Move here, and make expansion a union.
11446 * cppmacro.c (cpp_macro): Remove.
11447 (enter_macro_context, replace_args, warn_of_redefinition,
11448 _cpp_create_definition, cpp_macro_definition): Update.
11449
ff48be5c
JM
114502002-05-16 Jason Merrill <jason@redhat.com>
11451
11452 * config/mips/mips.c (mips_output_external): Don't do sdata
11453 optimization for a variable with DECL_COMDAT set.
11454
805c42ba
AH
114552002-05-15 Aldy Hernandez <aldyh@redhat.com>
11456
355e4ec4
ZD
11457 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
11458 Cleanups for accepting modifiers on pointers.
11459 Fix predicate typos.
11460 Allow long pointers as well as int pointers.
805c42ba 11461
34fb9ba5
RH
114622002-05-15 Richard Henderson <rth@redhat.com>
11463
11464 * varasm.c (merge_weak): Remove special case for extern and common.
11465
62e118f5
MH
114662002-05-15 Matt Hiller <hiller@redhat.com>
11467
11468 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 11469 XFAILing.
62e118f5
MH
11470 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
11471 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
11472 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
11473 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
11474 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
11475 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
11476
fefac463
AH
114772002-05-15 Aldy Hernandez <aldyh@redhat.com>
11478
355e4ec4 11479 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 11480
5f004351
AH
114812002-05-15 Aldy Hernandez <aldyh@redhat.com>
11482
355e4ec4
ZD
11483 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
11484 ("altivec_mfvscr"): Read from VSCR.
11485
11486 Add vscr sets for the following insns: altivec_vctuxs,
11487 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
11488 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
11489 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
11490 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
11491 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
11492 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
11493 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
11494 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
11495 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
11496 altivec_vsum2sws, altivec_vsumsws.
11497
11498 * config/rs6000/rs6000.h: Add VSCR fixed register.
11499 (CALL_REALLY_USED_REGISTERS): Add vscr.
11500 (CALL_USED_REGISTERS): Same.
11501 (FIXED_REGISTERS): Same.
11502 (REG_ALLOC_ORDER): Same.
11503 (reg_class): Add VSCR_REGS.
11504 (REG_CLASS_NAMES): Same.
11505 (REG_CLASS_CONTENTS): Same.
11506 (VSCR_REGNO): New.
11507 (REGISTER_NAMES): Add vscr.
11508 (DEBUG_REGISTER_NAMES): Same.
11509 (ADDITIONAL_REGISTER_NAMES): Same.
11510 (FIRST_PSEUDO_REGISTER): Increment.
11511 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 11512
033afd11
RH
115132002-05-15 Jakub Jelinek <jakub@redhat.com>
11514
11515 * fold-const.c (fold): Fix a typo.
11516
115172002-05-15 Eric Botcazou <ebotcazou@multimania.com>
11518
11519 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
11520 comparison against the highest or lowest integer value before
11521 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
11522 transformation and that of an unsigned comparison against 0
11523 right after.
11524
14285ace
RH
115252002-05-15 Richard Henderson <rth@redhat.com>
11526
11527 * varasm.c (merge_weak): Error for any weakening after definition.
11528 Adjust weakening after use warning to catch more cases.
11529 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
11530 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
11531
194734e9
JH
11532Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
11533
11534 * invoke.texi (-malign-double): Re-add lost warning.
11535
11536 * i386-protos.h (x86_output_mi_thunk): Declare.
11537 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
11538 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
11539
11540 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
11541 when flag_asynchronous_unwind_tables is set.
11542
11543 * flags.h (flag_reorder_functions): Declare.
11544 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 11545 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
11546 * Makefile.in (predict.o): Add dependency on target.h and params.h
11547 * defaults.h (HOT_TEXT_SECTION_NAME,
11548 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
11549 * predict.c (choose_function_section): New function.
11550 (estimate_bb_frequencies): Use it.
11551 * toplev.c (flag_reorder_functions): New global variable.
11552 (lang_independent_options): New.
11553 (parse_options_and_default_flags): Set.
11554 * varasm.c (assemble_start_function): Bypass functdion alignment
11555 for never executed functions.
11556 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
11557 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
11558 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
11559 Document.
11560
11561 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
11562
11563 * predict.c: Inlude profile.h
11564 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
11565 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
11566 Use the information about maximal counter in the program.
11567
11568 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
11569
11570 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
11571 probably_never_executed_bb_p): New functions.
11572 * cfgcleanup.c (outgoing_edges_match): Use them.
11573 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
11574 (maybe_hot_bb_p, probably_cold_bb_p,
11575 probably_never_executed_bb_p): New functions.
11576
11577 * function.h (function): Add new field function_frequency.
11578 * predict.c (compute_function_frequency): New function.
11579 (estimate_probability): Call it.
11580
61ad9a34
JJ
115812002-03-09 Jakub Jelinek <jakub@redhat.com>
11582
11583 PR optimization/5172, optimization/5200
11584 * gcse.c (gcse_main): Disable store_motion.
11585
a11eba95
ZW
115862002-05-14 Zack Weinberg <zack@codesourcery.com>
11587
11588 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
11589 (c_common_nodes_and_builtins): Use it.
11590 (builtin_define_with_value): New function.
11591 (cb_register_builtins): Define __SIZE_TYPE__,
11592 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
11593 using builtin_define_with_value. Use consistent notation when
11594 defining __GXX_WEAK__.
11595 (WCHAR_TYPE_SIZE): Don't redefine.
11596 (combine_strings): Don't use WCHAR_TYPE_SIZE.
11597
11598 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
11599 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
11600 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
11601 * tradcpp.c (initialize_builtins): Likewise.
11602 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
11603
11604 * c-lex.h (builtin_define_with_value): Prototype.
11605 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
11606 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
11607 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
11608
11609 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
11610 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
11611 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
11612 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
11613 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
11614 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
11615 config/sparc/sol2-bi.h, config/sparc/sparc.h:
11616 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
11617 to __SIZE_TYPE__ etc from all spec strings. When this makes
11618 extra specs empty, delete them.
11619
1c31ecf6
JDA
116202002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
11621
11622 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
11623 for PA8000 or generating dwarf2 call frame information.
11624 (output_call): Remove DO_FRAME_NOTES check from return pointer
11625 optimization.
11626 (following_call): Return 0 when scheduling for PA8000 or generating
11627 dwarf2 call frame information. Revise comment.
11628
ac9cfada
NB
116292002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
11630
11631config/alpha:
11632 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
11633 and __IEEE_FP_INEXACT as appropriate.
11634 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
11635 (CPP_SPEC): Remove ieee defines.
11636 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
11637
9b690711
RH
116382002-05-14 Richard Henderson <rth@redhat.com>
11639
11640 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
11641 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
11642
e6471be6
NB
116432002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
11644
e6471be6
NB
11645 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
11646 (CPP_SPEC): Update.
11647 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
11648 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
11649 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
11650 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
11651 (EXTRA_SPECS): Update.
11652 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
11653 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
11654 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
11655 define TARGET_OS_CPP_BUILTINS if necessary.
11656
e5f5feea
NB
116572002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
11658
11659 * gcc.c (cpp_options): Must pass -m* and -f* options
11660 to the front end even when only preprocessing.
11661 (cc1_options): Remove redundant -lang-c.
11662 * tradcpp.c (main): Ignore -m options.
11663objc:
11664 * lang-specs.h: Similarly.
11665
317638a8
VM
116662002-05-14 Vladimir Makarov <vmakarov@redhat.com>
11667
11668 * genautomata.c (transform_3): Add code for transformation
11669 `(A,B,...)+C -> A+C,B,...'.
11670
4d604303
JH
11671Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
11672
11673 * final.c (end_final): Do not output profile_arcs constructor, when
11674 no functions are instrumented.
11675
b18b06ed
JH
11676Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
11677
11678 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
11679
a12f97f0
GP
116802002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11681
11682 * doc/install.texi: Remove special markup originally required for
11683 HTML generation with texi2html.
11684
c1ae3eb4
AS
116852002-05-14 Andreas Schwab <schwab@suse.de>
11686
11687 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
11688 SELECT_SECTION.
11689 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
11690
11691 * varasm.c (resolve_unique_section): Add third parameter
11692 flag_function_or_data_sections and use it instead of
11693 flag_function_sections.
11694 (assemble_start_function): Pass flag_function_sections.
11695 (asm_emit_uninitialised): Pass flag_data_sections.
11696 (assemble_variable): Likewise.
11697
8ee41eaf
RH
116982002-05-14 Richard Henderson <rth@redhat.com>
11699
11700 * config/i386/i386.md: Use define_constants for unspec numbers.
11701 * config/i386/i386.c: Likewise.
11702
e6471be6
NB
117032002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
11704
11705 * doc/contrib.texi: Update my entry.
11706
c297b764
MM
117072002-05-13 Mark Mitchell <mark@codesourcery.com>
11708
11709 * fixinc/inclhack.def (winidss_valist): Limit applicability.
11710 * fixinc/fixincl.x: Regenerated.
11711 * fixinc/tests/base/math.h: Update.
11712 * fixinc/tests/base/testing.h: Likewise.
11713
0b42c8f8
ZW
117142002-05-13 Zack Weinberg <zack@codesourcery.com>
11715
11716 * genattr.c (gen_attr): Don't emit a comma after the last
11717 enumerator.
11718
546c093e
RH
117192002-05-13 Richard Henderson <rth@redhat.com>
11720
11721 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
11722 by non-local gotos.
11723 * recog.c (peephole2_optimize): Likewise.
11724
85be8c2d
AP
117252002-05-13 Andris Pavenis <pavenis@lanet.lv>
11726
11727 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
11728 input to O_BINARY.
11729
765b8f90
JL
117302002-05-13 Jeffrey A Law (law@redhat.com)
11731
fe4b3c79
JL
11732 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
11733 Update prototype and callers.
11734 (propagate_one_insn): Stack pointer adjustments kill MEMs on
11735 the mem_set_list which reference the stack pointer, as do
11736 calls to constant functions as they may clobber outgoing
11737 argument space.
11738
16133d00
JL
11739 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
11740
765b8f90
JL
11741 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
11742 (ia32_multipass_dfa_lookahead): New function.
11743
63826d5b
NB
117442002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
11745
11746 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
11747 (translate_options): Remove 'V'.
11748 (process_command): Similarly.
11749doc:
11750 * invoke.texi: Remove documentation of 'V'.
11751
dcb41ced
UW
117522002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
11753
11754 * config/s390/linux.h: Revert 2002-04-22 changes.
11755
8dfea428
SM
117562002-05-13 Scott Marks <SMarks@mobile-mind.com>
11757
11758 * config/fr30/fr30.md: Only allow splits of immediate loads
11759 if the destination is a register.
11760
12a41c22
NB
117612002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
11762
11763 * Makefile.in (c-common.o, cppinit.o): Update.
11764 * c-common.c: Include except.h.
11765 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
11766 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
11767 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
11768 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
11769 CPP_PREDEFINES): Handle here.
11770config:
11771 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
11772 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
11773 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
11774 TARGET_OS_CPP_BUILTINS.
11775 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
11776 (CPP_SPEC, EXTRA_SPECS): Update.
11777 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
11778 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
11779 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
11780 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
11781 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
11782doc:
11783 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
11784 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
11785
5692c7bc
ZW
117862002-05-12 Zack Weinberg <zack@codesourcery.com>
11787
11788 * emit-rtl.c (global_rtl): Update comment.
11789 (const_double_htab, const_double_htab_hash,
11790 const_double_htab_hash, lookup_const_double): New.
11791 (const_int_htab_hash, const_int_htab_eq): Remove const
11792 qualifiers, which cause tons of warnings with RTL checking on.
11793 (gen_rtx_CONST_DOUBLE): Deleted.
11794 (const_double_from_real_value): New function - bears some
11795 resemblance to the former immed_real_const_1.
11796 (immed_double_const): Moved here from varasm.c and
11797 simplified.
11798 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
11799 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
11800 (gen_rtx): Use immed_double_const.
11801 (init_emit_once): Initialize the const_double_htab. Use
11802 REAL_VALUE_FROM_INT where possible. Can now use
11803 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
11804 * varasm.c (struct varasm_status): Remove x_const_double_chain.
11805 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
11806 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
11807 (init_varasm_status, mark_varasm_status): Don't touch
11808 x_const_double_chain.
11809
11810 * output.h: Delete prototype for clear_const_double_mem.
11811 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
11812 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
11813 const_double_from_real_value, not immed_real_const_1, and use
11814 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
11815 CONST_DOUBLE_ATOF.
11816 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
11817 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
11818 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
11819 (gen_rtx_REG): Second arg is unsigned.
11820
11821 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
11822 (excluded_rtx): New, return true for CONST_DOUBLE.
11823 (genmacro): Write nothing for excluded codes.
11824 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
11825 * expr.c (expand_expr): Likewise.
11826 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
11827 CONST_DOUBLE_CHAIN.
11828 * toplev.c (rest_of_compilation): Don't call
11829 clear_const_double_mem.
11830
11831 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
11832 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
11833 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
11834 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
11835 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
11836 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
11837 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
11838 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
11839
31397a7b
KG
118402002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11841
11842 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
11843
1b70d38a
TT
118442002-05-12 Tom Tromey <tromey@redhat.com>
11845
11846 * tree.h (copy_node): Don't mention TREE_PERMANENT.
11847
9a5834ae
ZW
118482002-05-12 Zack Weinberg <zack@codesourcery.com>
11849
11850 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
11851 (scan_comma_elt): New function. Accepts whitespace in comma lists.
11852 * gensupport.h: Prototype new routines.
11853 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
11854 use of printf.
11855 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
11856 (next_comma_elt): Use scan_comma_elt.
11857
11858 * config/i386/i386.md: Use new attribute notation to break up
11859 long lines in define_attr forms.
11860
51286de6
RH
118612002-05-12 Richard Henderson <rth@redhat.com>
11862
11863 * expr.c (compress_float_constant): New.
11864 (emit_move_insn): Use it.
11865 (float_extend_from_mem): New.
11866 (init_expr_once): Initialize it.
11867 * real.c (exact_real_truncate): New.
11868
11869 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
11870 dropped into memory; penalize for size.
11871 (RTX_COSTS): FLOAT_EXTEND is free.
11872 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
11873 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
11874
6412341e
RH
118752002-05-12 Richard Henderson <rth@redhat.com>
11876
11877 * profile.h (profile_info): Add missing extern to declaration.
11878 * profile.c (profile_info): Define it.
11879
12877f09
JDA
118802002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
11881
11882 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
11883 used for DImode and TImode.
11884
387f9e32
NB
118852002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
11886
11887 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
11888 fake a newline.
11889
e1a0f69c
ZW
118902002-05-11 Zack Weinberg <zack@codesourcery.com>
11891
11892 * config/rs6000/rs6000.c (rs6000_default_long_calls,
11893 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
11894 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
11895 (rs6000_override_options): Handle -m(no-)longcall.
11896 (init_cumulative_args, output_mi_thunk): Check for both
11897 longcall and shortcall attributes on the function.
11898 (rs6000_attribute_table): Add "shortcall".
11899 (rs6000_handle_longcall_attribute): Update comment.
11900 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
11901 altivec_expand_ternop_builtin): Add default clauses to switches
11902 to silence warnings.
11903
11904 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
11905 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
11906 (TARGET_OPTIONS): Add longcall and no-longcall.
11907
11908 * config/rs6000/rs6000.md (call_nonlocal_sysv,
11909 call_value_nonlocal_sysv): Split by alternatives. One pair
11910 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
11911 the call cookie. The other pair accepts only LR/CTR and has
11912 no restriction.
11913
11914 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
11915 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
11916 tmake_file.
11917 * config/rs6000/rs6000-c.c: New file.
11918 * config/rs6000/t-rs6000-c-rule: New file.
11919 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
11920 Prototype rs6000_pragma_longcall.
11921
11922 * doc/extend.texi: Document shortcall attribute.
11923 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
11924
9c64026d
JDA
119252002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
11926
11927 * reorg.c (dbr_schedule): Remove unnecessary test.
11928
6c81a490
JH
11929Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
11930
11931 * i386.md (testsi to testqi spliters): New.
11932
11933 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
11934
11935 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
11936
11937 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
11938
11939 * basic-block.h: New flag EDGE_CAN_FALLTHRU
11940 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
11941 that can be made fallthru.
11942
11943 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
11944
11945 * cfglayout.c (cleanup_unconditional_jumps): New static function.
11946 (cfg_layout_initialize): Use it.
4c476cf3 11947
e4447d94
MM
119482002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
11949
11950 * config/avr/avr.c (avr_mcu_types): Update supported devices.
11951 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
11952 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
11953
3a538a66
KH
119542002-05-11 Kazu Hirata <kazu@cs.umass.edu>
11955
11956 * dbxout.c: Fix formatting.
11957 * dependence.c: Likewise.
11958 * df.c: Likewise.
11959 * diagnostic.c: Likewise.
11960 * doloop.c: Likewise.
11961 * dominance.c: Likewise.
11962 * doschk.c: Likewise.
11963 * dwarf2asm.c: Likewise.
11964 * dwarf2out.c: Likewise.
11965 * dwarfout.c: Likewise.
11966
2292e8fc
RH
119672002-05-10 Richard Henderson <rth@redhat.com>
11968
11969 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
11970 Convert integers constants as needed. Replace "nwords" field with
11971 "sizeof_bb".
11972 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
11973 * function.h: Fix typo in comment.
11974 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
11975
dbfb1116
RS
119762002-05-10 Roger Sayle <roger@eyesopen.com>
11977
11978 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
11979 into the equivalent (signed char)c > 0.
11980
79a497cd
JJ
119812002-05-10 Janis Johnson <janis187@us.ibm.com>
11982
11983 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
11984 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
11985 (struct prefetch_info): Fix spelling of member bytes_accessed.
11986 (emit_prefetch_instructions): Make dump messages more regular;
11987 restructure code to add more dump messages; use new macros for
11988 heuristics. (There are no code generation changes in any of this).
11989
6c45cb0d
DM
119902002-05-10 David S. Miller <davem@redhat.com>
11991
7440af14
DM
11992 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
11993 (struct rtx_def): Update unchanging flag comment.
11994 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
11995 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
11996 to be handled to INSN too.
11997 (dbr_schedule): Likewise.
11998 * resource.c (next_insn_no_annul): Likewise.
11999
6c45cb0d
DM
12000 * cse.c (rtx_cost): Remove multiplication by power of 2 special
12001 casing.
12002
29f21e4f
GP
120032002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12004
12005 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
12006 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
12007 (possibly) work around broken /bin/sh.
12008
e4ba88da
RO
120092002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12010
12011 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
12012 . as N64/N32 libgcc_s.so subdirs.
12013
4f4778ee
DM
120142002-05-10 David S. Miller <davem@redhat.com>
12015
12016 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
12017
12018 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
12019 more accurately.
12020 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
12021 comment.
12022 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
12023 * doc/rtl.texi: Document these macros more accurately.
12024 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
12025 JUMP_INSNs and CALL_INSNs.
12026 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
12027 or INSN_FROM_TARGET_P if the code is appropriate.
12028
1a499b92
MM
120292002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
12030
12031 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
12032 before using SYMBOL_REF_FLAG (addr).
12033
12034 * config/avr/avr-protos.h (avr_io_address_p): Declare.
12035 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
12036 Make non-static. Update all callers.
12037 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
12038 New insns to clear/set/test a single bit in I/O address space.
12039
65212b66
KG
120402002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12041
12042 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
12043
3df89291
NB
120442002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
12045
12046 * Makefile.in: Update.
12047 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
12048 builtin_define_std): New.
12049 (c_common_init): Register CPP builtins callback.
12050 * c-common.h (flag_iso, flag_undef): New.
12051 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
12052 * c-lex.c: Don't include target.h.
12053 (cb_register_builtins): Move to c-common.c.
12054 (init_c_lex): Don't register hook here.
12055 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
12056 (cpp_define, cpp_assert): Remove.
12057 * gcc.c (cc1_options): Pass -undef to front end.
12058 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
12059 (TARGET_INITIALIZER): Update.
12060 * target.h (struct cpp_reader): Don't predeclare.
12061 (struct gcc_target): Remove cpp builtin hook.
12062 * tree.c (default_register_cpp_builtins): Remove.
12063doc:
12064 * tm.texi: Update.
12065
32fa4565
NB
120662002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
12067
12068 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
12069
23357c55
RO
120702002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12071
12072 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
12073 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
12074
5aa26af0
JJ
120752002-05-09 Jakub Jelinek <jakub@redhat.com>
12076
12077 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
12078 * config/sparc/libgcc-sparc-glibc.ver: New file.
12079 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
12080 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
12081
2937267b
JJ
120822002-05-09 Jakub Jelinek <jakub@redhat.com>
12083
12084 PR target/6429
12085 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
12086 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
12087 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
12088 base multilibs.
12089 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
12090 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
12091 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
12092 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
12093
086c0f96
RH
120942002-05-09 Richard Henderson <rth@redhat.com>
12095
12096 * config/ia64/ia64.md: Use define_constants for unspec numbers.
12097 * config/ia64/ia64.c: Likewise.
12098
a8b4881f
RS
120992002-05-09 Richard Sandiford <rsandifo@redhat.com>
12100
12101 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
12102 (save_restore_insns): Likewise.
12103 (mips_expand_prologue, mips_expand_epilogue): Update callers.
12104 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
12105
243e5500 12106Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 12107
af2728a4
JL
12108 * athlon.md, k6.md, pentium.md, ppro.md): New files.
12109 * i386.md: Move scheduling information into new files.
12110
890d52e8
JL
12111 * i386.md (type attribute): Add "rotate" for rotate insns.
12112 (rotate insns): Set type to "rotate".
12113 (various attributes and function units): Treat rotate like shift.
12114 (pent_pair attribute): Only rotates by one bit position are
12115 pairable.
12116 (sbb insns): Explicitly set pent_pair attribute on a couple
12117 that were missing it.
12118
f78ec36a
R
12119Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
12120
12121 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
12122 make sure that buffer starts on odd word address.
12123 (sh_va_arg): Skip odd fp registers when reading a double precision
12124 value.
12125
ff431459
NB
121262002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
12127
12128 * tree.h (preserve_data, object_permanent_p, type_precision):
12129 Remove.
12130
c3bf3e6e
NB
121312002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
12132
12133 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
12134 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
12135doc:
12136 * cpp.texi: Update for removal of obsolete features.
12137
02263a8a
JH
12138Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
12139 Jeffrey A Law (law@redhat.com)
12140
12141 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
12142 the DFA interface for Pentium processors.
12143 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
12144 (attr_pent_pair, ix86_pent_find_pair): Remove.
12145 (ix86_sched_reorder_pentium): Remove.
12146 (ix86_sched_reorder): Remove reordering for Pentium.
12147 * i386.md (Pentium scheduling): Rewrite using DFA description.
12148
3e638a90
JH
12149Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
12150
12151 * cfganal.c (can_fallthru): Fix fast path.
12152 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
12153 with edges to the next block.
12154
b7c9bf28
JH
12155Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
12156 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
12157
12158 * final.c (end_final): Use C trees to output data structures for profiling.
12159
12160 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
12161 (profile.o): New dependency profile.h
12162 (final.o): New dependency profile.h
12163 * profile.h: New file. New global structure profile_info.
12164 * final.h (count_edges_instrumented_now): Declare.
12165 (current_function_cfg_checksum): Declare.
12166 (function_list): New structure.
12167 (functions_head, functions_tail): New static variables.
12168 (end_final): Emits more data, removed some -ax stuff.
12169 (final): Stores function names and chcksums.
12170 * gcov-io.h (__write_gcov_string): New function.
12171 (__read_gcov_string): New function.
12172 * gcov.c (read_profile): New function.
12173 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 12174 da_file.
5692c7bc
ZW
12175 (read_files): Removed da_file checking, it's done by read_profile now.
12176 * libgcc2.c (bb_function_info): New structure.
12177 (bb): New field in structure, removed some -ax stuff.
12178 (__bb_exit_func): Changed structure of da_file.
12179 * profile.c (count_edges_instrumented_now): New global variable.
12180 (current_function_cfg_checksum): New global variable.
12181 (max_counter_in_program): New global variable.
12182 (get_exec_counts): New function.
12183 (compute_checksum): New function.
12184 (instrument_edges): Sets count_edges_instrumented_now.
12185 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 12186 reading da_file.
5692c7bc
ZW
12187 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
12188 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 12189 now.
5692c7bc 12190 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 12191 now.
5692c7bc 12192 * gcov.texi: Updated information about gcov file format.
b7c9bf28 12193
786de7eb
KH
121942002-05-09 Kazu Hirata <kazu@cs.umass.edu>
12195
12196 * sbitmap.c: Fix formatting.
12197 * scan.c: Likewise.
12198 * scan-decls.c: Likewise.
12199 * sched-deps.c: Likewise.
12200 * sched-ebb.c: Likewise.
12201 * sched-rgn.c: Likewise.
12202 * sched-vis.c: Likewise.
12203 * sdbout.c: Likewise.
12204 * sibcall.c: Likewise.
12205 * simplify-rtx.c: Likewise.
12206 * ssa.c: Likewise.
12207 * ssa-ccp.c: Likewise.
12208 * ssa-dce.c: Likewise.
12209 * stmt.c: Likewise.
12210 * stor-layout.c: Likewise.
12211 * stringpool.c: Likewise.
12212
b7764693
DM
122132002-05-09 David S. Miller <davem@redhat.com>
12214
12215 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
12216
4e7d5d27
DM
122172002-05-07 David S. Miller <davem@redhat.com>
12218
12219 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
12220 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
12221 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
12222 library implementation clobbers the output before the inputs
12223 are fully consumed, use stack temporary for the output.
12224
f979570e
JT
122252002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
12226
12227 * config/netbsd.h (CPP_SPEC): Remove.
12228 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
12229 * config/i386/netbsd.h (CPP_SPEC): Define.
12230 * config/ns32k/netbsd.h (CPP_SPEC): Define.
12231 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
12232 * config/sparc/netbsd.h (CPP_SPEC): Define.
12233 * config/vax/netbsd.h (CPP_SPEC): Define.
12234
a6a2274a
KH
122352002-05-08 Kazu Hirata <kazu@cs.umass.edu>
12236
12237 * read-rtl.c: Fix formatting.
12238 * real.c: Likewise.
12239 * recog.c: Likewise.
12240 * regclass.c: Likewise.
12241 * regmove.c: Likewise.
12242 * reg-stack.c: Likewise.
12243 * reload1.c: Likewise.
12244 * reload.c: Likewise.
12245 * resource.c: Likewise.
12246 * rtlanal.c: Likewise.
12247 * rtl.c: Likewise.
12248 * rtl-error.c: Likewise.
12249
461b48d5
JDA
122502002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
12251
12252 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
12253 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
12254
95d075ff
BS
122552002-05-08 Bernd Schmidt <bernds@redhat.com>
12256
12257 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
12258 use __SSE2__ macro instead.
12259 * config/i386/xmmintrin.h: Likewise.
12260
2d4cc6a7
JJ
122612002-05-08 Janis Johnson <janis187@us.ibm.com>
12262
12263 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
12264 and use it in all invocations of these macros. Clean up comments.
12265 * rtl.c (rtl_check_failed_flag): Add an argument for the name
12266 of the flag access macro whose check failed.
12267 * doc/rtl.texi (Flags): Document additional flag uses.
12268
3f8ffc7c
RS
122692002-05-08 Robert Spier <rspier@pobox.com>
12270 Neil Booth <neil@daikokuya.demon.co.uk>
12271
12272 PR preprocessor/6521
12273 * cppfiles.c (handle_missing_header): Don't do anything
12274 different for <> includes.
12275doc:
12276 * cppopts.texi: Update documentation for -MG.
12277
b9e2d17b
NB
122782002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
12279
12280 * cpplex.c (cpp_interpret_charconst): Truncate as well as
12281 sign-extend.
12282doc:
12283 * cpp.texi: Clarify multichar charconst valuation.
12284
8d8269fa
MM
122852002-05-08 Mark Mitchell <mark@codesourcery.com>
12286
12287 * doc/invoke.texi: Document -mwindiss option.
12288
29b91443
JM
122892002-05-08 Jason Merrill <jason@redhat.com>
12290
12291 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
12292
12293 * dwarf2out.c (gen_type_die): Abort on broken recursion.
12294
12295 PR c++/6381
12296 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
12297 REAL_CST.
12298
6c76b950
NC
122992002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
12300
12301 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
12302 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 12303 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
12304 multilibs for the Thumb.
12305
f90bf7ca
MM
123062002-05-08 Mark Mitchell <mark@codesourcery.com>
12307
12308 PR c/6569.
12309 * varasm.c (mark_weak): New function.
12310 (merge_weak): Use it. Do not call declare_weak.
12311 (declare_weak): Use merge_weak.
12312
1e150f2c
JH
12313Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
12314
12315 * cse.c (dead_libcall_p): Update counts.
12316 (delete_trivially_dead_insns): Update call of dead_libcall_p.
12317
969d70ca
JH
12318Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
12319
12320 * cfglayout.c (function_tail_eff_head): Rename to ...
12321 (function_footer): ... this one.
12322 (unlink_insn_chain): New functions.
12323 (label_for_bb): Only call block_label and emit debug message.
12324 (record_effective_endpoints): Actually unlink the headers and footers.
12325 (fixup_reorder_cahin): Re-insert the unlinked sequences.
12326 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
12327 * cfglayout.h (struct reorder_block_def): New fields footer/header;
12328 remove eff_head/eff_end.
12329 * rtl.h (set_first_insn): Declare.
12330 * emit-rtl.c (set_first_insn): New function.
12331
12332 * cfglayout.c (fixup_reorder_chain): Dump duplicated
12333 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
12334 cfg_layout_duplicate_bb): New global function.
12335 (duplicate_insn_chain): New static function.
12336 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
12337 cfg_layout_duplicate_bb): Declare.
12338 (struct reorder_block_def): Add "original" field.
12339 * emit-rtl.c (emit_copy_of_insn_after): New function.
12340 * rtl.h (emit_copy_of_insn_after): Declare.
12341
12342 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
12343 (fixup_reorder_chain): properly handle edges to exit block.
12344
12345Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12346 Jan Hubicka <jh@suse.cz>
12347
12348 * basic-block.h (note_prediction_to_br_prob): declare.
12349 * c-semantics.c: Inlucde predit.h
12350 (expand_stmt): predict GOTO_STMT as not taken.
12351 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
12352 (cleanup_cfg): Do not free tail_recursion_list.
12353 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
12354 (flow_delete_block): Kill predictions past end of basic block.
12355 * output.h (delete_unreachable_blocks): Declare.
12356 * predict.c (predicted_by_p, process_note_predictions,
12357 process_note_prediction, last_block_p): New function.
12358 (estimate_probability): Bypass loop on PRED_CONTINUE;
12359 do not handle noreturn heuristics; kill PRED_RETURN; add
12360 PRED_EARLY_RETURN.
12361 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
12362 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
12363 * predict.h (IS_TAKEN): New constant.
12364 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
12365 * rtl.c (NOTE_INSN_PREDICTION): New.
12366 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
12367 New macro.
12368 (insn_note): add NOTE_INSN_PREDICTION.
12369 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
12370 CFG; free tail_recursion_label_list.
12371 * stmt.c: Include predict.h;
12372 (return_prediction): New.
12373 (expand_value_return): Use it.
12374 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
12375
41f8d041
RS
123762002-05-08 Richard Sandiford <rsandifo@redhat.com>
12377
12378 * config/mips/mips.md: Name the unspecs with define_constant.
12379 (*HILO_delay): Rename to 'hilo_delay' (no star).
12380 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
12381 (reload_outdi, reload_outsi): Likewise.
12382
9cabb1d8
KH
123832002-05-07 Kazu Hirata <kazu@cs.umass.edu>
12384
12385 * toplev.c: Fix formatting.
12386
4c76f856
JJ
123872002-05-07 Janis Johnson <janis187@us.ibm.com>
12388
12389 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
12390 * configure.in (ac_rtlflag_checking): New.
12391 * doc/install.texi (--enable-checking): Document RTL flag checking.
12392
44a147ad
NB
123932002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
12394
12395 * c-common.c (c_common_init): Set options->unsigned_wchar.
12396 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
12397 group target dependencies.
12398 (init_builtins, cpp_handle_option): Update.
12399 * cpplex.c (cpp_interpret_charconst): Update.
12400 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
12401 signed_char to unsigned_char, group target dependencies.
12402 * defaults.h (WCHAR_UNSIGNED): Remove.
12403 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
12404config:
12405 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
12406 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
12407 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
12408 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
12409 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
12410doc:
12411 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
12412
cace4f93
MM
124132002-05-07 Mark Mitchell <mark@codesourcery.com>
12414
12415 * fixinc/inclhack.def (windiss_math1): New fix.
12416 (windiss_math2): Likewise.
12417 (windiss_valist): Likewise.
12418 * fixinc/fixincl.x: Regenerated.
12419
e2ff6cee
AJ
124202002-05-07 Andreas Jaeger <aj@suse.de>
12421
12422 * genautomata.c (output_internal_min_issue_delay_func): Add
12423 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
12424 (output_internal_trans_func): Likewise.
12425
bdad4be5
JL
12426Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
12427
12428 * pa.c (hppa_profile_hook): Use force_reg to get the address
12429 of the profile hook into an appropriate pseudo register.
12430
a1ffecd9
MM
124312002-05-07 Mark Mitchell <mark@codesourcery.com>
12432
12433 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
12434 (LINK_START_SPEC): Handle it.
12435 (LINK_OS_SPEC): Likewise.
12436 (CPP_SPEC): Likewise.
12437 (STARTFILE_SPEC): Likewise.
12438 (LIB_SPEC): Likewise.
12439 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
12440 all platforms.
12441 (CRTSAVRES_DEFAULT_SPEC): New macro.
12442 (LIB_WINDISS_SPEC): New macro.
12443 (CPP_OS_WINDISS_SPEC): Likewise.
12444 (STARTFILE_WINDISS_SPEC): Likewise.
12445 (ENDFILE_WINDISS_SPEC): Likewise.
12446 (LINK_START_WINDISS_SPEC): Likewise.
12447 (LINK_OS_WINDISS_SPEC): Likewise.
12448 * config/rs6000/windiss.h: New file.
e2ff6cee 12449
df966bff
AH
124502002-05-07 Aldy Hernandez <aldyh@redhat.com>
12451
a5c76ee6 12452 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 12453
db84f1bd
DM
124542002-05-06 David S. Miller <davem@redhat.com>
12455
12456 * config/sparc/sparc.md (shift insns): Do not mask off
12457 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
12458 take care of it.
12459
818c0c94
RH
124602002-05-06 Richard Henderson <rth@redhat.com>
12461
12462 PR c++/6212
12463 * expr.c (highest_pow2_factor_for_type): New.
12464 (expand_assignment): Use it.
12465
61e0b50f
AH
124662002-05-06 Aldy Hernandez <aldyh@redhat.com>
12467
818c0c94
RH
12468 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
12469 unspec_volatile.
12470 ("altivec_mfvscr"): Same.
61e0b50f 12471
5a63e069
JJ
124722002-05-06 Janis Johnson <janis187@us.ibm.com>
12473
12474 * rtl.h (struct rtx_def): Update comments.
12475 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
12476 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
12477 RTL_FLAG_CHECK macros with list of expected RTL codes.
12478 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
12479 (rtl_check_failed_flag): New.
12480 * reload1.c (reload): Use REG macro before changing rtx to MEM.
12481 (reload_cse_noop_set_p): Check rtx code before using access macro.
12482 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
12483 before using access macro.
12484
4afe3952
JJ
124852002-05-06 Janis Johnson <janis187@us.ibm.com>
12486
12487 * doc/rtl.texi (Flags): Update to reflect current usage.
12488
1f77b5da
RS
124892002-05-06 Roger Sayle <roger@eyesopen.com>
12490
12491 PR opt/3995
12492 * fold-const.c (sign_bit_p): New function.
12493 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 12494 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
12495 Reapply fold when converting (A & C) == C into (A & C) != 0.
12496 (fold_binary_op_with_conditional_arg): Fix typo in comment.
12497
a5a49440
NB
124982002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
12499
12500 * c-common.c (warn_multichar): New.
12501 (c_common_init): Set CPP's warn_multichar.
12502 * c-common.h (warn_multichar): New.
12503 * c-decl.c (warn_multichar): Remove.
12504 * c-lex.c (lex_charconst): Update.
12505 * c-tree.h (warn_multichar): Remove.
12506 * cppexp.c (eval_token): Sign-extend charconst value.
12507 * cppinit.c (cpp_create_reader): Set warn_multichar.
12508 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
12509 each character. Update prototype. Sign-extend the result.
12510 * cpplib.h: Fix conditions.
12511 (struct cpp_options): Add new warning flag.
12512 (cpp_interpret_charconst): Update prototype.
12513doc:
12514 * cpp.texi: Update documentation.
12515
83e0be55
VM
125162002-05-06 Vladimir Makarov <vmakarov@redhat.com>
12517
12518 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
12519 Fix typo in usage of allof instead of unit.
12520
688ec718
RH
125212002-05-06 Richard Henderson <rth@redhat.com>
12522
12523 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
12524 and any jump or call for IN.
12525
f6536266
BS
125262002-05-06 Bernd Schmidt <bernds@redhat.com>
12527
e2ff6cee 12528 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
12529 -msse2.
12530 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 12531
0316d49b
RS
125322002-05-06 Roger Sayle <roger@eyesopen.com>
12533
12534 * fold-const.c (lshift-double): Cast the high word to an unsigned
12535 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
12536 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
12537 avoid compiler warning. (fold): Remove redundant code from
12538 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
12539
5d50fab3
JL
125402002-05-06 Jeff Law <law@redhat.com>
12541
12542 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
12543 * pa.c (pa_adjust_cost): Remove all true dependency cost
12544 adjustments. Also remove support for non-DFA scheduling.
12545 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
12546 to adjust true dependency costs. Update various comments.
12547 (7100lc, 7200, 7300 scheduling): Simplify by combining the
12548 FP ALU & MPY units into a single unit.
12549
a17a104c
CM
125502002-05-06 Catherine Moore <clm@redhat.com>
12551
12552 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 12553 to count all of the registers that will be saved.
a17a104c 12554
7799175f
JH
12555Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
12556
12557 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
12558
0ac941a0
DM
125592002-05-06 David S. Miller <davem@redhat.com>
12560
12561 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
12562 allow result to overlap input operands in memory.
12563
95ff5d3f
NB
125642002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
12565
12566doc:
12567 * cpp.texi: Update multichar charconst docs.
12568
639e8b0c
NB
125692002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
12570
12571 * cpplex.c (cpp_interpret_charconst): Sign-extend each
12572 character. Don't ignore excess characters. Treat
12573 multicharacter character constants as signed.
12574 (cpp_parse_escape): Clarify diagnostic.
12575
84ea5bc1
JJ
125762002-05-05 Jakub Jelinek <jakub@redhat.com>
12577
12578 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
12579 use add instead of shift.
12580 (ashldi3_sp64): Likewise.
12581 (ashlsi3_const1, ashldi3_const1): Remove.
12582 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
12583 * config/sparc/sparc.c (const1_operand): New.
12584
40cd22f2
JT
125852002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
12586
12587 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
12588
cac01076
JJ
125892002-05-05 Jakub Jelinek <jakub@redhat.com>
12590
12591 PR target/6561
12592 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
12593
98791e3a
RH
125942002-05-05 Richard Henderson <rth@redhat.com>
12595
12596 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
12597 memory latency adjustments.
12598 (alpha_variable_issue): Remove.
12599 (alpha_use_dfa_pipeline_interface): New.
12600 (alpha_multipass_dfa_lookahead): New.
12601 * config/alpha/alpha.md: Remove define_function_unit scheduling;
12602 include new dfa scheduling.
12603 (attr type): Add none.
12604 (blockage): Use it.
12605 * config/alpha/ev4.md: New.
12606 * config/alpha/ev5.md: New.
12607 * config/alpha/ev6.md: New.
12608
309527ce
DM
126092002-05-05 David S. Miller <davem@redhat.com>
12610
12611 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
12612
68252e27
KH
126132002-05-05 Kazu Hirata <kazu@cs.umass.edu>
12614
12615 * cse.c: Fix formatting.
12616 * emit-rtl.c: Likewise.
12617
30cc9d00
VM
126182002-05-05 Vladimir Makarov <vmakarov@redhat.com>
12619
12620 * genautomata.c (initiate_states): Add additional guard to
12621 initialize `units_array'.
12622
deb09eff
VM
126232002-05-05 Vladimir Makarov <vmakarov@redhat.com>
12624
12625 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
12626 process_unit_to_form_the_same_automaton_unit_lists,
12627 form_the_same_automaton_unit_lists
12628 check_unit_distributions_to_automata): New prototypes and
12629 functions.
12630 (check_automata): Rename it into `check_automata_insn_issues'.
12631 (unit_decl): New fields `the_same_automaton_unit' and
12632 `the_same_automaton_message_reported_p'.
12633 (unit_decl_t): New typedef.
12634 (the_same_automaton_lists): New gloval variable.
12635 (unit_regexp, unit_set_el, units_array, units_cmp,
12636 output_get_cpu_unit_code_func): Use the typedef.
12637 (evaluate_max_reserv_cycles): Increment
12638 `description->max_insn_reserv_cycles'.
12639 (initiate_states): Don't increment `max_cycles_num'.
12640 (transform_insn_regexps): Move code around transformation of
12641 regexps from `generate'.
12642 (generate): Remove call of `transform_insn_regexps'.
12643 (expand_automata): Call `transform_insn_regexps' and
12644 `check_unit_distributions_to_automata'. Check errors before
12645 `generate'.
12646
12647 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
12648 automaton `ultrasparc3_1'.
e2ff6cee 12649
2443d4e1
NB
126502002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
12651
12652 * c-common.c (c_common_init): Set up CPP arithmetic.
12653 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
12654 something reasonable for the host.
12655 (sanity_checks): Add checks.
12656 (cpp_read_main_file): Call sanity_checks() from here...
12657 (cpp_post_options): ... not here.
12658 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
12659 * cpplib.h (struct cpp_options): New member int_precision.
12660
791a949f
FS
126612002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12662
12663 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
12664
091fb516
DM
126652002-05-04 David S. Miller <davem@redhat.com>
12666
f60ebeb7
DM
12667 * config/sparc/linux.h, config/sparc/linux64.h
12668 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
12669
214c6394
DM
12670 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
12671 more RTX codes.
12672 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
12673
091fb516
DM
12674 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
12675 of SETs.
12676
f2fdc802
TJ
126772002-05-05 Tim Josling <tej@melbpc.org.au>
12678
e2ff6cee 12679 * treelang; New directory for new sample language treelang.
f2fdc802 12680
3d90d290
NB
126812002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
12682
12683 * Makefile.in (c-lex.o): Update.
12684 * c-lex.c: Include target.h.
12685 (cb_register_builtins): New.
12686 (init_c_lex): Set builtins callback.
12687 * c-lex.h (cpp_define, cpp_assert): New prototypes.
12688 * cppinit.c (init_builtins): Use callback, including for
12689 GXX_WEAK.
12690 * cpplib.h (struct cpp_callbacks): New member.
12691 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
12692 (TARGET_INITIALIZER): Update.
12693 * target.h (struct gcc_target): New hook.
12694 * tree.c (default_register_cpp_builtins): New.
12695 * tree.h (default_register_cpp_builtins): New.
12696doc:
12697 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
12698
625458d0
NB
126992002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
12700
12701 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
12702 (cpp_post_options): Move sanity checks to...
12703 (sanity_checks): New.
12704 * cpplex.c (maybe_read_ucs): Fix prototype.
12705 (parse_string, cpp_parse_escape): Cast for %c format specifier.
12706 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
12707 if necessary.
12708
916b60b7
BS
127092002-05-04 Bernd Schmidt <bernds@redhat.com>
12710
12711 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
12712 builtins. Use V2DI patterns instead of TI for logical operations.
12713 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
12714 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
12715 (ix86_expand_builtins): Change the pattern used for movntdq.
12716 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
12717 sse2_nandv2di3): New patterns.
12718 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
12719 on operands.
12720 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
12721 (cvtdq2pd): Correct mode on operand 1.
12722 (sse2_umulsidi3): Describe without unspec.
12723 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
12724 machine modes.
12725 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
12726 (ashlv2di3): Likewise, from sse2_ashlv2di3.
12727 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
12728 ashlv4si3, ashlv2di3): Use SImode for shift count.
12729 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
12730 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
12731 New patterns.
12732 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
12733 New typedefs.
12734 (__m128i, __m128d): New macros.
12735 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
12736 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
12737 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
12738 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
12739 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 12740 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
12741 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
12742 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 12743 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
12744 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
12745 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
12746 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
12747 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
12748 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
12749 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
12750 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
12751 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
12752 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
12753 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
12754 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
12755 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
12756 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
12757 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
12758 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
12759 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
12760 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
12761 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
12762 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
12763 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
12764 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
12765 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
12766 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
12767 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
12768 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
12769 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
12770 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
12771 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
12772 functions.
e2ff6cee 12773 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
12774 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
12775
c26fbbca
KH
127762002-05-04 Kazu Hirata <kazu@cs.umass.edu>
12777
12778 * dwarf2out.c: Fix formatting.
12779 * varasm.c: Likewise.
12780
0387639b
DE
127812002-05-04 David Edelsohn <edelsohn@gnu.org>
12782
12783 PR c/6543
12784 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
12785 clobber and use result as temporary value.
12786
8a28dbcc
JH
12787Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
12788
12789 * expr.c (force_operand): Use expand_simple_* to handle more
12790 cases.
12791
4268e8bb
NB
127922002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
12793
12794 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
12795 and sign-extension.
12796 (lex_charconst): Update for change in prototype of
12797 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
12798 appropriately.
12799 * cpphash.h (BITS_PER_CPPCHAR_T): New.
12800 * cppinit.c (cpp_create_reader): Initialize them for no
12801 change in semantics.
12802 (cpp_post_options): Add sanity checks.
12803 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
12804 and truncation issues. Calculate in type cppchar_t.
12805 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
12806 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
12807 run-time dependent precision correctly. Return whether the
12808 result is signed or not.
12809 * cpplib.c (dequote_string): Use cppchar_t; update.
12810 * cpplib.h (cppchar_signed_t): New.
12811 struct cpp_options): New precision members.
12812 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 12813 * cppexp.c (eval_token): Update.
4268e8bb 12814
af54350e
DM
128152002-05-03 David S. Miller <davem@redhat.com>
12816
2ce04b6b
DM
12817 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
12818 * config/sparc/sparc.c (sparc_rtx_costs): New function
12819 implementing RTX_COSTS and CONST_COSTS.
12820 * config/sparc/sparc.h (CONST_COSTS): Delete.
12821 (RTX_COSTS_CASES): Define.
12822 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
12823 the work.
12824
a1d9bd0c
DM
12825 * config/sparc/sparc.md (DFA schedulers): Split out...
12826 * config/sparc/cypress.md, config/sparc/hypersparc.md,
12827 config/sparc/sparclet.md, config/sparc/supersparc.md,
12828 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
12829
e87bb82e
DM
12830 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
12831 checks on it, always defined for Sparc.
12832
af54350e
DM
12833 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
12834 Tweak, and add more detailed comments.
12835
935bfb44
ZW
128362002-05-03 Zack Weinberg <zack@codesourcery.com>
12837
12838 * Re-apply patch accidentally reverted with
12839 DFA scheduler merge: remove all rules and variables to slurp
12840 source files out of libiberty and rebuild them with HOST_CC.
12841 ($(HOST_PREFIX_1)varray.o): New rule.
12842 (genattrtab rule): Word wrap.
12843
fa7a0712
JT
128442002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
12845
12846 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
12847 (CPP_SUBTARGET_SPEC): Define.
12848 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
12849 cpp_subtarget specs.
12850 (CPP_SPEC): Redefine to include %(cpp_subtarget).
12851
14c93978
DM
128522002-05-03 David S. Miller <davem@redhat.com>
12853
12854 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
12855 * target.h (struct gcc_target): Delete cycle_display member.
12856
14d118d6
DM
12857 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
12858 (rtx_needs_barrier): Delete reference to cycle_display unspec.
12859 (ia64_sched_reorder2): Mention need for cycle display handling
12860 once such notes exist.
935bfb44 12861
b3ae1ccd
RH
128622002-05-03 Richard Henderson <rth@redhat.com>
12863
12864 * real.c (etoasc): Strip most trailing zeros for clarity.
12865 * sched-vis.c: Include real.h.
12866 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
12867 * Makefile.in (sched-vis.o): Add real.h.
12868
8f39865a
DM
128692002-05-03 David S. Miller <davem@redhat.com>
12870
12871 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
12872 no longer needed.
12873
b44140e7
AH
128742002-05-03 Aldy Hernandez <aldyh@redhat.com>
12875
935bfb44
ZW
12876 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
12877 when we get an out of range literal.
12878 (altivec_expand_ternop_builtin): Same.
12879 (altivec_expand_unop_builtin): Same.
12880 (altivec_expand_builtin): Same, for dss.
12881 (altivec_expand_builtin): Use trees instead of rtl when
12882 determining literal argument validity.
b44140e7 12883
aaaed752
DM
128842002-05-03 David S. Miller <davem@redhat.com>
12885
12886 Delete cycle display scheduling hook.
12887 * config/ia64/ia64.c (ia64_cycle_display,
12888 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
12889 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
12890 and use emit_insn_before instead of ia64_emit_insn_before.
12891 * config/ia64/ia64.md (unspec usage): Delete cycle display.
12892 (cycle_display): Delete insn pattern.
12893 * config/sparc/sparc.md (unspec usage): Delete cycle display.
12894 (cycle_display): Delete insn pattern.
12895 * config/sparc/sparc.c (sparc_cycle_display,
12896 TARGET_SCHED_CYCLE_DISPLAY): Delete.
12897 * doc/md.texi (cycle_display): Don't mention.
12898 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 12899
b37c2614
RH
129002002-05-03 Richard Henderson <rth@redhat.com>
12901
12902 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
12903 * recog.h: Declare them.
12904
12905 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
12906 * config/sparc/sparc.md: Use store_data_bypass_p instead.
12907 * config/sparc/sparc-protos.h: Update.
935bfb44 12908
e1c1132e
JT
129092002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
12910
12911 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
12912 -D__arch64__. Add -D_LP64.
12913 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
12914 from sparc.h.
12915 (CPP_ARCH64_SPEC): Likewise.
12916 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
12917 (NO_BUILTIN_SIZE_TYPE): Undef.
12918
0b2fb0d7
VM
129192002-05-03 Vladimir Makarov <vmakarov@redhat.com>
12920
12921 * genautomata.c (min_issue_delay_pass_states): Change return type
12922 in the prototype.
12923 (min_issue_delay_pass_states): Change the algorithm.
12924 (min_issue_delay): Set up min_insn_issue_delay for the state.
12925 (output_min_issue_delay_table): Interchange the nested loops and
12926 and initiate min_insn_issue_delay for states.
935bfb44 12927
3d4ce12a
JH
12928Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
12929
12930 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
12931 jump is simplejump.
12932
12933Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
12934
12935 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
12936 sequence.
12937
b5482208
RH
129382002-05-03 Richard Henderson <rth@redhat.com>
12939
12940 PR opt/6534
12941 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
12942 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
12943 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
12944 code before JUMP, not EARLIEST.
12945
5a3085c5
JM
129462002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
12947
12948 * c-format.c (check_format_info_main): Don't check for presence of
12949 parameter for * width until after operand number has been read,
12950 and only check for it if format parameters are available.
12951 Fixes PR c/6547.
12952
40039424
JT
129532002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
12954
12955 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
12956 (LINK_SPEC): Undef before defining.
12957
8157303b
JJ
129582002-05-03 Jakub Jelinek <jakub@redhat.com>
12959
12960 PR preprocessor/6489
12961 * tradcpp.c (fixup_newlines): New.
12962 (main, finclude): Use it.
12963
66319f5c
RS
129642002-05-03 Richard Sandiford <rsandifo@redhat.com>
12965
12966 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
12967 * config/mips/mips.c (mips_unique_section): Strip encoding from
12968 decl name.
12969
ce8076ad
JJ
129702002-05-03 Jakub Jelinek <jakub@redhat.com>
12971
12972 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
12973 mode.
12974
975c6e4e
RO
129752002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12976
12977 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
12978 (Specific): Removed buildstats references.
12979 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
12980 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
12981 Accomodate Solaris versions beyond 8.
12982 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
12983 (Specific, *-*-solaris2.8): Removed, obsolete.
12984
d70e94ec
JJ
129852002-05-03 Jakub Jelinek <jakub@redhat.com>
12986
12987 PR target/6542
12988 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
12989 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
12990 fill leaf_reg_remap with identity.
12991 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
12992
6b148bd9
KH
129932002-05-03 Kazu Hirata <kazu@cs.umass.edu>
12994
12995 * config/h8300/crti.asm: Remove trailing spaces.
12996 * config/h8300/h8300.c: Likewise.
12997 * config/h8300/lib1funcs.asm: Likewise.
12998
609688f3
JM
129992002-05-02 Jason Merrill <jason@redhat.com>
13000
13001 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
13002 * c-decl.c (c_init_decl_processing): Use it.
13003 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
13004 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
13005 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
13006
3b03c671
KH
130072002-05-03 Kazu Hirata <kazu@cs.umass.edu>
13008
13009 * regrename.c: Fix formatting.
13010 * tree.c: Likewise.
13011
3b4961bd
JH
13012Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
13013
13014 * i386.md (attribute memory): Handle compares properly.
13015
19cba4a0
JH
13016Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
13017
3b4961bd 13018 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
13019 to none.
13020
797a6ac1
KH
130212002-05-02 Kazu Hirata <kazu@cs.umass.edu>
13022
13023 * function.c: Fix formatting.
13024
6d0de005
JH
130252002-05-02 Jan Hubicka <jh@suse.cz>
13026
13027 * haifa-sched.c (schedule_insn): Print table of instructions and
13028 reservations.
13029 (sched_block): Do not print ready list at verbosity level 1.
13030 * sched-vis.c (print_insn): Make global.
13031 * sched-ebb.c (ebb_print_insn): Rename from...
13032 (print_insn): ... this one.
13033 * sched-int.h (print_insn): Declare
13034
0bfb9a69
RH
130352002-05-02 Richard Henderson <rth@redhat.com>
13036
13037 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
13038 emitted by cycle_display.
13039
6b976d99
LR
130402002-05-02 Loren J. Rittle <ljrittle@acm.org>
13041
13042 * doc/install.texi (*-*-freebsd*): Update to latest status.
13043
0a295052
JJ
130442002-05-02 Jakub Jelinek <jakub@redhat.com>
13045
13046 PR target/6540
13047 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
13048 * config/float-sparc.h: Assume 128-bit long double if
13049 __LONG_DOUBLE_128__ is defined.
13050
842d5d6c
VM
130512002-05-02 Vladimir Makarov <vmakarov@redhat.com>
13052
13053 * genattrtab.c (write_function_unit_info): Add a dummy element
13054 when num_units == 0.
13055
3d7a6309
HB
130562002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13057
13058 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
13059 TYPE_MODE (double_type_node) instead of DFmode.
13060
1b6763cf
JH
13061Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
13062
13063 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
13064 jumps post reload.
13065 * toplev.c (rest_of_compilation): Revert Richard's patch.
13066
b303008e
JDA
130672001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
13068
13069 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
13070
6ed7412a
CM
130712002-05-02 Catherine Moore <clm@redhat.com>
13072
13073 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
13074
e0a2f705
KH
130752002-05-02 Kazu Hirata <kazu@hxi.com>
13076
b32d6163 13077 * combine.c: Fix comment typos.
e0a2f705
KH
13078 * expr.c: Likewise.
13079 * genautomata.c: Likewise.
13080 * stmt.c: Likewise.
13081 * tree.h: Likewise.
13082
38e23049
JM
130832002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
13084
13085 * doc/install.texi: State GNAT version requirements.
13086
40f4a97d
NC
130872002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
13088
13089 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
13090 of the frame pointer or arg pointer register which strict register
13091 checking is not enabled.
13092
0d6d6892
AH
130932002-05-02 Aldy Hernandez <aldyh@redhat.com>
13094
b5482208 13095 * gcc.dg/altivec-8.c: New.
0d6d6892 13096
b5482208
RH
13097 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
13098 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 13099
abaa8559
BK
131002002-05-01 Bruce Korb <bkorb@gnu.org>
13101
13102 * fixinc/check.tpl(set-writable): make sure the function exists first
13103 * fixinc/inclhack.def(alpha_assert): fix test_text
13104 * fixinc/tests/base/assert.h: add in missing result
13105
ecab2143
JL
131062002-05-01 Jeff Law <law@redhat.com>
13107
13108 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
13109 'T' constraint.
13110
ea619b46
JB
131112002-05-01 Joel Brobecker <brobecker@gnat.com>
13112
13113 * dbxout.c (dbxout_type): Emit size information for range types,
13114 as well, but only when using GDB extensions.
13115
c72931a6
RH
131162002-05-01 Richard Henderson <rth@redhat.com>
13117
13118 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
13119 target-independent gnu binutils date test.
13120
2150ad33
RH
131212002-05-01 Richard Henderson <rth@redhat.com>
13122
13123 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
13124 info before expunging the block.
13125
1651cc96
JJ
131262002-05-01 Jakub Jelinek <jakub@redhat.com>
13127
13128 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
13129 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
13130 -M -or -MM is in effect.
13131
8998d5bf
ZW
131322002-05-01 Zack Weinberg <zack@codesourcery.com>
13133
13134 * config.gcc: Correct test of --enable-obsolete. Obsolete all
13135 A29k configurations.
13136 * doc/install.texi: Update to match.
13137
a81eed10
FS
131382002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13139
13140 PR bootstrap/6514
13141 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
13142 for duplicates. Always loop over whole list.
13143
8d53318f
RK
13144Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13145
13146 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
13147
4109b118
JS
131482002-05-01 Joel Sherrill <joel@OARcorp.com>
13149
13150 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
13151 support routines.
13152
c4a9c570
JS
131532002-05-01 Joel Sherrill <joel@OARcorp.com>
13154
13155 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
13156
ea112fc4
DE
131572002-05-01 David Edelsohn <edelsohn@gnu.org>
13158
13159 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
13160 (nabs_nopower): Same.
13161 (floatdisf2): New pattern.
13162 (absdi2): Convert to define_insn_and_split.
13163 (nabsdi2): Same.
13164 (trunctfsf2): Same.
13165 (floatditf2): Same.
13166 (floatsitf2): Same.
13167 (fix_trunctfdi2): Same.
13168 (fix_trunctfsi2): Same.
13169
dda78254
JM
131702002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
13171
13172 * doc/install.texi: Update Texinfo version requirement
13173 documentation.
13174
26aeede4
JJ
131752002-05-01 Jakub Jelinek <jakub@redhat.com>
13176
13177 PR target/6512, PR target/5628
13178 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
13179 when memory is not aligned.
13180 (movdf_insn_v9only_vis): Likewise.
13181 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
13182 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
13183 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
13184
9b7bc465
AH
131852002-05-01 Aldy Hernandez <aldyh@redhat.com>
13186
8998d5bf 13187 * gcc.dg/altivec-7.c: New.
9b7bc465 13188
8998d5bf 13189 * config/rs6000/altivec.h: Cleanup.
9b7bc465 13190
08b57fb3
AH
131912002-04-30 Aldy Hernandez <aldyh@redhat.com>
13192
8998d5bf
ZW
13193 * doc/invoke.texi (Option Summary): Add -mvrsave=.
13194 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 13195
8998d5bf
ZW
13196 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
13197 (rs6000_altivec_vrsave_string): Same.
13198 (rs6000_override_options): Call rs6000_parse_vrsave_option.
13199 (rs6000_parse_vrsave_option): New.
13200 (rs6000_stack_info): Only generate vrsave instructions when
13201 TARGET_ALTIVEC_VRSAVE.
08b57fb3 13202
8998d5bf
ZW
13203 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
13204 (rs6000_altivec_vrsave_string): Define extern.
13205 (rs6000_altivec_vrsave): Same.
13206 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 13207
8e8c38cd
RH
132082002-04-30 Richard Henderson <rth@redhat.com>
13209
13210 PR opt/6516
13211 * toplev.c (rest_of_compilation): Don't run cross-jump before
13212 bb-reorder.
13213
4be9e9cb
TR
132142002-04-30 Tom Rix <trix@redhat.com>
13215
8998d5bf 13216 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
13217 check which_alternative.
13218
1eeeb6a4
KH
132192002-04-30 Kazu Hirata <kazu@hxi.com>
13220
13221 * cpplex.c: Fix comment formatting.
13222 * function.c: Likewise.
13223 * integrate.c: Likewise.
13224 * regrename.c: Likewise.
13225 * sibcall.c: Likewise.
13226 * simplify-rtx.c: Likewise.
13227 * tree-inline.c: Likewise.
13228
ed9d6ff9
JDA
132292002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
13230
13231 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
13232 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
13233 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
13234 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
13235 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
13236 * pa/x-ada: New file. Define ADA_CFLAGS.
13237
1f2641b6
HPN
132382002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
13239
13240 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
13241 from MMIX_LAST_REGISTER_FILE_REGNUM.
13242 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
13243 (struct machine_function): New member highest_saved_stack_register
13244 previously static variable in mmix.c.
13245 (MACHINE_DEPENDENT_REORG): Define.
13246 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
13247 (MMIX_OUTPUT_REGNO): New.
13248 (mmix_target_asm_function_prologue): Move calculation of last used
13249 saved-stack-register into...
13250 (mmix_machine_dependent_reorg): New function. Update to also handle
13251 !TARGET_ABI_GNU.
13252 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
13253 register names, simplify somewhat by new variable regno.
13254 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
13255 register.
13256 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
13257 emitting register names.
13258 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
13259 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
13260 Remove fixed FIXME.
13261 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
13262 Declare.
13263
13264 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
13265
73985940
RH
132662002-04-30 Richard Henderson <rth@redhat.com>
13267
13268 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
13269 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
13270 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
13271 emit_tfmode_cvt): New.
13272 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
13273 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
13274 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
13275 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
13276 * config/sparc/sparc-protos.h: Update.
13277
2b46bc67
JJ
132782002-04-30 Janis Johnson <janis187@us.ibm.com>
13279
13280 * install.texi (Final install): Add to the list of info to include
13281 in a report of a successful bootstrap, and add link to 3.1 list.
13282
3d34cd91
JH
13283Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
13284
13285 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
13286 (mode): Add vector modes
13287 (i387): Kill attribute.
13288 (unit): New attribute.
13289 (length_immediate): Grok new types.
13290 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
13291 (modrm): Use "unit".
13292 (memory): Handle MMX/SSE properly.
13293 (scheduling descriptions): Kill uses of fop1.
13294 (sse, mmx, fp patterns): Set type and mode properly.
13295
243e5500 13296Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 13297
30482eb0
JL
13298 * pa.c (override_options): Default to PA8000 scheduling.
13299 * doc/invoke.texi (HP-PA options): Mention newly added 7300
13300 scheduling parameter.
13301
3193c415
JL
13302 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
13303 handling of double precision multiplies.
13304
13305 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
13306 fpdiv and fpsqrt instructions.
13307 (7200 & 7300 scheduling): Fix typo in handling of
13308 store-load and store-store penalties.
13309
c0a34cb7
GP
133102002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13311
13312 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
13313 mips. Add two missing commas.
13314
8bce0628
PC
133152002-04-30 Paolo Carlini <pcarlini@unitus.it>
13316
13317 * doc/contrib.texi (Contributors): Update Paolo Carlini's
13318 and Benjamin Kosnik's entries.
13319
84643cbf
DM
133202002-04-29 David S. Miller <davem@redhat.com>
13321
13322 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
13323 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
13324 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
13325 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
13326
da6886f6
FS
133272002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13328
13329 * combine.c (find_split_point): Use gen_int_mode.
13330
fae15c93
VM
133312002-04-29 Vladimir Makarov <vmakarov@redhat.com>
13332
13333 Merging code from dfa-branch:
8998d5bf 13334
fae15c93
VM
13335 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
13336
13337 * genautomata.c (output_reserv_sets): Fix typo.
13338
13339 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
13340
13341 * genautomata.c (output_reserv_sets): Remove
13342 next_cycle_output_flag.
13343
13344 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
13345
8998d5bf
ZW
13346 * sched-rgn.c (init_ready_list): Make the DFA code handle
13347 USE/CLOBBER insns in the same way as the traditional
13348 scheduler.
13349 (new_ready): Similarly..
fae15c93
VM
13350
13351 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
13352
13353 * haifa-sched.c (schedule_block): Change the DFA state only after
13354 issuing insn.
13355
13356 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
13357
13358 * pa.c (hppa_use_dfa_pipeline_interface): New function.
13359 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
13360 (override_options): Add PA7300 scheduling support.
13361 (pa_adjust_cost): Update various comments. Properly
13362 handle anti and output dependencies when using the
13363 DFA scheduler.
13364 (pa_issue_rate): Add PA7300 scheduling support.
13365 (pa_can_combine_p): Call extract_insn before calling
13366 constrain_operands (taken from mainline tree).
13367 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
13368 * pa.md (cpu attr): Add 7300. Rewrite pipeline
13369 descriptions using DFA descriptions. Add PA7300
13370 scheduling support.
13371
13372 2002-03-30 David S. Miller <davem@redhat.com>
13373
13374 Add UltraSPARC-III DFA scheduling support.
13375 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
13376 Update FP conditional move on register insn patterns to use it, as
13377 appropriate.
13378 (define_attr cpu): Add ultrasparc3.
13379 (define_attr us3load_type): New, update integer load patterns to
13380 set it, as appropriate.
13381 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
13382 (rest): Add UltraSPARC3 scheduling description.
13383 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
13384 (PROCESSOR_ULTRASPARC3): New.
13385 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
13386 ({ASM,CPP}_CPU_SPEC): Likewise.
13387 (REGISTER_MOVE_COST): Likewise.
13388 (RTX_COSTS): Likewise.
13389 * config/sparc/sparc.c (sparc_override_options,
13390 sparc_initialize_trampoline, sparc64_initialize_trampoline,
13391 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
13392 sparc_issue_rate): Likewise.
13393 * config/sparc/sol2.h: Likewise.
13394 * config/sparc/sol2-sld-64.h: Likewise.
13395 * config/sparc/linux64.h: Likewise.
8998d5bf 13396
fae15c93
VM
13397 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
13398
13399 * doc/md.texi: Add comments about usage the latency time for the
13400 different dependencies and about case when two or more conditions
13401 in different define_insn_reservations returns TRUE for an insn.
13402
13403 * doc/md.texi: Add reference for automaton based pipeline
13404 description.
8998d5bf 13405
fae15c93
VM
13406 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
13407
13408 * doc/passes.texi: Add missed information about genattrtab.
13409
13410 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
13411
13412 * genautomata.c (output_automata_list_transition_code): Check
13413 automata_list on NULL.
13414
13415 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
13416
13417 * genautomata.c (output_insn_code_cases,
13418 output_automata_list_min_issue_delay_code,
13419 output_automata_list_transition_code,
13420 output_automata_list_state_alts_code): Comment the functions.
13421
13422 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
13423
13424 * genautomata.c (automata_list_el_t): New typedef.
13425 (get_free_automata_list_el,free_automata_list_el,
13426 free_automata_list, automata_list_hash, automata_list_eq_p,
13427 initiate_automata_lists, automata_list_start, automata_list_add,
13428 automata_list_finish, finish_automata_lists,
13429 output_insn_code_cases, output_automata_list_min_issue_delay_code,
13430 output_automata_list_transition_code,
13431 output_automata_list_state_alts_code, add_automaton_state,
13432 form_important_insn_automata_lists): New functions and prototypes.
13433 (insn_reserv_decl): Add members important_automata_list and
13434 processed_p.
13435 (ainsn): Add members important_p.
13436 (automata_list_el): New structure.
13437 (first_free_automata_list_el, current_automata_list,
13438 automata_list_table): New global variables.
13439 (create_ainsns): Initiate member important_p.
13440 (output_internal_min_issue_delay_func): Generate the switch and
13441 call output_insn_code_cases.
13442 (output_internal_trans_func, output_internal_state_alts_func):
13443 Ditto.
13444 (generate): Call initiate_automata_lists.
13445 (automaton_states): New global variable.
13446 (expand_automata): Call form_important_insn_automata_lists.
13447 (write_automata): Call finish_automata_lists.
8998d5bf 13448
fae15c93
VM
13449 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
13450
13451 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 13452 cpu units in the sets belong the same automaton.
fae15c93
VM
13453
13454 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
13455 about that cpu units in the sets belong the same automaton.
13456
13457 * doc/md.texi: Ditto.
8998d5bf 13458
2799d721
VM
13459 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
13460 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 13461
fae15c93
VM
13462 * config/sh/sh.c (sh_use_dfa_interface): New function.
13463
13464 (sh_issue_rate): New Function.
13465 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
13466 TARGET_SCHED_ISSUE_RATE: define.
13467
13468 * config/sh/sh.md: Add DFA based pipeline description for SH4.
13469
8998d5bf
ZW
13470 (define_attr insn_class): New attribute used for DFA
13471 scheduling.
fae15c93
VM
13472 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
13473 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
13474 cmpeqdi_t): Likewise.
13475
13476 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 13477 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
13478 ex_group.
13479 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 13480
fae15c93
VM
13481 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
13482
13483 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
13484 break.
13485
13486 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
13487
13488 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
13489 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
13490 necessary.
13491 (output_dfa_start_func): Initiate new variable insn_codes_length,
13492 (write_automata): Output definition of the new variable.
8998d5bf 13493
fae15c93
VM
13494 2001-10-02 David S. Miller <davem@redhat.com>
13495
13496 * haifa-sched.c (advance_one_cycle): New function.
13497 (schedule_block): Use it.
13498 (queue_to_ready): Use it, and also make sure to advance the DFA
13499 state on all stall cycles, not just those where insn_queue links
13500 are found.
13501
13502 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
13503
13504 * haifa-sched.c (max_issue): Remove last_p argument. Only return
13505 non-zero if the highest-priority instruction could be scheduled.
13506 (choose_ready): Remove last argument from max_issue call.
13507
13508 2001-09-28 David S. Miller <davem@redhat.com>
13509
13510 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
13511 ultrasparc and 3 for other multi-issue sparcs.
13512
13513 2001-09-27 David S. Miller <davem@redhat.com>
13514
13515 * config/sparc/sparc.md (cycle_display): New pattern.
13516 * config/sparc/sparc.c (sparc_cycle_display): New.
13517 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
13518
13519 2001-09-25 David S. Miller <davem@redhat.com>
13520
13521 Convert all of Sparc scheduling to DFA
13522 * config/sparc/sparc.md: Kill all define_function_unit
13523 directives and replace with DFA equivalent.
13524 * config/sparc/sparc.c (ultrasparc_adjust_cost,
13525 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
13526 ultra_fpmode_conflict_exists, ultra_find_type,
13527 ultra_build_types_avail, ultra_flush_pipeline,
13528 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
13529 ultrasparc_variable_issue, ultrasparc_sched_init,
13530 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
13531 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
13532 ultra_cur_hist, ultra_cycles_elapsed): Kill.
13533 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
13534 ultrasparc_store_bypass_p): New.
13535 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
13536 Declare.
13537
13538 2001-09-24 David S. Miller <davem@redhat.com>
13539
13540 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
13541 ready->vec[foo] not ready[foo].
13542
13543 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
13544
13545 * doc/md.texi: Correct examples for define_insn_reservations
13546 `mult' and `div'.
13547
13548 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
13549
13550 * genautomata.c (create_automata): Print message about creation of
13551 each automaton.
13552 (generate): Remove printing meease about creation of
13553 automata.
13554
13555 2001-09-05 David S. Miller <davem@redhat.com>
13556
13557 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
13558 * config/sparc/linux64.h: Likewise.
13559
13560 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
13561
13562 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
13563 schedule_block, sched_init, sched_finish): Add missed calls of
13564 use_dfa_pipeline_interface.
13565
13566 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
13567 Ditto.
13568
13569 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 13570
fae15c93
VM
13571 2001-08-27 Richard Henderson <rth@redhat.com>
13572
13573 * genattr.c (main): Emit state_t even when not doing scheduling.
13574
13575 2001-08-27 Richard Henderson <rth@redhat.com>
13576
13577 * genautomata.c (expand_automata): Always create a description.
13578
13579 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
13580
8998d5bf 13581 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
13582 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
13583 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
13584 RTL constructions.
13585
13586 * genattr.c (main): New variable num_insn_reservations. Increase
13587 it if there is DEFINE_INSN_RESERVATION. Output automaton based
13588 pipeline hazard recognizer interface.
13589
13590 * genattrtab.h: New file.
13591
13592 * genattrtab.c: Include genattrtab.h.
13593 (attr_printf, check_attr_test, make_internal_attr,
13594 make_numeric_value): Move protypes into genattrtab.h. Define them
13595 as external.
13596 (num_dfa_decls): New global variable.
13597 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
13598 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
13599 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
13600 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
13601
13602 * genautomata.c: New file.
13603
13604 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
13605
8998d5bf 13606 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
13607 automaton pipeline interface.
13608 (haifa_insn_data): Add comments for members blockage and units.
13609
13610 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13611 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13612 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13613 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13614 TARGET_SCHED_DFA_POST_CYCLE_INSN,
13615 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13616 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
13617 macros.
13618 (TARGET_SCHED): Use the new macros.
13619
13620 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
13621 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
13622 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
13623 dfa_bubble): New members in gcc_target.sched.
13624
8998d5bf 13625 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
13626 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
13627 (insn_queue): Redefine it as pointer to array.
13628 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
13629 INSN_QUEUE_SIZE.
13630 (max_insn_queue_index_macro_value): New variable.
13631 (curr_state, dfa_state_size, ready_try): New varaibles for
13632 automaton interface.
13633 (ready_element, ready_remove, max_issue): New function prototypes
13634 for automaton interface.
13635 (choose_ready): New function prototype.
13636 (insn_unit, blockage_range): Add comments.
13637 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
13638 FUNCTION_UNITS_SIZE == 0.
13639 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
13640 actual_hazard, potential_hazard): Add comments.
13641 (insn_cost): Use cost -1 as undefined value. Remove
13642 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
13643 pipeline interface.
13644 (ready_element, ready_remove): New functions for automaton
13645 interface.
13646 (schedule_insn): Add new code for automaton pipeline interface.
13647 (queue_to_ready): Add new code for automaton pipeline interface.
13648 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
13649 (debug_ready_list): Print newline when the queue is empty.
13650 (max_issue): New function for automaton pipeline interface.
13651 (choose_ready): New function.
13652 (schedule_block): Add new code for automaton pipeline interface.
13653 Print ready list before scheduling each insn.
13654 (sched_init): Add new code for automaton pipeline interface.
13655 Initiate insn cost by -1.
13656 (sched_finish): Free the current automaton state and finalize
13657 automaton pipeline interface.
13658
13659 * sched-rgn.c: Include target.h.
13660 (init_ready_list, new_ready, debug_dependencies): Add new code for
13661 automaton pipeline interface.
13662
13663 * sched-vis.c: Include target.h.
13664 (get_visual_tbl_length): Add code for automaton interface.
13665 (target_units, print_block_visualization): Add comments.
13666
8998d5bf 13667 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
13668 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
13669 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
13670 (getruntime.o, genautomata.o): New entries.
13671 (genattrtab.o): Add new dependency file genattrtab.h.
13672 (genattrtab): Add new dependencies. Link it with `libm.a'.
13673 (getruntime.o, hashtab.o): New entries for canadian cross.
13674
13675 * doc/md.texi: Description of automaton based model.
13676
13677 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
13678 Add comments.
13679 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13680 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
13681 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
13682 TARGET_SCHED_DFA_POST_CYCLE_INSN,
13683 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
13684 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13685 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
13686 hook descriptions.
13687 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
13688 MAX_DFA_ISSUE_RATE): New macro descriptions.
13689
13690 * doc/contrib.texi: Add dfa based scheduler contribution.
13691
13692 * doc/gcc.texi: Add more information about genattrtab.
13693
a2ff290c
RK
13694Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13695
13696 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
13697 adjust_address_nv call.
13698
f97903cc
JJ
136992002-04-29 Janis Johnson <janis187@us.ibm.com>
13700
13701 * doc/install.texi (Testing): Provide additional information, and
13702 a stronger encouragement, for running the testsuites.
13703
f41a6bf1
DD
137042002-04-29 DJ Delorie <dj@redhat.com>
13705
13706 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
13707 given in upper case.
13708
d8af0868
RO
137092002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13710
13711 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
13712 Solaris 2 <widec.h> if missing.
13713 * fixinc/fixincl.x: Regenerate.
13714 * fixinc/tests/base/widec.h: New file.
13715
1034407f
NC
137162002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
13717
13718 * toplev.c (f_options): Add "profile" switch so that
13719 -fno-profile can be used to disable -p.
13720
fbe5eb6d
BS
137212002-04-29 Bernd Schmidt <bernds@redhat.com>
13722
13723 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
13724 UV2DImode.
13725 * tree.c (build_common_tree_nodes_2): Likewise.
13726 * tree.h (enum tree_index): Likewise.
13727 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
13728
13729 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
13730 entries.
13731 (init_mmx_sse_builtins): Initialize SSE2 builtins.
13732 (ix86_expand_builtin): Add support for SSE2 builtins.
13733 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
13734 (VALID_SSE_REG_MODE): Use it.
13735 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
13736 (enum ix86_builtins): Add SSE2 builtins.
13737 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
13738 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
13739 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
13740 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
13741 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
13742 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
13743 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
13744 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
13745 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
13746 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
13747 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
13748 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
13749 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
13750 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
13751 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
13752 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
13753 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
13754 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
13755 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
13756 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
13757 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
13758 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
13759 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
13760 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
13761 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
13762 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
13763 lfence_insn): New patterns.
13764 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
13765 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
13766
44aefada
JH
13767Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
13768
13769 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
13770
d5482cdc
GP
137712002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13772
13773 * doc/contrib.texi (Contributors): Add Paolo Carlini and
13774 Janis Johnson.
13775 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
13776 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
13777 and CPU instead of cpu.
13778
2c4b77f3
JH
13779Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
13780
13781 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
13782 variables.
13783 (lang_independent_options): Add -fif-conversion, -fif-conversion2
13784 (rest_of_compilation): Do if conversion only when asked for.
13785 (parse_options_and_default_flags): Set new variables to 1 for -O1
13786 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
13787
3de72741
JH
13788Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
13789
13790 * i386.c (dbx64_register_map): Fix typo.
13791
8aa18a7d
JH
13792Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
13793
13794 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
13795 real_one_half, real_bb_freq_max): New static variables.
13796 (debug_profile_bbauxs): Kill.
13797 (process_note_predictions): Kill unused variable.
13798 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
13799 volatile double.
13800 (propagate_freq): Use REAL_ARITHMETICS.
13801 (estimate_bb_frequencies): Likevise; init new static variables.
13802 * Makefile.in (predict.o): Add dependency on real.h
13803
1bbad4c6
DM
138042002-04-28 David S. Miller <davem@redhat.com>
13805
13806 PR target/6500
13807 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
13808 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
13809 several {reads,writes} instead.
13810 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
13811 Define.
13812
3ef3f384
DM
138132002-04-27 David S. Miller <davem@redhat.com>
13814
13815 PR target/6494
13816 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
13817 of the stack bias.
13818
13819 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
13820 including signal.h and sys/ucontext.h, not needed.
13821
ec493bcb
HPN
138222002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
13823
13824 * varasm.c (output_constant_def): Correct test for not calling
13825 ENCODE_SECTION_INFO for INTEGER_CST.
13826
60284a59
NB
138272002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
13828
13829 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
13830 keep most cases as function eval_token.
13831 (eval_token): New function.
13832 (_cpp_parse_expr): Read token here for improved diagnostics.
13833 Don't use op_as_text. Detect bad ':' here.
13834 (reduce): Don't detect bad ':' here.
13835 (op_as_text): Remove.
13836 * cpphash.h (_cpp_test_assertion): Change prototype.
13837 * cpplib.c (_cpp_test_assertion): Change prototype.
13838
349a4b40
RH
138392002-04-28 Richard Henderson <rth@redhat.com>
13840
13841 PR c/5154
8998d5bf 13842 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
13843 (ggc_mark_rtx_children): New.
13844
7a03f82f
JJ
138452002-04-28 Jakub Jelinek <jakub@redhat.com>
13846
13847 PR target/6496
13848 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
13849 after call peepholes for UltraSPARC.
13850 (call + jump 64-bit peepholes): Remove.
13851
80103f96
FS
138522002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13853
13854 PR c/6497
13855 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
13856 result as temporary value.
13857
06990986
JJ
138582002-04-28 Jakub Jelinek <jakub@redhat.com>
13859
13860 PR c++/6396
13861 * toplev.c (rest_of_compilation): Only run regrename and copy
13862 propagation if optimizing.
13863
a20fd5ac
JJ
138642002-04-28 Jakub Jelinek <jakub@redhat.com>
13865
13866 PR optimization/6475
13867 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
13868 register of REGNO_DECL (i).
13869 * Makefile.in (reload1.o): Add $(TREE_H).
13870
87ed109f
NB
138712002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
13872
13873 * cppexp.c (lex): Update to use state.skip_eval.
13874 (struct op): Remove prio and flags members.
13875 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
13876 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
13877 (LEFT_ASSOC): New macro.
13878 (optab): New table of operator priorities and flags.
13879 (SHIFT): Update.
13880 (_cpp_parse_expr): Clean up logic. Return bool. Use a
13881 malloc-ed parser stack.
13882 (reduce): New; reduce the operator stack.
13883 (_cpp_expand_op_stack): Expand the operator stack as necessary.
13884 * cpphash.h (struct op): Predeclare.
13885 (struct cpp_reader): New members op_stack, op_limit.
13886 (struct lexer_state): New member skip_eval.
13887 (_cpp_parse_expr): Update.
13888 (_cpp_expand_op_stack): New.
13889 * cpplib.c (do_if): Update.
13890 * cppinit.c (cpp_create_reader): Create op stack.
13891 (cpp_destroy): And destroy it.
13892 * cpplib.h (CPP_LAST_CPP_OP): Correct.
13893 (TTYPE_TABLE): Correct.
13894
45806a3f
FS
138952002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13896
13897 PR c/6343
13898 * c-decl.c (duplicate_decls): Call merge_weak.
13899 * c-pragma.c (apply_pragma_weak): Warn about misuse.
13900 * output.h (merge_weak): Prototype merge_weak.
13901 * varasm.c (merge_weak): New function.
13902 (declare_weak): Make sure we don't give an error on VAR_DECLs.
13903 Mark RTL with SYMBOL_REF_WEAK.
13904
a6227154
KG
139052002-04-27 Kurt Garloff <garloff@suse.de>
13906
13907 * tree-inline.c (inlinable_function_p): Improve heuristics
13908 by using a smoother function to cut down allowable inlinable size.
13909 * param.def: Add parameters max-inline-insns-single,
13910 max-inline-slope, min-inline-insns that determine the exact
13911 shape of the above function.
13912 * param.h: Likewise.
13913
94a50397
RH
139142002-04-26 Richard Henderson <rth@redhat.com>
13915
13916 * c-parse.in (malloced_yyss, malloced_yyvs): New.
13917 (yyoverflow): Re-add. Set them.
13918 (free_parser_stacks): New.
13919 * c-common.h: Declare it.
13920 * c-lex.c (c_common_parse_file): Call it.
13921
9c0a0632
RH
139222002-04-26 Richard Henderson <rth@redhat.com>
13923
13924 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
13925 for fallthru search.
13926
b875d2ee
EC
139272002-04-26 Eric Christopher <echristo@redhat.com>
13928
13929 PR optimization/3700
13930 * config/mips/mips.c (mips_issue_rate): Define. New function.
13931 (TARGET_SCHED_ISSUE_RATE): Use.
13932
1db828df
DM
139332002-04-25 David S. Miller <davem@redhat.com>
13934
13935 PR target/6422
13936 * reorg.c (optimize_skip): Do not allow exception causing
13937 instructions to be considered for delay slots.
13938 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
13939 (relax_delay_slots): Do not try to consider exception causing
13940 instructions as redundant.
13941
ae5d234e
RH
139422002-04-26 Richard Henderson <rth@redhat.com>
13943
13944 PR c/5225
13945 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
13946
7d793e9b
MM
139472002-04-26 Mark Mitchell <mark@codesourcery.com>
13948
13949 PR bootstrap/6445
13950 * config/i386/i386.md (untyped_call): Return the value in a float
13951 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
13952 TARGET_80387.
13953
b13ab42c
AO
139542002-04-26 Alexandre Oliva <aoliva@redhat.com>
13955
13956 * tree.c (tree_int_cst_lt): Compare constants whose types differ
13957 in unsigned-ness correctly.
13958
5e56f909
JDA
139592002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
13960
13961 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
13962 portable runtime model.
13963
bde3c0c0
RH
139642002-04-26 Richard Henderson <rth@redhat.com>
13965
a6227154 13966 * c-parse.in (yyoverflow): Revert.
bde3c0c0 13967
5276df18
DE
139682002-04-26 David Edelsohn <edelsohn@gnu.org>
13969 Richard Henderson <rth@redhat.com>
13970
13971 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
13972 result as temporary value.
13973
b84a3874
RH
139742002-04-26 Richard Henderson <rth@redhat.com>
13975
13976 PR c/3581
13977 * c-common.c (fix_string_type): Split out of ...
13978 (combine_strings): ... here. Take a varray, not a tree list.
13979 (c_expand_builtin_printf): Use fix_string_type.
13980 * c-common.h: Update decls.
13981 * c-parse.in (string): Remove. Update all uses to use STRING
13982 instead, and not call combine_strings.
13983 (yylexstring): New.
13984 (_yylex): Use it.
13985 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
13986 (build_asm_stmt): Likewise.
13987 * objc/objc-act.c (my_build_string): Use fix_string_type.
13988 (build_objc_string_object): Build varray for combine_strings.
13989
d8ae8cd4
BT
139902002-04-26 Bo Thorsen <bo@suse.co.uk>
13991
13992 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
13993 x86-64.
13994
f8b954fc
NB
139952002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
13996
13997 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
13998 (HAVE_NO_R_OPERAND): Remove.
13999 (HAVE_VALUE): Remove.
14000 (op_to_prio): Update.
14001 (UNARY): Don't alter flags.
14002 (_cpp_parse_expr): want_value used to indicate whether
14003 a number or unary operator is expected next. Distinguish
14004 unary and binary +/-.
14005 (op_as_text): Update for unary operators.
14006
6052bef0
RH
140072002-04-25 Richard Henderson <rth@redhat.com>
14008
14009 PR c/2161
14010 * c-parse.in (yyoverflow): New.
14011
5c5b2283
RH
140122002-04-25 Richard Henderson <rth@redhat.com>
14013
14014 PR c/2098
14015 * c-common.c (shorten_compare): Simplfy conditions leading to
14016 the generation of a warning.
14017
28ce94d4
RH
140182002-04-25 Richard Henderson <rth@redhat.com>
14019
14020 PR c/2035
14021 * expmed.c (extract_bit_field): Fall through to generic code rather
14022 than aborting on subreg special case.
14023
6bfd0c63
DM
140242002-04-25 David S. Miller <davem@redhat.com>
14025
14026 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
14027 for DECL being NULL.
14028
7a430e3b
SC
140292002-04-25 Steve Christiansen <smc@us.ibm.com>
14030
14031 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
14032
45c42d7d
EB
140332002-04-25 Eric Botcazou <ebotcazou@multimania.com>
14034
14035 * c-decl.c (grokdeclarator): Remove outdated ??? note
14036 on invalid declaration of flexible array members.
14037
eb7715a4
RH
140382002-04-25 Richard Henderson <rth@redhat.com>
14039
14040 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
14041
cf5ee720
UW
140422002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
14043
14044 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
14045 needed by the compiler, even if they are used as global regs.
14046
d604bca3
MH
140472002-04-25 Matt Hiller <hiller@redhat.com>
14048
14049 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
14050 functions.
14051 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
14052 of the corresponding functions.
14053 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
14054 New prototypes.
b875d2ee 14055
d604bca3
MH
140562002-04-25 Matt Hiller <hiller@redhat.com>
14057
14058 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
14059
14060 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
14061 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
14062 registers, adjust comment accordingly.
14063 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
14064 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
14065 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
14066 for coprocessor registers.
14067 (ADDITIONAL_REGISTER_NAMES): Include
14068 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 14069
d604bca3
MH
14070 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
14071 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
14072 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
14073 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
14074 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
14075
14076 (mips_char_to_class): Adjust comment to include coprocessor
14077 constraint letters.
14078
14079 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
14080 New functions.
14081 (mips_reg_names, mips_regno_to_class): Include coprocessor
14082 information.
14083 (mips_sw_reg_names): Ditto, make non-static.
14084 (mips_move_1word): Handle moves to and from coprocessor registers.
14085 (mips_move_2words): Handle moves to and from coprocessor
14086 registers.
14087 (mips_class_max_nregs, mips_register_move_cost): Handle
14088 coprocessor register classes.
14089 (override_options): Initialize mips_char_to_class and
14090 mips_hard_regno_mode_ok properly for coprocessor registers.
14091
14092 * config/mips/mips.md (movdi_internal, movdi_internal2,
14093 movsi_internal1, movsi_internal2): Add constraint-sets for
14094 coprocessor registers.
14095 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
14096 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
14097 isn't mips.
14098 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
14099 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
14100 isn't mips.
14101 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
14102 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
14103 isn't mips.
14104 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
14105 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
14106 isn't mips.
b875d2ee 14107
d604bca3
MH
14108 * doc/tm.texi: Document feature.
14109
b9a26d09
NB
141102002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
14111
14112 * integrate.c (function_attribute_inlinable_p): Simplify.
14113 Check the table pointer is not NULL.
14114
ab5973b7
SB
141152002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
14116
14117 * doc/c-tree.texi: Fix typo in introduction.
14118
ff45c01e
NB
141192002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
14120
14121 * c-common.h (c_common_parse_file): Update.
14122 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
14123 * c-lex.c (YYDEBUG): Get from c-lex.h.
14124 (c_common_parse_file): Update.
14125 * c-lex.h (YYDEBUG, yydebug): New.
14126 * c-parse.in (YYDEBUG): Get from c-lex.h.
14127 (c_set_yydebug): Remove.
14128 * c-tree.h (c_set_yydebug): Remove.
14129 * langhooks-def.h (lhd_do_nothing_i): New.
14130 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
14131 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
14132 * langhooks.c (lhd_do_nothing_i): New.
14133 (lhd_set_yydebug): Remove.
14134 * langhooks.h (struct lang_hooks): Update.
14135 * toplev.c (set_yydebug): New.
14136 (compile_file): Update call to parse_file hook.
14137 (decode_d_option): Update.
14138objc:
14139 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
14140
fcae219a
R
14141Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
14142
14143 * loop.c (load_mems): Don't change the interface of called functions.
14144
14145 * calls.c (expand_call): Take current_function_pretend_args_size
14146 into account when setting argblock for sibcalls.
14147
d0fea45a
MH
141482002-04-24 Matt Hiller <hiller@redhat.com>
14149
14150 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
14151 * c-lex.c: Ditto.
14152
14153 * cpplex.c (skip_line_comment): Process comment one multibyte
14154 character at a time rather than one char at a time, if
14155 appropriate.
14156 (parse_string): Process string one multibyte character at a time
14157 rather than one char at a time, if appropriate.
14158 * c-lex.c (lex_string): Lex and copy multibyte strings
14159 appropriately.
14160 * cpplib.h (cppchar_t): Change to unsigned.
14161
2d1b5436
RH
141622002-04-24 Richard Henderson <rth@redhat.com>
14163
14164 PR c/3467
14165 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
14166 for c99.
14167
5e039e6b
R
14168Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
14169
14170 * sh.c (sh_va_arg): If argument was passed by reference,
14171 dereference the pointer.
309d8365
R
14172
14173 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
14174
14175 * sh.md (divsi3_i4_media): Use match_operand for input values
14176 rather than hard registers.
14177 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
14178 unnecessarily through hard registers. Keep copies of pseudo
14179 registers outside of the libcall sequence.
14180
14181 * sh.md (casesi_shift_media): Add modes.
b700634a
R
14182
14183 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
14184 values in memory.
14185
349ae713
NB
141862002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
14187
14188 * attribs.c (c_common_attribute_table): Move table and handlers
14189 to c-common.c.
14190 (format_attribute_table, lang_attribute_table,
14191 lang_attribute_common): Remove.
14192 (init_attributes): Replace NULL pointers with pointers to the
14193 empty table.
14194 (handle_packed_attribute, handle_nocommon_attribute,
14195 handle_common_attribute, handle_noreturn_attribute,
14196 handle_noinline_attribute, handle_always_inline_attribute,
14197 handle_used_attribute, handle_unused_attribute,
14198 handle_const_attribute, handle_transparent_union_attribute,
14199 handle_constructor_attribute, handle_destructor_attribute,
14200 handle_mode_attribute, handle_section_attribute,
14201 handle_aligned_attribute, handle_weak_attribute,
14202 handle_alias_attribute, handle_visibility_attribute,
14203 handle_no_instrument_function_attribute, handle_malloc_attribute,
14204 handle_no_limit_stack_attribute, handle_pure_attribute,
14205 handle_deprecated_attribute, handle_vector_size_attribute,
14206 vector_size_helper): Move to c-common.c.
14207 * c-common.c (c_common_attribute_table,
14208 handle_packed_attribute, handle_nocommon_attribute,
14209 handle_common_attribute, handle_noreturn_attribute,
14210 handle_noinline_attribute, handle_always_inline_attribute,
14211 handle_used_attribute, handle_unused_attribute,
14212 handle_const_attribute, handle_transparent_union_attribute,
14213 handle_constructor_attribute, handle_destructor_attribute,
14214 handle_mode_attribute, handle_section_attribute,
14215 handle_aligned_attribute, handle_weak_attribute,
14216 handle_alias_attribute, handle_visibility_attribute,
14217 handle_no_instrument_function_attribute, handle_malloc_attribute,
14218 handle_no_limit_stack_attribute, handle_pure_attribute,
14219 handle_deprecated_attribute, handle_vector_size_attribute,
14220 vector_size_helper): Move from attribs.c.
14221 * c-common.h (c_common_attribute_table,
14222 c_common_format_attribute_table): New.
14223 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
14224 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
14225 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
14226 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
14227 (LANG_HOOKS_INITIALIZER): Update.
14228 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
14229 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
14230 * target.h: Update comment.
14231 * tree.c (default_target_attribute_table): Remove.
14232 * tree.h (default_target_attribute_table, format_attribute_table,
14233 lang_attribute_table, lang_attribute_common): Remove.
14234objc:
14235 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
14236 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
14237
84f0ace0
JM
142382002-04-24 Jason Merrill <jason@redhat.com>
14239
14240 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
14241 * dwarf2out.c (dwarf_attr_name): Support it.
14242 (gen_array_type_die): Emit it.
14243 (lookup_type_die): No special handling for VECTOR_TYPE.
14244 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
14245
120eaf28
RH
142462002-04-24 Richard Henderson <rth@redhat.com>
14247
14248 * config/mips/mips.md (movdi_usd): Renumber.
14249
e732178c
DM
142502002-04-24 David S. Miller <davem@redhat.com>
14251
14252 PR target/6420
14253 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
14254 32-bit Sparc and current_function_returns_struct is true.
14255
e879eb2f
JH
14256Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
14257
14258 * loop.c (canonicalize_condition): Use gen_int_mode.
14259
4287a893
AH
142602002-04-24 Aldy Hernandez <aldyh@redhat.com>
14261
14262 * config/rs6000/altivec.h: Cleanup file. Add non individual
14263 variants.
14264 (vec_vaddubm): New.
14265 (vec_vadduhm): New.
14266 (vec_vadduwm): New.
14267 (vec_vaddfp): New.
14268 (vec_vaddcuw): New.
14269 (vec_vaddubs): New.
14270 (vec_vaddsbs): New.
14271 (vec_vadduhs): New.
14272 (vec_vadduws): New.
14273 (vec_vaddsws): New.
14274 (vec_vand): New.
14275 (vec_vandc): New.
14276 (vec_vavgub): New.
14277 (vec_vavgsb): New.
14278 (vec_vavguh): New.
14279 (vec_vavgsh): New.
14280 (vec_vavguw): New.
14281 (vec_vavgsw): New.
14282 (vec_vrfip): New.
14283 (vec_vcmpbfp): New.
14284 (vec_vcmpequb): New.
14285 (vec_vcmpequh): New.
14286 (vec_vcmpequw): New.
14287 (vec_vcmpeqfp): New.
14288 (vec_vcmpgefp): New.
14289 (vec_vcmpgtub): New.
14290 (vec_vcmpgtsb): New.
14291 (vec_vcmpgtuh): New.
14292 (vec_vcmpgtsh): New.
14293 (vec_vcmpgtuw): New.
14294 (vec_vcmpgtsw): New.
14295 (vec_vcmpgtfp): New.
14296 (vec_vcmpgefp): New.
14297 (vec_vcfux): New.
14298 (vec_vcfsx): New.
14299 (vec_vctsxs): New.
14300 (vec_vctuxs): New.
14301 (vec_vexptefp): New.
14302 (vec_vrfim): New.
14303 (vec_lvx): New.
14304 (vec_lvebx): New.
14305 (vec_lvehx): New.
14306 (vec_lde): Add vector float variant.
14307 (vec_lvewx): New.
14308 (vec_lvxl): New.
14309 (vec_vlogefp): New.
14310 (vec_vmaddfp): New.
14311 (vec_vmhaddshs): New.
14312 (vec_vmaxub): New.
14313 (vec_vmaxsb): New.
14314 (vec_vmaxuh): New.
14315 (vec_vmaxsh): New.
14316 (vec_vmaxuw): New.
14317 (vec_vmaxsw): New.
14318 (vec_vmaxsw): New.
14319 (vec_vmaxfp): New.
14320 (vec_vmrghb): New.
14321 (vec_vmrghh): New.
14322 (vec_vmrghw): New.
14323 (vec_vmrglb): New.
14324 (vec_vmrglh): New.
14325 (vec_vmrglw): New.
14326 (vec_vminub): New.
14327 (vec_vminsb): New.
14328 (vec_vminuh): New.
14329 (vec_vminsh): New.
14330 (vec_vminuw): New.
14331 (vec_vminsw): New.
14332 (vec_vminfp): New.
14333 (vec_vmladduhm): New.
14334 (vec_vmhraddshs): New.
14335 (vec_msumubm): New.
14336 (vec_vmsummbm): New.
14337 (vec_vmsumuhm): New.
14338 (vec_vmsumshm): New.
14339 (vec_vmsumuhs): New.
14340 (vec_vmsumshs): New.
14341 (vec_vmuleub): New.
14342 (vec_vmulesb): New.
14343 (vec_vmuleuh): New.
14344 (vec_vmulesh): New.
14345 (vec_vmuloub): New.
14346 (vec_mulosb): New.
14347 (vec_vmulouh): New.
14348 (vec_vmulosh): New.
14349 (vec_vnmsubfp): New.
14350 (vec_vnor): New.
14351 (vec_vor): New.
14352 (vec_vpkuhum): New.
14353 (vec_vpkuwum): New.
14354 (vec_vpkpx): New.
14355 (vec_vpkuhus): New.
14356 (vec_vpkshss): New.
14357 (vec_vpkuwus): New.
14358 (vec_vpkswss): New.
14359 (vec_vpkshus): New.
14360 (vec_vpkswus): New.
14361 (vec_vperm): New.
14362 (vec_vrefp): New.
14363 (vec_vrlb): New.
14364 (vec_vrlh): New.
14365 (vec_vrlw): New.
14366 (vec_vrfin): New.
14367 (vec_vrsqrtefp): New.
14368 (vec_vsel): New.
14369 (vec_vslb): New.
14370 (vec_vslh): New.
14371 (vec_vslw): New.
14372 (vec_vsldoi): New.
14373 (vec_vsl): New.
14374 (vec_vslo): New.
14375 (vec_vspltb): New.
14376 (vec_vsplth): New.
14377 (vec_vspltw): New.
14378 (vec_vspltisb): New.
14379 (vec_vspltish): New.
14380 (vec_vspltisw): New.
14381 (vec_vsrb): New.
14382 (vec_vsrh): New.
14383 (vec_vsrw): New.
14384 (vec_vsrab): New.
14385 (vec_vsrah): New.
14386 (vec_vsraw): New.
14387 (vec_vsr): New.
14388 (vec_vsro): New.
14389 (vec_stvx): New.
14390 (vec_stvebx): New.
14391 (vec_stvehx): New.
14392 (vec_stvewx): New.
14393 (vec_stvxl): New.
14394 (vec_vsububm): New.
14395 (vec_vsubuhm): New.
14396 (vec_vsubuwm): New.
14397 (vec_vsubfp): New.
14398 (vec_vsubcuw): New.
14399 (vec_vsububs): New.
14400 (vec_vsubsbs): New.
14401 (vec_vsubuhs): New.
14402 (vec_vsubshs): New.
14403 (vec_vsubuws): New.
14404 (vec_vsubsws): New.
14405 (vec_vsum4ubs): New.
14406 (vec_vsum4sbs): New.
14407 (vec_vsum4shs): New.
14408 (vec_vsum2sws): New.
14409 (vec_vsumsws): New.
14410 (vec_vrfiz): New.
14411 (vec_vupkhsb): New.
14412 (vec_vupkhpx): New.
14413 (vec_vupkhsh): New.
14414 (vec_vupklsb): New.
14415 (vec_vupklpx): New.
14416 (vec_vupklsh): New.
14417 (vec_vxor): New.
14418
cff27795
EB
144192002-04-23 Eric Botcazou <ebotcazou@multimania.com>
14420
14421 PR c/5430
14422 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
14423 added literals from substracted literals.
14424 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
14425 (fold) [associate]: Preserve MINUS_EXPR if needed.
14426
952bca84
ZW
144272002-04-23 Zack Weinberg <zack@codesourcery.com>
14428
14429 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
14430 are obsoleted.
14431
50cb2154
TT
144322002-04-23 Tom Tromey <tromey@redhat.com>
14433
14434 * gcc.c: Added --resource. For PR java/6314.
14435
271f61fb
DB
144362002-04-23 David O'Brien <obrien@FreeBSD.org>
14437
9566d1e9 14438 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
14439 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
14440 these libraries.
14441
bdabbc80
DB
144422002-04-23 David O'Brien <obrien@FreeBSD.org>
14443
14444 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
14445
74411039
JH
14446Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
14447
14448 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
14449 workaround.
14450 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
14451 (ix86_expand_clrstr): Fix typo.
14452 * loop.c (gen_load_of_final_value): New.
14453 (loop_givs_rescan, strength_reduce, check_dbra_loop):
14454 Use it.
14455
1a887f86
RS
144562002-04-23 Roger Sayle <roger@eyesopen.com>
14457
14458 * builtins.c (builtin_memset_gen_str): New function.
14459 (expand_builtin_memset): Optimize the case of constant length, but
14460 unknown value.
14461
8d3441e0
AH
144622002-04-23 Aldy Hernandez <aldyh@redhat.com>
14463
cff27795
EB
14464 * config/rs6000/altivec.h (vec_step): Remove extraneous
14465 parentheses.
14466 (vec_ctu): Cast return.
8d3441e0 14467
f6f315fe
AM
144682002-04-23 Alan Modra <amodra@bigpond.net.au>
14469
14470 PR target/6413
14471 * function.h: (struct function): Add profile_label_no field.
14472 (current_function_profile_label_no): Define.
14473 * function.c: (profile_label_no): New static var.
14474 (expand_function_start): Increment it, and copy to
14475 current_function_profile_label_no.
14476 * output.h (profile_label_no): Delete.
14477 * final.c (profile_label_no): Delete.
14478 (profile_function): Use current_function_profile_label_no.
14479 (final_end_function): Don't increment profile_label_no here.
14480 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
14481 profile_label_no with current_function_profile_label_no.
14482 * config/pa/pa.c (current_function_number): Delete.
14483 (pa_output_function_prologue): Don't output profile label here.
14484 (hppa_profile_hook): Use label_no param rather than
14485 current_function_number.
14486 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
14487 * config/pa/pa.h: .. here.
14488 (FUNCTION_PROFILER): Output profile label here.
14489
d239cdc0
EC
144902002-04-22 Eric Christopher <echristo@redhat.com>
14491
14492 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
14493 patch of 2002-04-09 due to binutils issues.
14494 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
14495
04428ad4
AH
144962002-04-22 Aldy Hernandez <aldyh@redhat.com>
14497
cff27795
EB
14498 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
14499 constraint to 'o' for m=r and r=m alternatives.
14500 ("*movv8hi_internal1"): Same.
14501 ("*movv16qi_internal1"): Same.
14502 ("*movv4sf_internal1"): Same.
04428ad4 14503
2adc7f12
JJ
145042002-04-22 Janis Johnson <janis187@us.ibm.com>
14505
14506 * rtl.h (RTX_FLAG): New macro.
14507 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
14508 * final.c (alter_subreg): Use macro to access rtx flag.
14509 * integrate.c (copy_rtx_and_substitute): Use new access macro.
14510 * print-rtl.c (print_rtx): Use new access macro.
14511
14512 * cse.c (insert): Check rtx code before accessing flag.
14513
14514 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
14515 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
14516 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
14517 convert_const_symbol_ref, make_canonical, make_alternative_compare,
14518 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
14519 simplify_test_exp, optimize_attrs, simplify_by_exploding,
14520 find_and_mark_used_attributes, unmark_used_attributes,
14521 add_values_to_cover, simplify_with_current_value,
14522 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
14523 copy_rtx_unchanging, main): Use new access macros.
14524
b7c89afe
TR
145252002-04-22 Tom Rix <trix@redhat.com>
14526
14527 * expmed.c (init_expmed): Generate shifted constant once.
14528
9340544b
ZW
145292002-04-22 Zack Weinberg <zack@codesourcery.com>
14530
14531 * c-lex.c (lex_charconst): Call convert to get constant in
14532 proper type; don't just smash the type field.
14533 Fixes PR c/6300.
14534
14535 * config.gcc: Add list of obsolete configurations. Disallow
14536 building these without --enable-obsolete.
14537 * doc/install.texi: Document --enable-obsolete and obsoletion
14538 policy. Mention obsoletion of individual targets in
14539 appropriate places.
14540
f942d7a5
RH
145412002-04-22 Richard Henderson <rth@redhat.com>
14542
14543 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
14544
145452002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
14546
14547 PR f/6138.
14548 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
14549 (walk_fixup_memory_subreg): Likewise.
14550 (fixup_var_refs_insn): Adjust accordingly.
14551 (fixup_var_refs_1): Likewise.
14552
232b0b45
UW
145532002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
14554
14555 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
14556 LIBPATH_ARCH64_SPEC): Define.
14557 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
14558 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
14559 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
14560 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
14561
1b61552b
JS
145622002-04-22 Joel Sherrill <joel@OARcorp.com>
14563
14564 * gthr-rtems.h: Correct prototypes to remove warnings.
14565
0fe854a7
RH
145662002-04-22 Richard Henderson <rth@redhat.com>
14567
14568 PR c/6344
14569 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
14570
14571 * gcse.c (free_insn_expr_list_list): New.
14572 (clear_modify_mem_tables): Use it. Fix bit set usage.
14573 (canon_list_insert): Use EXPR_LISTs for expressions.
14574 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
14575
af0d16cd
NB
145762002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
14577
14578 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
14579 file change and include code to _cpp_pop_buffer.
14580 * cpphash.h (struct pending_option): Predeclare.
14581 (struct cpp_reader): New member next_include_file.
14582 (_cpp_pop_file_buffer): Update.
14583 (_cpp_push_next_buffer): Update, rename.
14584 * cppinit.c (cpp_destroy): Free include chain and pending here.
14585 (cpp_finish_options): Simplify.
14586 (_cpp_push_next_buffer): Rename and clean up.
14587 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
14588 Clarify.
14589 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
14590
0d918572
AH
145912002-04-22 Aldy Hernandez <aldyh@redhat.com>
14592
0fe854a7
RH
14593 * config/rs6000/altivec.h (vec_xor): Add variant for both args
14594 being vector signed int.
14595 (vec_andc): Same.
14596 (vec_xor): Add variant for both args being vector signed char.
14597 Remove redundant variant.
14598 (vec_andc): Same.
0d918572 14599
77e2c290
DM
146002002-04-21 David S. Miller <davem@redhat.com>
14601
14602 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
14603 compare mode in output RTL.
14604
ee2ca2a2
DE
146052002-04-22 David Edelsohn <edelsohn@gnu.org>
14606
14607 * config/rs6000/rs6000.c (rs6000_override_options): Correct
14608 style and formatting of previous patch.
14609
894bdff6
AM
146102002-04-22 Alan Modra <amodra@bigpond.net.au>
14611
14612 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
14613 flag_pic for ABI_AIX.
14614
562a5c27
NB
146152002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
14616
14617 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
14618 * cppfiles.c (read_include_file): Similarly.
14619 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
14620 uxstrdup ustrchr, ufputs): Similarly.
14621 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
14622 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
14623 cpp_ideq, parse_identifier, parse_number): Similarly.
14624 * cpplib.c (struct directive, dequote_string, D, run_directive,
14625 cpp_push_buffer): Similarly.
14626 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
14627 _cpp_create_definition, check_trad_stringification,
14628 cpp_macro_definition): Similarly.
14629
9ac3b1be
NB
146302002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
14631
14632 * cppmacro.c (funlike_invocation_p): Don't step back
14633 over CPP_EOF.
14634
9dda4cc8
DE
146352002-04-21 David Edelsohn <edelsohn@gnu.org>
14636
14637 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
14638 labelno.
14639
20764052
JM
146402002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
14641
14642 * doc/invoke.texi: Remove Chill references.
14643 * doc/gcc.texi: Update last modified date.
14644
26b29884
KH
146452002-04-20 Kazu Hirata <kazu@hxi.com>
14646
14647 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
14648 push and pop. Replace add.l with add.w.
14649
59184677
TM
146502002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
14651
14652 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
14653 multiply instructions for H8/300H case.
14654
b1113e0a
TM
146552002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
14656
14657 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
14658 Bum three instructions from each routine.
14659
b03e38e1
NB
146602002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
14661
14662 * Makefile.in: Update.
14663 * decl.c (push_c_function_context, pop_c_function_context,
14664 mark_c_function_context): Rename for consistency.
14665 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
14666 * c-tree.h (push_c_function_context, pop_c_function_context,
14667 mark_c_function_context): Rename for consistency.
14668 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
14669 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
14670 * function.c (init_lang_status, save_lang_status,
14671 restore_lang_status, mark_lang_status, free_lang_status):
14672 Move to langhooks.h.
14673 (push_function_context_to, pop_function_context_from,
14674 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
14675 Update.
14676 * function.h (init_lang_status, save_lang_status,
14677 restore_lang_status, mark_lang_status, free_lang_status):
14678 Move to langhooks.h.
14679 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
14680 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
14681 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
14682 LANG_HOOKS_FUNCTION_INITIALIZER): New.
14683 (LANG_HOOKS_INITIALIZER): Update.
14684 (lhd_do_nothing_f): New.
14685 * langhooks.h (struct lang_hooks_for_functions): New.
14686 (struct lang_hooks): New hooks.
14687 * langhooks.c (lhd_do_nothing_f): New.
14688objc:
14689 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
14690 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
14691
db430d26
DM
146922002-04-19 David S. Miller <davem@redhat.com>
14693
14694 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
14695 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
14696
0f2a3457
JJ
146972002-04-19 Jakub Jelinek <jakub@redhat.com>
14698
14699 PR optimization/3756
14700 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
14701 x = ((int) y < 0) ? cst1 : cst2.
14702
ce5e43d0
JJ
147032002-04-19 Jakub Jelinek <jakub@redhat.com>
14704
14705 PR c/6358
14706 * function.c: Reapply patch for c/6358.
14707 (expand_function_end): Copy decl_rtl's mode, not
14708 current_function_return_rtx mode.
14709
147102002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
14711
14712 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
14713 targets.
14714
40e7f8ea
TT
147152002-04-19 Tom Tromey <tromey@redhat.com>
14716
14717 * doc/install.texi (Specific): Update status of Solaris 2.8.
14718 For PR libgcj/6158.
14719
62a12b27
AS
147202002-04-19 Andreas Schwab <schwab@suse.de>
14721
14722 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
14723 (PUT_REAL): Restore old definition.
14724
1405141b
DN
147252002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
14726 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14727
14728 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
14729 binutils 2.11.2 and higher generate smaller binaries than Sun's
14730 native tools.
14731
303a3927
MM
147322002-04-19 Mark Mitchell <mark@codesourcery.com>
14733
14734 PR c++/6352
14735 * toplev.c (rest_of_compilation): Do not defer functions for which
14736 TREE_SYMBOL_REFERENCED has already been set.
14737
de80110b
JH
14738Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
14739
14740 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
14741 alternative.
14742
ab393bf1
NB
147432002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
14744
14745 * builtins.c: Include langhooks.h.
14746 (lang_type_promotes_to): Remove.
14747 (expand_builtin_va_arg): Use new hook.
14748 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
14749 (simple_type_promotes_to): Move to c-typeck.c.
14750 * c-common.h (simple_type_promotes_to): Remove.
14751 * c-decl.c (duplicate_decls, grokdeclarator): Update.
14752 * c-format.c: Include langhooks.h.
14753 (check_format_types): Update.
14754 * c-tree.h (c_type_promotes_to): New.
14755 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
14756 (type_lists_compatible_p): Update.
14757 * langhooks-def.h (lhd_type_promotes_to): New.
14758 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
14759 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
14760 * langhooks.c (lhd_type_promotes_to): New.
14761 * langhooks.h (struct lang_hooks_for_types): New hook.
14762 * tree.h (lang_type_promotes_to): Remove.
14763objc:
14764 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
14765
0cd3301b
RH
147662002-04-18 Richard Henderson <rth@redhat.com>
14767
58533fa2 14768 * function.c: Revert patch for c/6358.
0cd3301b
RH
14769
147702002-04-18 Richard Henderson <rth@redhat.com>
14771
58533fa2
RH
14772 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
14773 blocks. Handle multiple references to the TRAP block. Handle
14774 non-adjacent THEN and OTHER blocks.
0cd3301b 14775
58533fa2
RH
147762002-04-18 Richard Henderson <rth@redhat.com>
14777
14778 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
14779 crash with no type for by-mode libcalls.
14780
14781 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 14782
57174693
BW
147832002-04-18 Bob Wilson <bob.wilson@acm.org>
14784
14785 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
14786 __xtensa_nonlocal_goto): Use a syscall instructions to flush
14787 the register windows.
14788
46468cd9
ZW
147892002-04-18 Zack Weinberg <zack@codesourcery.com>
14790
14791 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
14792 appropriate. Document need for extended precision even when
14793 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
14794 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
14795 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
14796 instead of relying on later syntax error when REAL_WIDTH > 5.
14797 * real.c: Define NE based only on whether or not we have a
14798 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
14799 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
14800 define GET_REAL and PUT_REAL as simple memcpy operations; no
14801 need to byteswap or round.
14802 Use #error instead of #ifdef-ing out the entire file, for
14803 prompt error detection.
14804
14805 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
14806
2f82dbf8
DM
148072002-04-18 David S. Miller <davem@redhat.com>
14808
14809 * config/sparc/sparc.h (BRANCH_COST): Define.
14810
14811 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
14812 does it.
14813
566576e7
HPN
148142002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
14815
14816 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
14817 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
14818 propagate_block calls after relaxation loop using new variable
14819 stabilized_prop_flags.
14820
51dcde6f
RH
148212002-04-18 Richard Henderson <rth@redhat.com>
14822
14823 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
14824 (ia64_va_arg): Expect variable sized types by reference.
14825 * config/ia64/ia64-protos.h: Update.
46468cd9 14826 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
14827 ia64_function_arg_pass_by_reference.
14828
26406018
RH
148292002-04-18 Richard Henderson <rth@redhat.com>
14830
46468cd9
ZW
14831 * ifcvt.c: Include except.h.
14832 (block_has_only_trap): Break out from find_cond_trap.
14833 (find_cond_trap): Use it. Always delete the trap block.
14834 (merge_if_block): Allow then block null. Be less simplistic about
14835 what insns can end a block.
14836 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 14837
26406018
RH
14838 * config/ia64/ia64.md (trap, conditional_trap): New.
14839
a3acf46d
JJ
148402002-04-18 Jakub Jelinek <jakub@redhat.com>
14841
14842 PR c/6358
14843 * function.c (assign_parms): Assign hard current_function_return_rtx
14844 register here...
14845 (expand_function_end): ...not here.
14846
7a228918
NB
148472002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
14848
14849 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
14850 * c-tree.h (c_incomplete_type_error): New.
14851 * c-typeck.c (require_complete_type, build_component_ref): Update.
14852 (incomplete_type_error): Rename.
14853 * langhooks-def.h (lhd_incomplete_type_error): New.
14854 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
14855 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
14856 * langhooks.c (lhd_incomplete_type_error): New.
14857 * langhooks.h (struct lang_hooks_for_types): New hook.
14858 * tree.c (size_in_bytes): Use new hook.
14859 * tree.h (incomplete_type_error): Remove.
14860objc:
14861 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
14862
f18664c1
ZW
148632002-04-18 Zack Weinberg <zack@codesourcery.com>
14864
14865 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
14866 TARGET_FLOAT_FORMAT blocks.
14867
8ecab453
GP
148682002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14869
14870 * doc/install.texi (Downloading the source): Do not mention Chill
14871 any longer, but mention Ada.
14872 (Configuration): Do not mention Chill any longer.
14873
528d8489
HPN
148742002-04-18 Hans-Peter Nilsson <hp@axis.com>
14875
14876 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
14877
91da27c5
JH
14878Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
14879
14880 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
14881 in last patch.
14882
a32db605
JJ
148832002-04-18 Jakub Jelinek <jakub@redhat.com>
14884
14885 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
14886 instead of unsigned_type.
14887
5a28d8cc
JH
14888Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
14889
14890 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
14891 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
14892 later.
14893
3d980b9f
BS
148942002-04-18 Bernd Schmidt <bernds@redhat.com>
14895
14896 * attribs.c (vector_type_node_list): New static variable.
14897 (handle_vector_size_attribute): Use it to avoid generating a
14898 new type node each time we are called.
14899
2e676d78
BS
14900 * combine.c (subst): Avoid trying to make a vector mode subreg of
14901 an integer constant.
14902 (gen_lowpart_for_combine): Likewise.
46468cd9 14903
58c2956c
RS
149042002-04-18 Roger Sayle <roger@eyesopen.com>
14905 Jakub Jelinek <jakub@redhat.com>
14906
14907 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
14908 for integer constant c (if x has unsigned type or sign bit is not
14909 set in c). This folds the zero/sign extension into the bit-wise and
14910 operation.
14911
692efa8e
JJ
149122002-04-18 Jakub Jelinek <jakub@redhat.com>
14913
14914 PR middle-end/6205
14915 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
14916 otherwise xorps.
14917
1372d4ce
NY
149182002-04-17 NIIBE Yutaka <gniibe@m17n.org>
14919
14920 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
14921
169ce44d
NC
149222002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
14923
14924 * gcc.c (read_specs): Detect and fail if an attempt is made to
14925 rename a spec string to an already existing string.
14926
b30d2115
UW
149272002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
14928
14929 * config/s390/s390.c (legitimize_pic_address): Do not generate
14930 illegal address constant without CONST.
14931
d6964c30
KG
149322002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14933
14934 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
14935 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
14936
7c82a1ed
UW
149372002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
14938
14939 PR optimization/6305
14940 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
14941 to make sure previous reloads are taken into account. Generate
14942 better code if one operand is an in-range immediate constant.
14943
58db9d1a
AH
149442002-04-16 Andrew Haley <aph@cambridge.redhat.com>
14945
14946 * doc/install.texi (Building): libgcj requires GNU make.
14947
2a732575
JJ
149482002-04-17 Jakub Jelinek <jakub@redhat.com>
14949
14950 PR bootstrap/6315
14951 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
14952 even if hard quad and register is not floating.
14953 (movtf reg<-mem split): Disallow splitting if hard quad and
14954 register is floating.
14955 (movtf mem<-reg split): Likewise.
14956 * config/sparc/sparc.c (fp_register_operand): New predicate.
14957 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
14958
75a65e46
ZW
149592002-04-17 Zack Weinberg <zack@codesourcery.com>
14960
14961 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
14962 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
14963 (unprotoize.o): Ditto. Build from protoize.c. Define
14964 UNPROTOIZE on command line.
14965 * protoize.c: Include cppdefault.h. Delete include_defaults.
14966 (in_system_include_dir): Use cpp_include_defaults (defined in
14967 cppdefault.o).
14968 * unprotoize.c: Delete file.
14969
650f0e97
AH
149702002-04-17 Aldy Hernandez <aldyh@redhat.com>
14971
46468cd9
ZW
14972 * config/rs6000/altivec.h (vec_ld): Add array variants.
14973 (vec_lde): Same.
14974 (vec_ldl): Same.
650f0e97 14975
71a0ab0c 149762002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 14977 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 14978
46468cd9
ZW
14979 * config/rs6000/altivec.h: Define __ALTIVEC__.
14980 (bool): New.
14981 (__pixel): New.
14982 (pixel): New.
14983 (vec_cfux): New.
14984 (vec_vmaddfp): New.
14985 (vec_vsldoi): New.
14986 Add parentheses to all macro arguments.
71a0ab0c 14987
ff2c46ac
RH
149882002-04-16 Richard Henderson <rth@redhat.com>
14989
14990 PR c++/6320
14991 * except.c (remove_eh_handler): Insert inner regions at beginning
14992 of sibling chain. Refactor expressions.
14993
f1ba94dd
RH
149942002-04-16 Richard Henderson <rth@redhat.com>
14995
f0871dfe
RH
14996 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
14997 * config/sparc/sol2-gas-bi.h: New file.
14998 * config.gcc (sparc*-solaris): Add it as needed.
14999 * configure.in (AS_SPARC64_FLAG): Remove check.
15000 * config.in, configure: Regenerate.
15001
15002 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
15003
150042002-04-16 Richard Henderson <rth@redhat.com>
15005
15006 * config/mips/mips.c (override_options): Don't override N32 for
15007 a 64-bit ISA.
409d3c60 15008
f1ba94dd
RH
15009 PR 6202
15010 * config/mips/mips.md (can_delay): Split out of existing define_delays.
15011 (HILO_delay): Set can_delay false.
15012
178c3eff
DJ
150132002-04-16 Dale Johannesen <dalej@apple.com>
15014
15015 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
15016 instruction addresses.
15017 (rs6000_output_function_epilogue): Likewise.
15018
7d6f6369
PC
150192002-04-16 Paolo Carlini <pcarlini@unitus.it>
15020
15021 * c-parse.in (poplevel, compstmt_start,
15022 compstmt_primary_start): Add ending ';', in accordance
15023 with POSIX.
15024
8947df0c
RH
150252002-04-16 Richard Henderson <rth@redhat.com>
15026
15027 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
15028 Adjust tm_file order to get TARGET_DEFAULT set properly.
15029 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
15030 * doc/install.texi (sparc-solaris): Update.
15031
3148ad6d
DJ
150322002-04-16 Dale Johannesen <dalej@apple.com>
15033
15034 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
15035 comparison operands do not match each other or if modes of
15036 conditions do not match result.
15037
014cb9b6 150382002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 15039
014cb9b6
HP
15040 PR target/6305
15041 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 15042 multiword register.
562a69be 15043
014cb9b6 150442002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 15045
8947df0c 15046 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 15047
a9772b60
JJ
150482002-04-16 Jakub Jelinek <jakub@redhat.com>
15049
15050 PR middle-end/6279
15051 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
15052
15053 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
15054
861829ed
RH
150552002-04-15 Richard Henderson <rth@redhat.com>
15056
15057 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
15058 call_really_used_regs too.
15059
bcf2fe9c
RH
150602002-04-15 Richard Henderson <rth@redhat.com>
15061
15062 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
15063
629111c7
DM
150642002-04-15 David S. Miller <davem@redhat.com>
15065
15066 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
15067 as being CLOBBERed.
15068
98ef3137
JJ
150692002-04-16 Jakub Jelinek <jakub@redhat.com>
15070
15071 PR c/6290
15072 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
15073 CONST_VECTOR is { 0, ... 0 }.
15074
0aa911c5
LR
150752002-04-15 Loren J. Rittle <ljrittle@acm.org>
15076
15077 * doc/install.texi (Installing GCC: Configuration): Clarify
15078 the only supported ways to configure gcc.
15079
83248d49 150802002-04-15 Roland McGrath <roland@frob.com>
46468cd9 15081
83248d49
RM
15082 * config.gcc (alpha*-*-gnu*): New target configuration.
15083 * config/alpha/gnu.h: New file for it.
15084 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
15085
b2123dc0
MM
150862002-04-16 Mark Mitchell <mark@codesourcery.com>
15087
15088 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
15089 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
15090 * tree.h (expand_start_stmt_expr): Update prototype.
15091 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
15092 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
15093 on the STMT_EXPR created for the inline function.
46468cd9 15094
8fe2d853
RH
150952002-04-15 Richard Henderson <rth@redhat.com>
15096
15097 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
15098 config/i386/linux-aout.h, config/i386/linux-oldld.h,
15099 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
15100 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
15101 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
15102 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
15103 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
15104 Define __gnu_linux__, not gnu_linux.
15105 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
15106
07cdae91
MM
151072002-04-15 Mark Mitchell <mark@codesourcery.com>
15108
15109 Remove Chill front end.
15110 * gcc.c (default_compilers): Remove Chill entries.
15111 * ch: Remove directory.
15112 * doc/frontends.texi: Remove information about Chill.
15113 * doc/sourcebuild.texi: Likewise.
15114 * doc/standards.texi: Likewise.
15115
41823c5e
DR
151162002-04-15 Douglas B Rupp <rupp@gnat.com>
15117
15118 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
15119 (LONGLONG_STANDALONE): Define.
15120
eb29ddb6
DM
151212002-04-15 David S. Miller <davem@redhat.com>
15122
15123 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
15124 Call emit_library_call with LCT_NORMAL.
15125 (sparc_initialize_trampoline): Use LCT_foo instead of
15126 magic constant in emit_library_call invocations.
15127 (sparc64_initialize_trampoline): Likewise.
15128 (sparc_profile_hook): Likewise.
15129 * config/sparc/sparc.md: Likewise.
15130
15131 * config/sparc/sparc.c (sparc_extra_constraint_check):
15132 Fix type of argument 'c'.
15133 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
15134 Likewise.
15135
bd6bec6b
GDR
151362002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
15137
15138 * diagnostic.h (output_buffer_state): Redefine.
15139 (output_format_decoder): New macro.
15140 (output_prefixing_rule): Likewise.
15141 (output_line_cutoff): Likewise.
15142 (diagnostic_format_decoder): Adjust.
15143 (diagnostic_prefixing_rule): Likewise.
15144 (diagnostic_line_cutoff): Likewise.
15145 (diagnostic_state): Likewise.
15146 (diagnostic_kind_count): Likewise.
15147 (diagnostic_buffer): Now a macro.
15148
15149 * diagnostic.c (diagnostic_buffer): Remove definition.
15150 (output_is_line_wrapping): Adjust.
15151 (set_real_maximum_length): Likewise.
15152 (output_set_maximum_length): Likewise.
15153 (init_output_buffer): Likewise.
15154 (lhd_print_error_function): Likewise.
15155 (output_do_verbatim): Likewise.
15156
ebef4e8c
NB
151572002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
15158
15159 * cpperror.c (print_location): Don't print include chain
15160 if line == 0.
15161 (cpp_begin_message): Update to use DL_ macros.
15162 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
15163 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
15164 cpp_notice, cpp_notice_from_errno): Remove.
15165 (cpp_error, cpp_error_with_line): Update to take a diagnostic
15166 level.
15167 (cpp_errno): New.
15168 * cppexp.c (CPP_ICE): Remove.
15169 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
15170 lex, integer_overflow, _cpp_parse_expr): Update.
15171 * cppfiles.c (read_include_file, find_include_file,
15172 handle_missing_header, _cpp_read_file, remap_filename): Update.
15173 * cpphash.h (enum error_type): Remove.
15174 (_cpp_begin_message): Update.
15175 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
15176 cpp_handle_option, cpp_post_options): Update.
15177 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
15178 skip_whitespace, parse_identifier, parse_slow, parse_string,
15179 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
15180 cpp_interpret_charconst): Update.
15181 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
15182 lex_macro_node, do_undef, glue_header_name, parse_include,
15183 do_include_common, read_flag, do_line, do_linemarker, do_ident,
15184 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
15185 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
15186 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
15187 _cpp_pop_buffer, do_diagnostic): Update.
15188 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
15189 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
15190 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
15191 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
15192 cpp_notice, cpp_notice_from_errno): Remove.
15193 (cpp_error, cpp_error_with_line): Update to take a diagnostic
15194 level.
15195 (cpp_errno): New.
15196 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
15197 collect_args, enter_macro_context, save_parameter, parse_params,
15198 _cpp_create_definition, check_trad_stringification,
15199 cpp_macro_definition): Update.
15200 * cppmain.c (cpp_preprocess_file): Update.
15201 * fix-header.c (read_scan_file): Update.
15202
c19a3859
AS
152032002-04-14 Andreas Schwab <schwab@suse.de>
15204
15205 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
15206
10fdbed6
JD
152072002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15208
15209 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
15210
77660a9a
MM
152112002-04-13 Mark Mitchell <mark@codesourcery.com>
15212
15213 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
15214 not gnu_hurd.
15215
e0ff1ded
HPN
152162002-04-13 Hans-Peter Nilsson <hp@axis.com>
15217
15218 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
15219
2341c7ea
JS
152202002-04-13 Joel Sherrill <joel@OARcorp.com>
15221
15222 * config/sparc/t-elf: Enable v8 multilibs. Impacts
15223 sparc-elf and sparc-rtems targets.
15224
d29350c0
MM
152252002-04-13 Mark Mitchell <mark@codesourcery.com>
15226
15227 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
15228 defined, and __gnu_hurd__ wherever __GNU__ is defined.
15229 * arm/linux-elf.h: Likewise.
15230 * cris/aout.h: Likewise.
15231 * cris/linux.h: Likewise.
15232 * i370/linux.h: Likewise.
15233 * i386/gnu.h: Likewise.
15234 * i386/linux-aout.h: Likewise.
15235 * i386/linux-oldld.h: Likewise.
15236 * i386/linux.h: Likewise.
15237 * i386/linux64.h: Likewise.
15238 * ia64/linux.h: Likewise.
15239 * m68k/linux-aout.h: Likewise.
15240 * m68k/linux.h: Likewise.
15241 * mips/linux.h: Likewise.
15242 * pa/pa-linux.h: Likewise.
15243 * pj/linux.h: Likewise.
15244 * rs6000/sysv4.h: Likewise.
15245 * s390/linux.h: Likewise.
15246 * sh/linux.h: Likewise.
15247 * sparc/linux-aout.h: Likewise.
15248 * sparc/linux.h: Likewise.
15249 * sparc/linux64.h: Likewise.
15250 * xtensa/linux.h: Likewise.
15251
fc552851
RS
152522002-04-13 Richard Sandiford <rsandifo@redhat.com>
15253
15254 * stmt.c (check_unique_operand_names): Expect operand names to
15255 be strings rather than identifiers. Use simple_cst_equal to
15256 compare them.
15257 (resolve_operand_name_1): Make same identifier to string change here.
15258 * c-parse.in (asm_operand): Convert a named operand into a string.
15259 * cp/parse.y (asm_operand): Likewise.
15260
1d405c5e
AS
152612002-04-13 Andreas Schwab <schwab@suse.de>
15262
15263 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
15264
c740732f
MM
152652002-04-12 Mark Mitchell <mark@codesourcery.com>
15266
15267 Revert these changes:
15268
15269 2002-04-06 Mark Mitchell <mark@codesourcery.com>
15270
15271 PR c++/5571
15272 * stor-layout.c (layout_decl): Reset the RTL for the decl.
15273
3fc602a0
RH
152742002-04-12 Richard Henderson <rth@redhat.com>
15275
15276 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
15277 (sparc*-*-solaris): Clean up header files.
15278 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
15279 and plan on generating 64-bit code.
15280 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
15281 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
15282 * config/sparc/sol2-sld-64.h: Rename ...
15283 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
15284 for AS_SPARC64_FLAG not defined.
15285 * config/sparc/sol2-gld-bi.h: New.
15286 * config/sparc/sol2-sld.h: Remove.
15287 * config/sparc/sol26-sld.h: New.
15288 * config/sparc/sol2.h: Tidy comments.
15289 * doc/install.texi: Document sparc-solaris configury changes.
15290
2f15e255
RH
152912002-04-12 Richard Henderson <rth@redhat.com>
15292
15293 * recog.c (offsettable_address_p): Match the logic in adjust_address.
15294
15295 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
15296 in 64-bit mode only. Use only for 32-bit or MEDLOW.
15297
cc8475cb
RO
152982002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15299
15300 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
15301
6f133a4a
JL
15302Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
15303
ef1b8858 15304 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
15305 constrain_operands.
15306
1329e600
DR
153072002-04-12 Douglas B Rupp <rupp@gnat.com>
15308
15309 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
15310 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
15311 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 15312 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
15313 * config/i386/t-interix (USER_H): Remove.
15314
0339d239
DD
153152002-04-12 DJ Delorie <dj@redhat.com>
15316
15317 * integrate.c (compare_blocks): Make comparisons safe for when
15318 sizeof(int) < sizeof(char *).
15319 (find_block): Likewise.
15320
cc4d5fec
JH
153212002-04-12 Jan Hubicka <jh@suse.cz>
15322 David Edelsohn <edelsohn@gnu.org>
15323
15324 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
15325 registers.
15326 (symbol_ref_operand): New.
15327 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
15328 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
15329
93215a1b
AS
153302002-04-12 Andreas Schwab <schwab@suse.de>
15331
15332 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
15333 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
15334 overrides the definition in config/svr4.h.
46468cd9 15335
1d80248e
EN
153362002-04-12 Eric Norum <eric.norum@usask.ca>
15337
15338 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
15339 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
15340 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
15341 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
15342 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
15343 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
15344 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
15345 definitions to config/rtems.h and make the targets more similar.
15346
fa1591cb
RK
15347Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15348
fa06ab5c
RK
15349 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
15350 POINTERS_EXTEND_UNSIGNED.
15351 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
15352 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
15353
fa1591cb
RK
15354 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
15355 not specified.
15356
12e85a0e
R
15357Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
15358
15359 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
15360 depends on TARGET_SHMEDIA, not TARGET_SH5.
15361
1ab3e58a
HPN
153622002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
15363
15364 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
15365 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
15366
18778292
R
15367Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
15368
15369 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
15370 no r0 clobber.
15371
9002507c
AS
153722002-04-12 Andreas Schwab <schwab@suse.de>
15373
15374 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
15375
9be40833
RH
153762002-04-12 Richard Henderson <rth@redhat.com>
15377
15378 PR bootstrap/4191
15379 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
15380
15381 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
15382 modes spanning multiple hard regs.
46468cd9 15383
9be40833
RH
15384 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
15385
3d9268b6
JDA
153862002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15387
15388 * pa.c (pa_output_function_prologue): Don't accumulate the total
15389 number of code bytes when using TARGET_64BIT, or gas, SOM and not
15390 the portable runtime.
15391 (output_deferred_plabels): Handle 64bit plabels.
15392 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
15393 generating pic code using the GAS assembler for object formats that
15394 are not SOM (ie., ELF32 and ELF64).
15395 (output_millicode_call): Check attribute type if attribute length is 28.
15396 Likewise use $PIC_pcrel$0. Only call get_attr_length and
15397 dbr_sequence_length once.
15398 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
15399 dbr_sequence_length once.
15400 * pa.h (TARGET_SOM): Define if not defined.
15401 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
15402 with GAS and not SOM.
15403 (jump, call_internal_reg, call_value_internal_reg): Likewise.
15404 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
15405
d360fd18
DB
154062002-04-11 David O'Brien <obrien@FreeBSD.org>
15407
15408 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
15409 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
15410 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
15411 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
15412 elfos.h and dbxelf.h values are fine now.
15413 * config/i386/freebsd.h, config/alpha/freebsd.h
15414 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
15415
5b8fcab6
DB
154162002-04-11 David O'Brien <obrien@FreeBSD.org>
15417
15418 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
15419 or set Acpu or Amachine. Reformat.
15420 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
15421 define.
15422 (LINK_SPEC): Do not need to undef.
15423 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
15424 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
15425 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
15426 define.
15427 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
15428 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
15429 (LINK_SPEC): Do not need to undef.
15430 (DONT_USE_BUILTIN_SETJMP): Do not define.
15431 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
15432 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
15433 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
15434 Remove trailing spaces.
15435 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
15436 __ELF__, or set Acpu or Amachine. Reformat.
15437 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
15438 define.
15439
fee42cc1
DB
154402002-04-11 David O'Brien <obrien@FreeBSD.org>
15441
15442 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
15443 all other *-*-freebsd* targets.
15444
77a403e4
RH
154452002-04-11 Richard Henderson <rth@redhat.com>
15446
15447 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
15448
cf0005c6
DB
154492002-04-11 David O'Brien <obrien@FreeBSD.org>
15450
15451 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
15452 Include {cpu}/{cpu}.h thru tm_file.
15453 (alpha*-*-linux*ecoff): Remove target.
15454 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
15455 (LINK_SPEC): Remove, is not OS independent.
15456 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
15457 (LINK_SPEC): Do not need to #undef any longer.
15458 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
15459 any longer.
15460 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
15461 __ELF__.
15462 (LINK_SPEC): Moved here from alpha/elf.h.
15463 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
15464 SUB_CPP_PREDEFINES.
15465 * config/alpha/linux-ecoff.h: Remove.
15466 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
15467 (CPP_SPEC): Define _POSIX_SOURCE as needed.
15468 (CPP_SUBTARGET_SPEC): Do not define.
15469 (LINK_SPEC): Do not need to #undef any longer.
15470 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
15471 * config/alpha/vms.h: Likewise.
15472
9be40833 154732002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
15474
15475 * doc/extend.texi: Remove old claim that typedefs cannot have
15476 an alignment attribute.
15477
010f87c4
JJ
154782002-04-11 Jakub Jelinek <jakub@redhat.com>
15479
15480 PR optimization/6177
15481 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
15482 bitpos is 0 and bitsize CONCAT size.
15483
578fc63d
JJ
154842002-04-11 Jakub Jelinek <jakub@redhat.com>
15485
15486 PR c/6223
15487 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
15488
bf9b85ce
DB
154892002-04-10 David O'Brien <obrien@FreeBSD.org>
15490
15491 * config/alpha/freebsd.h: Minor reformatting.
15492 (CPP_SPEC): Define ELF and add cpp_subtarget.
15493 (ASM_SPEC): No longer needed.
15494
7425707d
RH
154952002-04-11 Richard Henderson <rth@redhat.com>
15496
15497 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
15498 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
15499 (dimode mem/zero splitter): New.
15500
1a05e874
HPN
155012002-04-11 Hans-Peter Nilsson <hp@axis.com>
15502
15503 * config/cris/cris.c (cris_override_options): Tweak error message
15504 for PIC not implemented.
15505
15506 * config/cris/cris.h: Tweak comments related to parameter-passing.
15507
15508 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
15509
6f3d0447
RH
155102002-04-10 Richard Henderson <rth@redhat.com>
15511
15512 * except.c (add_ehl_entry): Allow duplicates after landing pad
15513 creation.
15514
174bf2b1
DE
155152002-04-10 David Edelsohn <edelsohn@gnu.org>
15516
15517 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
15518
03f10472
TM
155192002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
15520
15521 * c-decl.c (c_init_decl_processing): Move generation of
15522 decls for g77_integer_type_node and friends from here ...
15523 * c-common.c (c_common_nodes_and_builtins): ... to here.
15524
2f460a0a
UW
155252002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
15526
15527 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
15528 is only used as frame pointer when frame_pointer_needed is true.
15529
0be5cf85
RE
155302002-04-10 Richard Earnshaw <rearnsha@arm.com>
15531
15532 PR target/817
15533 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
15534 for the fact that the pool entry uses two words.
15535 (movdf_hard_insn): Similarly. Also, ADR instruction can span
15536 1k bytes.
15537 (movdf_soft_insn): Similarly.
15538 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
15539 for the fact that the pool entry uses three words.
15540
bf6d4777
RS
155412002-04-10 Richard Sandiford <rsandifo@redhat.com>
15542
15543 * config/mips/mips.c (mips_va_arg): When using the struct version
15544 of the EABI va_list, allow arguments in the register save area to
15545 take up less room than a stack argument.
15546
c2e9dc85
RH
155472002-04-10 Richard Henderson <rth@redhat.com>
15548
15549 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
15550 if EXPAND_INITIALIZER.
15551
bc8e8e97
RH
155522002-04-09 Richard Henderson <rth@redhat.com>
15553
15554 * config/alpha/alpha.md (movdi_er_maybe_g): New.
15555 * config/alpha/alpha.c (alpha_expand_mov): Use it.
15556
a6a063b8
AM
155572002-04-10 Alan Modra <amodra@bigpond.net.au>
15558
15559 PR optimization/6233
15560 * rtlanal.c (pure_call_p): New function.
15561 * rtl.h (pure_call_p): Declare.
15562 * loop.c (prescan_loop): Use it to set has_nonconst_call.
15563 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
15564
7b2e1077
EC
155652002-04-09 Eric Christopher <echristo@redhat.com>
15566
15567 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
15568 information to .comm directive.
15569
d8a50944
RH
155702002-04-09 Richard Henderson <rth@redhat.com>
15571
15572 PR c/5078
15573 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
15574
6a58eee9
RH
155752002-04-09 Richard Henderson <rth@redhat.com>
15576
15577 * basic-block.h (flow_delete_block_noexpunge): Declare.
15578 (expunge_block_nocompact): Declare.
15579 * cfg.c (expunge_block_nocompact): Split out from ...
15580 (expunge_block): ... here.
15581 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
15582 (flow_delete_block_noexpunge): Split out from ...
15583 (flow_delete_block): ... here.
15584 * cfgcleanup.c (delete_unreachable_blocks): Compact while
15585 removing dead blocks.
15586 * except.c (exception_handler_labels): Remove.
15587 (exception_handler_label_map): New.
15588 (struct eh_region): Add aka member.
15589 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
15590 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
15591 (for_each_eh_label, for_each_eh_label_1): New.
15592 (init_eh): Register exception_handler_label_map.
15593 (free_eh_status): Use free_region.
15594 (find_exception_handler_labels): Use the map, not the list.
15595 (remove_exception_handler_label): Likewise.
15596 (maybe_remove_eh_handler): Likewise.
15597 (remove_eh_handler): Use the region aka bitmap.
15598 * except.h (exception_handler_labels): Remove.
15599 (for_each_eh_label): Declare.
15600 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
15601 * loop.c (invalidate_loops_containing_label): New.
15602 (find_and_verify_loops): Use it. Use for_each_eh_label.
15603 * sched-rgn.c (is_cfg_nonregular): Use
15604 current_function_has_exception_handlers.
15605
b47374fa
RH
156062002-04-09 Richard Henderson <rth@redhat.com>
15607
15608 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
15609 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
15610 Do not return changed status.
15611 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
15612 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
15613 New functions that do return changed status.
15614 * sbitmap.h: Update decls.
15615 * gcse.c, lcm.c: Use _cg functions as needed.
15616
1951818c
R
15617Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
15618
15619 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
15620 (sh64-*-elf*, sh-*-rtemself*): Likewise.
15621 * config/sh/embed_bb.c: New file.
15622 * config/sh/embed-elf.h: New file.
15623 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
15624 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
15625 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
15626 __PTRDIFF_TYPE__ .
15627 (SUBTARGET_CPP_PTR_SPEC): Don't define.
15628 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
15629 Add subtarget_asm_endian_spec.
15630 (ASM_SPEC): Use subtarget_asm_endian_spec.
15631 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
15632 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
15633 (WCHAR_UNSIGNED): Define.
15634 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
15635 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
15636 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
15637 Fix value.
15638 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
15639 (sh_adjust_cost): Likewise.
15640 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
15641 __PTRDIFF_TYPE__ .
15642 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
15643 (WCHAR_TYPE_SIZE): Likewise.
15644 (ASM_SPEC): Use subtarget_asm_endian_spec.
15645 (SH_ELF_WCHAR_TYPE): #undef/ #define.
15646 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
15647 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
15648 (MAX_WCHAR_TYPE_SIZE): Don't #define .
15649 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
15650 (USER_LABEL_PREFIX): Don't #undef /#define .
15651 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
15652 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
15653 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
15654 (ASM_SPEC): Likewise.
15655 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
15656 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
15657 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
15658 (LIB2FUNCS_EXTRA): Define.
15659 * t-sh64 (LIB2FUNCS_EXTRA): Define.
15660 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
15661 (LIB1ASMFUNCS_CACHE): Define.
15662 (LIB2FUNCS_EXTRA): Redefine empty.
15663
34295799
RH
156642002-04-08 Richard Henderson <rth@redhat.com>
15665
15666 * reorg.c (get_branch_condition): Use reversed_comparison_code.
15667
e8766a39
SC
156682002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15669
15670 * config/m68hc11/larith.asm (__map_data_section): Fix condition
15671 and optimize for size.
15672 (__do_global_ctors): Fix pointer comparison.
15673 (__do_global_dtors): Likewise.
15674
f451b552
DM
156752002-04-09 David S. Miller <davem@redhat.com>
15676
15677 * config/sparc/sparc.c (sparc_extra_constraint_check): New
15678 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
15679 allow reloading pseudos.
15680 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
15681 * config/sparc/sparc-protos.h: Declare it.
15682
15683 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
15684 unsigned comparison warning.
15685 (output_restore_regs): Mark leaf_function as unused.
15686
1ce7f3c2
RK
15687Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15688
15689 * expr.c (is_aligning_offset): New function.
15690 (expand_expr, case COMPONENT_EXPR): Call it.
15691
7a31a340
DM
156922002-04-08 David S. Miller <davem@redhat.com>
15693
15694 PR target/6082
15695 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
15696
15697 Make init_priority work on Sparc when using GNU ld.
15698 * config/sparc/linux.h, config/sparc/linux64.h,
15699 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
15700 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
15701 * config/sparc/sol2-gld.h: New file to do the same.
15702 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
15703 sparc/sol2-gld.h to tm_file.
15704
15705 PR optimization/4328
15706 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
15707 * doc/md.texi: Document it.
15708 * config/sparc/sparc.md (movdi_insn_sp64_novis,
15709 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
15710 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
15711 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
15712 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
15713
11579f33
AJ
157142002-04-08 Andreas Jaeger <aj@suse.de>
15715
15716 * stmt.c (expand_asm_operands): Revert last patch from Richard
15717 Henderson.
15718
b57215d9
GP
157192002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15720
15721 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
15722 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
15723
157242002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15725
15726 * doc/contrib.texi (Contributors): Add David O'Brien.
15727
534d0cc0
AM
157282002-04-08 Alan Modra <amodra@bigpond.net.au>
15729
15730 * configure.in (auto-build.h): Use target_alias and build_alias
15731 when running configure.
15732 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
15733 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
15734 * configure: Regenerate.
15735
19fe522a
DM
157362002-04-07 David S. Miller <davem@redhat.com>
15737
15738 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
15739
bf2d0b8e
JDA
157402002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
15741
15742 PR 5933
15743 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
15744 generating 32-bit pic code.
15745
477cdac7
JT
157462002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
15747
15748 * cppinit.c (cpp_create_reader): Initialize
15749 discard_comments_in_macro_exp.
15750 (COMMAND_LINE_OPTIONS): Add "-CC" option.
15751 (cpp_handle_option): Handle "-CC" option.
15752 * cpplex.c (save_comment): If saving a C++ comment in
15753 a directive, convert it to a C comment.
15754 (_cpp_lex_direct): Pass second comment start character to
15755 save_comment to indicate comment type.
15756 * cpplib.c (_cpp_handle_directive): If processing
15757 a "#define" directive and discard_comments_in_macro_exp
15758 is false, re-enable saving of comments.
15759 (lex_macro_node): If discard_comments_in_macro_exp is false,
15760 discard any comments before the macro identifier.
15761 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
15762 member.
15763 * cppmacro.c (cpp_get_token): If expanding a macro while
15764 processing a directive, discard any comments we might encounter.
15765 (parse_params): If discard_comments_in_macro_exp is false,
15766 ignore comments in the macro parameter list.
15767 * gcc.c (cpp_unique_options): Add "-CC" option.
15768 (option_map): Map "--comments-in-macros" to "-CC".
15769 * doc/cppopts.texi: Document "-CC" option.
15770 * f/lang-specs.h: Add "-CC" option.
15771 * testsuite/gcc.dg/cpp/maccom1.c: New test.
15772 * testsuite/gcc.dg/cpp/maccom2.c: New test.
15773 * testsuite/gcc.dg/cpp/maccom3.c: New test.
15774 * testsuite/gcc.dg/cpp/maccom4.c: New test.
15775 * testsuite/gcc.dg/cpp/maccom5.c: New test.
15776 * testsuite/gcc.dg/cpp/maccom6.c: New test.
15777
f1526122
JDA
157782002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
15779
15780 PR middle-end/6180
15781 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
15782
b1896e61
MM
157832002-04-06 Mark Mitchell <mark@codesourcery.com>
15784
0154eaa8
MM
15785 PR c++/5571
15786 * stor-layout.c (layout_decl): Reset the RTL for the decl.
15787
b1896e61
MM
15788 PR opt/5120
15789 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
15790 RTX_UNCHANGING_P for the functions arguments when a tail call
15791 is made.
15792
b0148884
JM
157932002-04-06 Jason Merrill <jason@redhat.com>
15794
15795 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
15796 (parse_options_and_default_flags): Set them appropriately.
15797 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
15798
392fc5b0
HPN
157992002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
15800
15801 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
15802 here.
15803
15804 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
15805 semicolon.
15806
15807 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
15808 types come in by-reference. Fix typo in comment.
15809
2d69e3cb
DM
158102002-04-05 David S. Miller <davem@redhat.com>
15811
15812 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
15813 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
15814 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
15815 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
15816
158172002-04-05 David S. Miller <davem@redhat.com>
15818
15819 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
15820 are not going to emit return instructions, emit at least a nop
15821 for the sake of sane backtraces.
15822
5f9fb0e3
RH
158232002-04-05 Richard Henderson <rth@redhat.com>
15824
15825 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
15826
49f37a0d
JJ
158272002-04-05 Jakub Jeilnek <jakub@redhat.com>
15828
15829 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
15830
974a3101
AO
158312002-04-05 Alexandre Oliva <aoliva@redhat.com>
15832
15833 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
15834 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
15835 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
15836
2e04a694
AS
158372002-04-05 Andreas Schwab <schwab@suse.de>
15838
a40179bd 15839 * c-convert.c: Include c-common.h.
2e04a694
AS
15840 * Makefile.in (c-convert.o): Updated.
15841
1f785b7c
JJ
158422002-04-05 Jakub Jelinek <jakub@redhat.com>
15843
15844 * mklibgcc.in: Use separate libgcc.map for each multilib.
15845 * Makefile.in (distclean): Don't remove libgcc.map here.
15846
4d2fb38b
JJ
158472002-04-05 Jakub Jelinek <jakub@redhat.com>
15848
15849 * Makefile.in (s-mlib): Handle --disable-multilib by separate
15850 genmultilib invocation.
15851
bb63e5a0
RS
158522002-04-04 Richard Sandiford <rsandifo@redhat.com>
15853
15854 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
15855 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
15856 to num_gprs for symmetry.
15857 * config/mips/mips.c: Adjust accordingly.
15858
8ab80eaa
NB
158592002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
15860
15861 * c-common.c (truthvalue_conversion): Rename, update.
15862 * c-common.h (c_common_truthvalue_conversion): New.
15863 * c-convert.c (convert): Update.
15864 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
15865 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
15866 * c-typeck.c (build_binary_op, build_unary_op,
15867 build_conditional_expr): Update.
15868 * fold-const.c (constant_boolean_node, fold): Use langhook.
15869 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
15870 * langhooks.h (struct lang_hooks): New hook.
15871 * stmt.c (expand_decl_cleanup): Use langhook.
15872 * tree.h (truthvalue_conversion): Remove.
15873objc:
15874 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
15875
a2e9374a
AM
158762002-04-05 Alan Modra <amodra@bigpond.net.au>
15877
15878 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
15879 Add rules to make null object file.
15880
64d08263
JB
158812002-04-04 Jim Blandy <jimb@redhat.com>
15882
15883 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
15884 macro formal parameter names.
15885
aa7634dd
DM
158862002-04-04 David S. Miller <davem@redhat.com>
15887
15888 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
15889
ecc114f7
RH
158902002-04-04 Richard Henderson <rth@redhat.com>
15891
15892 PR middle-end/5099
15893 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
15894 Support copies into and out of memory. Don't accept allows_reg
15895 and allows_mem as gospel.
15896
c4484b8f
RH
158972002-04-04 Richard Henderson <rth@redhat.com>
15898
15899 PR opt/6165
15900 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
15901 (write_dependence_p): Likewise.
15902
39002160
RH
159032002-04-04 Richard Henderson <rth@redhat.com>
15904
15905 * predict.c (estimate_bb_frequencies): Do frequency calculation
15906 with a volatile temporary.
15907
f53ebe71
UW
159082002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
15909
15910 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
15911
15e0ecab
JJ
159122002-04-04 Jakub Jelinek <jakub@redhat.com>
15913
15914 PR c++/6119
15915 * final.c (final_start_function): Don't bump profile_label_no here...
15916 (final_end_function): ...but here.
15917
ffd386b0
JJ
159182002-04-04 Jakub Jelinek <jakub@redhat.com>
15919
15920 * config/sparc/sparc.md (pic): New attribute.
15921 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
15922 into stack slots.
15923 (split after do_builtin_setjmp_setup): New.
15924
8b156b3e
JJ
159252002-04-04 Jakub Jelinek <jakub@redhat.com>
15926
15927 PR fortran/6106
15928 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
15929 change.
15930
014c0998
JJ
159312002-04-04 Jakub Jelinek <jakub@redhat.com>
15932
15933 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
15934 UNITS_PER_WORD for zero sized aggregates.
15935
4d8611d9
DM
159362002-04-03 David S. Miller <davem@redhat.com>
15937
15938 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
15939 one-character spec for this, just use %(link_gcc_c_sequence).
15940
b03ad99d
DM
159412002-04-03 David S. Miller <davem@redhat.com>
15942
15943 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
15944 handling.
15945
823fbbce
JDA
159462002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
15947
15948 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
15949 (DWARF_FRAME_RETURN_COLUMN): Move.
15950 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15951 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
15952 * pa.c (except.h, predict.h): Include.
15953 (FRP): Delete.
15954 (store_reg_modify, set_reg_plus_d): Revise prototypes.
15955 (output_ascii): Add cast.
15956 (store_reg_modify): Revise to add frame notes.
15957 (set_reg_plus_d): Likewise.
15958 (compute_frame_size): Include space for eh data registers in frame if
15959 the current function calls eh_return.
15960 (hppa_expand_prologue): Ensure register %r2 is saved if the current
15961 function calls eh_return. Save eh data registers if the current
15962 function calls eh_return. Fix code to add frame notes. Emit
15963 blockage to prevent insns with frame notes being scheduled in the
15964 delay slot of calls.
15965 (hppa_expand_epilogue): Restore eh data registers and do final stack
15966 adjustment if the current function calls eh_return. Don't add frame
15967 notes.
15968 (output_call): Revise for change in length of call insn. Don't do
15969 return pointer adjustment for an unconditional jump in the delay slot
15970 of a call when using frame notes.
15971 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
15972 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
15973 (ARG_POINTER_CFA_OFFSET): Define.
15974 * pa.md (return_external_pic): New pattern.
15975 (prologue): Correct formatting. Use return_external_pic if current
15976 function calls eh_return.
15977 (call_internal_symref, call_value_internal_symref,
15978 sibcall_internal_symref, sibcall_value_internal_symref): Change default
15979 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
15980 respectively.
15981 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
15982
15983 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
15984 list of targets to check using "nop" insn.
15985 * configure: Rebuilt.
15986
4078e224
AM
159872002-04-04 Alan Modra <amodra@bigpond.net.au>
15988
15989 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
15990
bbd7687d
DM
159912002-04-03 David S. Miller <davem@redhat.com>
15992
15993 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
15994 library sequence passed to the linker.
15995 (LINK_COMMAND_SPEC): Use it.
15996 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
15997 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
15998 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
15999
659e5a7a
JM
160002002-04-03 Jason Merrill <jason@redhat.com>
16001
16002 * except.c (struct eh_status): Remove protect_list.
16003 (begin_protect_partials, end_protect_partials): Remove.
16004 (add_partial_entry): Remove.
16005 * except.h: Remove prototypes.
16006
16007 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
16008 expand_decl_cleanup_eh.
16009
16010 PR c++/5636
16011 * tree.h (CLEANUP_EH_ONLY): New macro.
16012 * stmt.c (expand_decl_cleanup_eh): New fn.
16013 (expand_cleanups): Check CLEANUP_EH_ONLY.
16014 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
16015 Use expand_decl_cleanup_eh.
16016 (expand_stmt): Adjust.
16017 * c-common.h: Adjust prototype.
16018
053d3344
HPN
160192002-04-04 Hans-Peter Nilsson <hp@axis.com>
16020
16021 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
16022 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
16023 (cris_target_asm_function_epilogue): Ditto.
16024 (cris_initial_frame_pointer_offset): Ditto.
16025 (cris_simple_epilogue): Ditto.
16026 (cris_expand_builtin_va_arg): Variable-size types come in
16027 by-reference.
16028
61ab5260
DM
160292002-04-03 David S. Miller <davem@redhat.com>
16030
16031 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
16032 little-endian.
16033 (set_fast_math): Correct 'fsr' type.
16034
ef4f94ac
RH
160352002-04-03 Richard Henderson <rth@redhat.com>
16036
36c2272c 16037 PR opt/3569
ef4f94ac
RH
16038 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
16039 * toplev.c (check_global_declarations): Use it.
16040 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
16041 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
16042 (LANG_HOOKS_DECLS): Add it.
16043 * langhooks.c (lhd_warn_unused_global_decl): New.
16044 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
16045 * c-objc-common.c (c_warn_unused_global_decl): New.
16046 * c-tree.h (c_warn_unused_global_decl): Declare.
16047 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
16048
599bba86
NB
160492002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
16050
16051 * langhooks-def.h (lhd_set_decl_assembler_name,
16052 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
16053 (LANG_HOOKS_INITIALIZER): Update.
16054 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
16055 * langhooks.h (struct lang_hooks): New hook.
16056 * tree.c (set_decl_assembler_name): Move to langhooks.c.
16057 (lang_set_decl_assembler_name): Remove.
16058 (init_obstacks): Don't set hook.
16059 (decl_assembler_name): New function.
16060 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
16061 (decl_assembler_name): New.
16062 (lang_set_decl_assembler_name): Remove.
16063
cf7b8b0d
JJ
160642002-04-03 Jakub Jelinek <jakub@redhat.com>
16065
16066 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
16067 works properly with .hidden symbols.
16068 * configure: Rebuilt.
16069 * config.in: Rebuilt.
16070 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16071 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
16072 properly with .hidden symbols.
16073
faf6db38
JJ
160742002-04-03 Jakub Jelinek <jakub@redhat.com>
16075
16076 PR middle-end/6102
16077 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
16078 USE argument.
16079
68c17f30
RH
160802002-04-03 Richard Henderson <rth@redhat.com>
16081
16082 PR opt/4120
16083 * sched-rgn.c (sets_likely_spilled): New.
16084 (sets_likely_spilled_1): New.
16085 (add_branch_dependences): Use it.
16086
6584b4aa
RH
160872002-04-02 Richard Henderson <rth@redhat.com>
16088
16089 PR opt/4311
16090 * loop.h (LOOP_FIRST_PASS): New.
16091 * loop.c (strength_reduce): Mind it when deciding to unroll.
16092 * toplev.c (rest_of_compilation): Set it.
16093
0acf409f
DM
160942002-04-02 David S. Miller <davem@redhat.com>
16095
16096 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
16097 mems_ok_for_ldd_peep when the order of the loads being examined
16098 is reversed.
16099 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
16100 existing comment to increase comprehension of this situation.
16101
85654444
ZW
161022002-04-02 Zack Weinberg <zack@codesourcery.com>
16103
16104 * config/sh/sh.md: Don't use union real_extract.
16105
543828ca
RH
161062002-04-02 Richard Henderson <rth@redhat.com>
16107
16108 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
16109
39ed301b
DB
161102002-04-02 David O'Brien <obrien@FreeBSD.org>
16111
16112 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
16113 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
16114 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
16115 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
16116 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
16117 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
16118 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
16119 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
16120 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
16121 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
16122 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
16123 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
16124 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
16125 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
16126 Include as many configury headers via tm_file as possible. This
16127 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
16128 * config/openbsd-oldgas.h: New file.
16129 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
16130 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
16131 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
16132 config/i386/i386-coff.h, config/i386/i386-interix.h,
16133 config/i386/iscdbx.h, config/i386/linux-aout.h,
16134 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
16135 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
16136 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
16137 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
16138 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
16139 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
16140 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
16141 config/i386/vxi386.h: Do not directly include configury headers.
16142 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
16143 Directly include configury headers that are no longer automatically
16144 included by the above headers.
16145 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
16146 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
16147 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
16148 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
16149 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
16150 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
16151 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
16152 (TARGET_VERSION): Define.
16153 * config/i386/beos-elf.h, config/i386/freebsd.h,
16154 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
16155 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
16156 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
16157 config/i386/sco5.h, config/i386/sysv4.h
16158 (TARGET_VERSION): Do not need to protect.
16159 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
16160 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
16161 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
16162 config/i386/i386-interix.h, config/i386/linux-aout.h,
16163 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
16164 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
16165 (YES_UNDERSCORES): Do not define - not needed.
16166 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
16167 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
16168 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
16169 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
16170 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
16171 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
16172 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
16173 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
16174
9432c136
EB
161752002-04-02 Eric Botcazou <ebotcazou@multimania.com>
16176 Richard Henderson <rth@redhat.com>
16177
16178 PR c/5484
16179 * function.c (assign_temp): Accept either type or decl argument.
16180 Detect variables whose size is too large to fit into an integer.
16181 * stmt.c (expand_decl): Pass the decl, not the type.
16182
058b1275
DB
161832002-04-02 David O'Brien <obrien@FreeBSD.org>
16184
16185 * protoize.c: Match include directory usage with cppdefault.c.
16186
5add6d1a 161872002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 16188 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
16189
16190 * combine.c (simplify_comparison): Avoid narrowing a comparison
16191 with a paradoxical subreg when doing so would drop signficant bits.
16192
1e533e4b
SE
161932002-04-02 Steve Ellcey <sje@cup.hp.com>
16194
16195 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
16196 if POINTERS_EXTEND_UNSIGNED is defined.
16197
7a145e92
RH
161982002-04-02 Richard Henderson <rth@redhat.com>
16199
16200 PR opt/3967
16201 * local-alloc.c (contains_replace_regs): LO_SUM may contain
16202 replace regs.
16203
3a079822
RH
162042002-04-02 Richard Henderson <rth@redhat.com>
16205
16206 * doc/standards.texi: Document required freestanding libc entry points.
16207
c94ccb87
AM
162082002-04-02 Alan Modra <amodra@bigpond.net.au>
16209
16210 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
16211 associated splitter. Remove MQ constraint.
16212 (ctrdi_internal4): Correct CCmode clobber.
16213
fe660a1a
JDA
162142002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
16215
16216 * milli64.S ($$dyncall): New function.
16217 * t-linux (LIB1ASMFUNCS): Revise module list.
16218 (LIB1ASMSRC): Use pa/milli64.S.
16219
eadc0202
RH
162202002-04-02 Richard Henderson <rth@redhat.com>
16221
16222 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
16223 rename solaris_sys_varargs_h.
16224
a1471322
RK
16225Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16226
16227 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
16228 the same mode as its component.
16229
c8b94768
RH
162302002-04-02 Richard Henderson <rth@redhat.com>
16231
16232 PR opt/190
16233 * final.c (this_is_asm_operands): Export.
16234 * output.h (this_is_asm_operands): Declare.
16235 * config/i386/i386.c (print_operand): Error odd asm operands.
16236
161eb4fc
RH
162372002-04-02 Richard Henderson <rth@redhat.com>
16238
16239 PR opt/420
16240 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
16241
b88a94c6
RH
162422002-04-01 Richard Henderson <rth@redhat.com>
16243
16244 PR target/1538
16245 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
16246 * fixinc/fixincl.x: Rebuild.
16247
72e32876
RH
162482002-04-01 Richard Henderson <rth@redhat.com>
16249
16250 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
16251 (atomic_alloc, atomic_free): New.
16252 (SIZE, MASK_FOR, PTR_IN): New.
16253 (emergency_reg_state, emergency_reg_state_free): New.
16254 (emergency_labeled_state, emergency_labeled_state_free): New.
16255 (reg_state_alloced, labeled_state_alloced): New.
16256 (alloc_reg_state, free_reg_state): New.
16257 (alloc_label_state, free_label_state, free_label_states): New.
16258 (push, pop, dup_state_stack, free_state_stack): Use them.
16259 (desc_label_state): Likewise.
16260 (uw_frame_state_for): Free label states and state stack.
16261 (uw_update_reg_address): Eliminate warnings.
16262
84d76074
VM
162632002-04-01 Vladimir Makarov <vmakarov@redhat.com>
16264
16265 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 16266 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 16267
dffd7eb6
NB
162682002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16269
16270 * c-decl.c (grokdeclarator): Update.
16271 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
16272 * c-tree.h (c_mark_addressable): New.
16273 * c-typeck.c (default_function_array_conversion, build_unary_op,
16274 build_array_ref, convert_for_assignment): Update.
16275 (mark_addressable): Rename.
16276 * calls.c (try_to_integrate, expand_call): Use langhook.
16277 * expr.c (expand_expr): Use langhook.
16278 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
16279 * langhooks.h (struct lang_hooks): New hook.
16280 * stmt.c (expand_asm_operands): Use langhook.
16281 * tree.h (mark_addressable): Remove.
16282objc:
16283 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
16284
544ef5b5
BW
162852002-04-01 Bob Wilson <bob.wilson@acm.org>
16286
9be40833
RH
16287 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
16288 in previous change.
544ef5b5 16289
bcf88f9b
BW
162902002-04-01 Bob Wilson <bob.wilson@acm.org>
16291
16292 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
16293 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
16294
ceef8ce4
NB
162952002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16296
16297 * c-common.c (unsigned_conversion_warning, convert_and_check,
16298 unsigned_type, signed_type, shorten_compare,
16299 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
16300 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
16301 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
16302 New.
16303 * c-decl.c (grokdeclarator): Update.
16304 * c-format.c (check_format_types): Update.
16305 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
16306 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
16307 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
16308 * convert.c (convert_to_integer): Use new hooks.
16309 * expmed.c (make_tree): Use new hooks.
16310 * expr.c (store_expr): Use new hooks.
16311 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
16312 all_ones_mask_p, unextend, fold): Use new hooks.
16313 * langhooks.h (struct lang_hooks_for_types): New hooks.
16314 * tree.h (signed_or_unsigned_type, signed_type,
16315 unsigned_type): Remove.
16316objc:
16317 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
16318 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
16319
1d9ad0e0
RH
163202002-03-31 Richard Henderson <rth@redhat.com>
16321
16322 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
16323 (desc_frgr_mem): Fix reference to f16-f31.
16324
d544bc39
KG
163252002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16326
16327 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
16328 RTVEC_ELT): Const-ify.
d8750784
KG
16329 * varray.h (VARRAY_CHECK): Const-ify.
16330 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
16331 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 16332
b18101c7
NB
163332002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
16334
16335 * diagnostic.c: Include langhooks-def.h.
16336 * Makefile.in (diagnostic.o): Update.
16337
48a7a235
NB
163382002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
16339
16340 * c-common.c (c_unsafe_for_reeval): Rename.
16341 * c-common.h (c_unsafe_for_reeval): Rename.
16342 * c-decl.c (finish_incomplete_decl): Rename.
16343 (c_init_decl_processing): Don't set langhook.
16344 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
16345 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
16346 * c-objc-common.c (c_objc_common_init): Don't set langhook.
16347 * c-tree.h (finish_incomplete_decl): Rename.
16348 * langhooks-def.h (lhd_unsafe_for_reeval): New.
16349 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
16350 (LANG_HOOKS_INITIALIZER): Update.
16351 * langhooks.c (lhd_unsafe_For_reeval): New.
16352 * langhooks.h (struct langhooks): New hooks.
16353 * toplev.c (incomplete_decl_finalize_hook): Remove.
16354 (wrapup_global_declarations): Update.
16355 * tree.c (lang_unsafe_for_reeval): Remove.
16356 (unsafe_for_reeval): Update.
16357 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
16358 Remove.
16359objc:
16360 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
16361 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
16362
7cb32822
NB
163632002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
16364
16365 * diagnostic.c (print_error_function): Remove.
16366 (default_print_error_function): Rename.
16367 (report_error_function): Update.
16368 * diagnostic.h (print_error_function): Remove.
16369 (default_print_error_function): Remove.
16370 * langhooks-def.h (struct diagnostic_context): Predeclare.
16371 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
16372 (LANG_HOOKS_INITIALIZER): Update.
16373 * langhooks.h (struct diagnostic context): Predeclare.
16374 (struct lang_hooks): New hook.
16375
1db02437
FS
163762002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16377
16378 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
16379 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
16380 !flag_pic.
16381 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
16382 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
16383 of PIC_OFFSET_TABLE_REGNUM thruout.
16384 * config/rs6000/rs6000.md: Likewise.
16385 * config/rs6000/darwin.h: Likewise.
16386
3bf1e984
RK
16387Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16388
16389 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
16390 unsigned HOST_WIDE_INT, not unsigned int.
16391
0864c526
JJ
163922002-03-31 Jakub Jelinek <jakub@redhat.com>
16393
16394 PR middle-end/6096, middle-end/6098, middle-end/6099
16395 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
16396 CODE_LABELs.
16397 (fill_slots_from_thread): Likewise.
16398
105b2084
JJ
163992002-03-31 Jakub Jelinek <jakub@redhat.com>
16400
16401 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
16402 floating fields in float regs.
16403 (function_arg_record_value_2): Likewise.
16404
db08fddf
HPN
164052002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
16406
16407 * config/mmix/mmix.md (define_constants): Remove misleading
16408 FIXME. Add MMIX_fp_rO_OFFSET.
16409 ("nonlocal_goto_receiver"): Don't have stack-frame address of
16410 saved rO as part of the pattern. Remove FIXME.
16411 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
16412 here, at output-time.
16413
4f31cce8
JJ
164142002-03-31 Jakub Jelinek <jakub@redhat.com>
16415
16416 PR middle-end/6100
16417 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
16418 REG_BR_PRED.
16419 (output_v9branch): Likewise.
16420
ba2b7435
AO
164212002-03-31 Alexandre Oliva <aoliva@redhat.com>
16422
16423 * gcc.c: Revert previous patch for now.
16424 * config/i386/djgpp.h: Likewise.
16425
aa66aa5f 164262002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
16427
16428 * config/mmix/crti.asm (_init): Register _fini with atexit.
16429 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
16430
41ba8a20
RH
164312002-03-31 Richard Henderson <rth@redhat.com>
16432
16433 PR target/3997
16434 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
16435 (ASM_OUTPUT_DEF_FROM_DECLS): New.
16436
adc186ef
RH
164372002-03-31 Richard Henderson <rth@redhat.com>
16438
16439 * libgcc2.c (__bb_exit_func): Make static.
16440
9be40833 16441 * config/alpha/alpha.md (trap): New.
a7648399 16442
9602f5a0
RH
164432002-03-31 Richard Henderson <rth@redhat.com>
16444
16445 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
16446 promoted argument types; build trap.
16447 (expand_builtin_trap): New.
16448 (expand_builtin): Use it.
16449 * stmt.c (expand_nl_goto_receivers): Likewise.
16450 * expr.h (expand_builtin_trap): Declare.
16451 * libfuncs.h (LTI_abort, abort_libfunc): New.
16452 * optabs.c (init_optabs): Init abort_libfunc.
16453
1a0a7539
AO
164542002-03-31 Alexandre Oliva <aoliva@redhat.com>
16455
16456 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
16457 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 16458 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
16459 shared_name in the second copy.
16460 (init_spec): Test for duplicate
16461 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
16462
b5de1a27
DM
164632002-03-30 David S. Miller <davem@redhat.com>
16464
16465 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
16466 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
16467
78414d74 164682002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 16469 Richard Henderson <rth@redhat.com>
78414d74 16470
9be40833
RH
16471 * regmove.c (combine_stack_adjustments_for_block): Avoid
16472 emitting a stack adjustment of zero bytes. Let delete_insn
16473 update bb->head.
78414d74 16474
33074e5f
RH
164752002-03-30 Richard Henderson <rth@redhat.com>
16476
16477 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
16478 (sparc_emitting_epilogue): New.
16479 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
16480 * config/sparc/sparc-protos.h: Update.
16481 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
16482 (TARGET_SWITCHES): Update.
16483 * config/sparc/sparc.md (return): Remove.
16484 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
16485 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
16486 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
16487 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
16488 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
16489 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
16490 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
16491 Remove MASK_EPILOGUE.
16492 * doc/invoke.texi: Update.
16493
606cc056
DB
164942002-03-30 Daniel Berlin <dan@dberlin.org>
16495
16496 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
16497 CPP will start the file for us.
7b2e1077 16498
bdbe5b8d
RH
164992002-03-30 Richard Henderson <rth@redhat.com>
16500
16501 PR target/5446
16502 * config/ia64/ia64.c (group_barrier_needed_p): Special case
16503 prologue_allocate_stack.
16504 (ia64_single_set): Use insn codes for recognition of special
16505 cases, not rtl matching.
16506 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
16507
4ab95d82
JH
16508Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
16509
16510 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
16511
89a8b315
RH
165122002-03-30 Richard Henderson <rth@redhat.com>
16513
16514 PR target/6032
16515 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
16516 or -fomit-frame-pointer with profiling.
16517 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
16518 (FUNCTION_PROFILER): Do nothing.
16519 (PROFILE_HOOK): New.
16520 * config/sparc/sparc.c (sparc_override_options): Don't check
16521 code models for profiling.
16522 (sparc_function_profiler): Remove.
16523 (sparc_profile_hook): New.
16524 * config/sparc/sparc-protos.h: Update.
16525
30984c57
JJ
165262002-03-30 Jakub Jelinek <jakub@redhat.com>
16527
16528 PR optimization/6086
16529 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
16530 of SUBREG of volatile MEM or because the MEM was mode dependent,
16531 return CLOBBER instead of unmodified SUBREG.
16532
1540f9eb
JH
16533Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
16534
89a8b315
RH
16535 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
16536 when not optimizing.
1540f9eb
JH
16537
16538 * toplev.c (rest_of_compilation): Cann mark_constant_function
16539 only when optimizing.
16540
89a8b315
RH
16541 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
16542 are NULL.
1540f9eb
JH
16543
16544 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
16545 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
16546 (try_optimize_cfg): clear all AUX fields.
16547
16548 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
16549 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
16550 (ix86_address_cost): Be prepared for SUBREGed registers.
16551 (legitimate_address_p): Accept SUBREGed registers.
16552
70d95bac
RH
165532002-03-29 Richard Henderson <rth@redhat.com>
16554
16555 PR target/5672
16556 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
16557
d3294cd9
FS
165582002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
16559
16560 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
16561 for aggregate and TFmode types.
16562
a106c875
HPN
165632002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
16564
16565 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
16566
7d7a5d6f
RH
165672002-03-29 Richard Henderson <rth@redhat.com>
16568
6e2d670b 16569 PR target/5886
7d7a5d6f
RH
16570 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
16571 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
16572
30c99a84
RH
165732002-03-29 Richard Henderson <rth@redhat.com>
16574
6e2d670b 16575 PR target/6041
30c99a84
RH
16576 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
16577 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
16578 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
16579 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
16580 conditional.
16581 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
16582
02a566dc
DJ
165832002-03-29 Dale Johannesen <dalej@apple.com>
16584
16585 * loop.c (combine_movables): Do allow combination of pseudos.
16586
bc3a44db
LR
165872002-03-29 Loren J. Rittle <ljrittle@acm.org>
16588
16589 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
16590 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
16591 No functional change except ...
16592 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
16593 * doc/install.texi (*-*-freebsd*): Document port configuration.
16594
b0c48229
NB
165952002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
16596
16597 * Makefile.in (convert.o, calls.o, expmed.o): Update.
16598 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
16599 Use new hooks.
16600 * builtin-types.def (BT_PTRMODE): Update.
16601 * c-common.c (type_for_size): Rename c_common_type_for_size.
16602 (type_for_mode): Similarly.
16603 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
16604 Use new hook.
16605 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
16606 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
16607 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
16608 Redefine.
16609 * c-typeck.c (common_type, comptypes, default_conversion):
16610 Use new hooks.
16611 * calls.c: Include langhooks.h.
16612 (emit_library_call_value_1): Use new hooks. Avoid redundant
16613 calls.
16614 * convert.c: Include langhooks.h
16615 (convert_to_pointer, convert_to_integer): Use new hooks.
16616 * except.c (init_eh): Similarly.
16617 * expmed.c: Include langhooks.h.
16618 (expand_mult_add): Use new hooks.
16619 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
16620 try_casesi): Similarly.
16621 * fold-const.c (optimize_bit_field_compare, make_range,
16622 decode_field_reference, fold_truthop, fold): Similarly.
16623 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
16624 put_var_into_stack): Similarly.
16625 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
16626 LANG_HOOKS_TYPE_FOR_SIZE): New.
16627 (LANG_HOOKS_TYPES_INITIALIZER): Update.
16628 * langhooks.h (lang_hooks_for_types): New hooks.
16629 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
16630 * tree.c (get_unwidened, get_narrower): Similarly.
16631 * tree.h (type_for_mode, type_for_size): Remove.
16632 * varasm.c (force_const_mem): Use new hooks.
16633 * utils2.c (nonbinary_modular_operation): Update.
16634objc:
16635 * objc-act.c (handle_impent): Update.
16636 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
16637 Redefine.
16638
e206a74f
SE
166392002-03-29 Steve Ellcey <sje@cup.hp.com>
16640
16641 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
16642 * config/ia64/ia64.c (basereg_operand): New.
16643 * config/ia64/ia64-protos.h (basereg_operand): Declare.
16644 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
16645
7d9b6378
HPN
166462002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
16647
16648 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
16649 unwind information when frame_pointer_needed.
16650 (mmix_assemble_integer): Tweak wording in comment.
16651
f1e639b1
NB
166522002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
16653
16654 * Makefile.in (except.o): Update.
16655 * except.c: Include langhooks.h.
16656 (init_eh): Use langhook.
16657 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
16658 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
16659 (LANG_HOOKS_INITIALIZER): Update.
16660 * langhooks.h (lang_hooks_for_types): New.
16661 (struct lang_hooks): Add it.
16662 * tree.c (make_lang_type_fn, make_lang_type): Remove.
16663 * tree.h (make_lang_type_fn, make_lang_type): Remove.
16664config:
16665 * alpha/alpha.c: Include langhooks.h.
16666 (alpha_build_va_list): Use langhook.
16667 * d30v/d30v.c: Include langhooks.h.
16668 (d30v_build_va_list): Use langhook.
16669 * i386/i386.c: Include langhooks.h.
16670 (ix86_build_va_list): Use langhook.
16671 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
16672 * s390/s390.c: Include langhooks.h.
16673 (s390_build_va_list): Use langhook.
16674 * stormy16/stormy16.c: Include langhooks.h.
16675 (stormy16_build_va_list): Use langhook.
16676
f17f9332
JJ
166772002-03-29 Jakub Jelinek <jakub@redhat.com>
16678
16679 PR c++/5964
16680 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
16681 attributes.
16682 (length): Compute variable length for branches/calls/jumps here.
16683 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
16684 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
16685 define branch_type attribute.
16686 (divsi3_sp32): Maximum length is 6 not 7.
16687 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
16688 call_address_untyped_struct_value_sp32,
16689 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
16690 * config/sparc/sparc.c (empty_delay_slot): New function.
16691 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
16692 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
16693
0a0440c9
JJ
166942002-03-29 Jakub Jelinek <jakub@redhat.com>
16695
16696 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
16697 nonzero_bits if not needed.
16698 (nonzero_bits) [XOR]: Likewise.
16699 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
16700 reg_last_set_mode and mode are both MODE_INT, but not equal.
16701 (record_value_for_reg): Compute reg_last_set_nonzero_bits
16702 in nonzero_bits_mode for MODE_INT modes.
16703
c9045f47
RH
167042002-03-28 Richard Henderson <rth@redhat.com>
16705
16706 PR target/5715
16707 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
16708 to GAS. Correct drift between alternatives.
16709
f8ed1958
RH
167102002-03-28 Richard Henderson <rth@redhat.com>
16711
16712 PR target/6087
16713 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
16714
54e20385
LR
167152002-03-28 Alexandre Oliva <aoliva@redhat.com>
16716
16717 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
16718 emulation to the linker.
16719
167202002-03-28 Loren J. Rittle <ljrittle@acm.org>
16721
16722 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
16723 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
16724
8bc52806
JL
16725Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
16726
16727 * combine.c (simplify_and_const_int): Make sure to apply mask
16728 when force_to_mode returns a constant integer. PR3311.
16729
279dccc5
JDA
167302002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
16731
16732 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
16733
62aaa62c
GP
167342002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16735
16736 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
16737 and Objective-C Dialect Options.
16738
b8de5050
RH
167392002-03-28 Richard Henderson <rth@redhat.com>
16740
16741 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
16742 comparison should be done vs !=0 not >0 return code. Tidy cases.
16743
619708cc
RH
167442002-03-28 Richard Henderson <rth@redhat.com>
16745
16746 * c-decl.c (finish_function): New arg can_defer_p. Pass it
16747 on to c_expand_body.
16748 * c-tree.h (finish_function): Update decl.
16749 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
16750
b1d874d7
JH
16751Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
16752
16753 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
16754
f5eb5fd0
JH
16755Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
16756
16757 * rtlanal.c: Include flags.h
16758 (may_trap_p): Do not mark FP operations if trapping
16759 if !flag_trapping_math
16760 * Makefile.in (rtlanal.o): Add dependency on flag.h
16761 * ifcvt.c (noce_operand_ok): Avoid the lameness.
16762
81b4c798
ZW
167632002-03-27 Zack Weinberg <zack@codesourcery.com>
16764
16765 * mips.md: Use dconst1, not 1.0, as first argument of
16766 REAL_VALUE_LDEXP. Don't use union real_extract.
16767
55a2ea2a
AM
167682002-03-28 Alan Modra <amodra@bigpond.net.au>
16769
16770 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
16771 rather than $target. Heed program_prefix and
16772 program_transform_name. Search for gas in cross-compiler case too.
16773 "test -x" rather than "test -f".
16774 (gcc_cv_ld): Likewise.
16775 (gcc_cv_nm): Heed program_prefix and program_transform_name.
16776 (gcc_cv_objdump): Likewise.
16777 * configure: Regenerate.
16778
7ffb4fd2
NB
167792002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16780
16781 * Makefile.in (attribs.o): Update.
16782 * attribs.c: Include langhooks.h.
16783 (decl_attributes): Use langhook.
16784 * c-decl.c (insert_default_attributes): Rename.
16785 * c-tree.h (c_insert_default_attributes): New.
16786 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
16787 (LANG_HOOKS_INITIALIZER): Update.
16788 * langhooks.h (struct lang_hooks): New hook.
16789 * tree.h (insert_default_attributes): Remove.
16790objc:
16791 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
16792
e4dbaed5
AS
167932002-03-27 Andreas Schwab <schwab@suse.de>
16794
16795 * config/i386/i386.c (classify_argument): Also check for
16796 QUAL_UNION_TYPE.
16797
18b467f1
RO
167982002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16799
16800 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
16801 any more.
16802
d337d653
JH
16803Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
16804
16805 * i960.md (ret): Set PC.
16806 (nonlocal_goto): Fix expander.
16807 * builtins.c (epxand_builin_longjmp): Check that we've emitted
16808 some jump or call.
16809
218aa620
JH
16810Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
16811
16812 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
16813 of libcall regions.
16814
e27a4eaf
ZD
16815Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16816
16817 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
16818 assigning to BLOCK_FOR_INSN directly.
16819
8a12f34c
JH
16820Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
16821
16822 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
16823
c9d892a8
NB
168242002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16825
16826 * c-common.c (c_expand_expr): Fix prototype.
16827 * c-common.h (c_expand_expr): Always declare, update.
16828 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
16829 * c-objc-common.c (c_objc_common_init): No global hook.
16830 * expr.c (expand_expr): Use langhook.
16831 * expr.h (enum expand_modifier): Conditionally declare.
16832 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
16833 (LANG_HOOKS_INITIALIZER): Update.
16834 * langhooks.c (lhd_expand_expr): New.
16835 * langhooks.h (struct lang_hooks): New hook.
16836 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
16837 (lang_independent_init): Don't default hook.
16838objc:
16839 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
16840
6dad5a56
RH
168412002-03-27 Richard Henderson <rth@redhat.com>
16842
16843 PR target/6054
16844 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
16845 TARGET_CONST_GP. Simplify conditions.
16846
59f96879
RH
168472002-03-27 Richard Henderson <rth@redhat.com>
16848
16849 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
16850 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
16851 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
16852
f3f1190d
DS
168532002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
16854
16855 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
16856 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
16857 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
16858 Remove unnecessary masks.
16859 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
16860 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
16861 -mwindows, -mdll switches and their negations.
16862
31c816cf
NB
168632002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
16864
16865 * gcc-common.c (lang_mark_false_label_stack): Remove.
16866 * ggc.h (lang_mark_false_label_stack): Similarly.
16867
7b2e1077 168682002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
16869
16870 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
16871
16872 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
16873 or __rtems_ is defined.
16874
1ef9531b
RH
168752002-03-26 Richard Henderson <rth@redhat.com>
16876
16877 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
16878 if a non-trivial load was emitted.
16879 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
16880 in high+extra+low case.
16881
300d4093
RH
168822002-03-26 Richard Henderson <rth@redhat.com>
16883
16884 * config.gcc (sparc*-solaris): Use float_format=sparc.
16885
b3689904
RH
168862002-03-26 Richard Henderson <rth@redhat.com>
16887
16888 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
16889 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
16890 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
16891 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
16892 (WINT_TYPE_SIZE): Fix at 32.
16893
1eefb6c1
RH
168942002-03-26 Richard Henderson <rth@redhat.com>
16895
16896 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
16897 until after eh landing pad generation.
16898 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
16899 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
16900
361ea006
RH
169012002-03-26 Richard Henderson <rth@redhat.com>
16902
16903 * expr.h (ADD_PARM_SIZE): One more convert for INC.
16904
1de38a88
PE
169052002-03-26 Phil Edwards <pme@gcc.gnu.org>
16906
16907 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
16908 and warning switches.
16909 (cc1_options): Likewise.
16910
d7e60e95 169112002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 16912
d7e60e95
HB
16913 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
16914 Restore more of the signal context. Set no_reg_stack_frame.
16915 * config/ia64/unwind-ia64.c (unw_state_record):
16916 Add no_reg_stack_frame, comments.
16917 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
16918 (uw_update_context): Adjust bsp when unwinding from leaf,
16919 but not signal frame.
16920
7032923b
DE
169212002-03-26 David Edelsohn <edelsohn@gnu.org>
16922
16923 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
16924
8be56275
BW
169252002-03-26 Bob Wilson <bob.wilson@acm.org>
16926
16927 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
16928
56fbb855
RE
169292002-03-26 Richard Earnshaw <rearnsha@arm.com>
16930
16931 PR target/5621
16932 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
16933 "Add a pool_range attribute", which was lost during the ARM/Thumb
16934 merge.
16935
3437320b
BW
169362002-03-26 Bob Wilson <bob.wilson@acm.org>
16937
16938 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
16939 a register into the MAC16 accumulator.
16940
173028e5
AC
169412002-03-26 Andrew Cagney <ac131313@redhat.com>
16942
16943 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
16944 (Warning Options): Document -Wswitch-enum.
16945 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
16946 -Wswitch.
16947 (warn_switch_enum): Define variables.
16948 * flags.h (warn_switch_enum): Declare variables.
16949 * stmt.c (expand_end_case_type): When warn_switch_enum /
16950 -Wswitch-enum, perform switch checks.
16951 Fix PR c/5044.
7b2e1077 16952
e14365a7
RE
169532002-03-26 Richard Earnshaw <rearnsha@arm.com>
16954
16955 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
16956 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
16957 (reload_muladdsi_compare0_scratch): Delete.
16958
46fc709d
LR
169592002-03-26 Loren J. Rittle <ljrittle@acm.org>
16960
16961 * doc/install.texi (*-*-freebsd*): Update.
16962
f36dea3c
RH
169632002-03-26 Richard Henderson <rth@redhat.com>
16964
8e5fe23f
RH
16965 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
16966 (SUB_PARM_SIZE): Cast DEC to ssizetype.
16967
16968 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
16969 types from the normal argument frame.
16970
f36dea3c
RH
16971 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
16972 variable sized objects by reference.
16973 (sparc_va_arg): Receive them by reference too.
16974
1447dc69
HP
169752002-03-26 Hartmut Penner <hpenner@de.ibm.com>
16976
16977 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 16978 code to not restoring global registers.
1447dc69 16979
4f0ade92
NB
169802002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
16981
16982 * Makefile.in (ggc-common.o): Update.
16983 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
16984 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
16985 * c-tree.h (c_mark_tree): New.
16986 * ggc-common.c: Include langhooks.h.
16987 (gcc_mark_trees): Use new langhook.
16988 * ggc-callbacks.c: Delete file.
16989 * ggc.h (lang_mark_tree): Remove.
16990 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
16991 (LANG_HOOKS_INITIALIZER): Update.
16992 * langhooks.h (struct lang_hooks): New hook.
16993objc:
16994 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
16995
caba570b
ZW
169962002-03-25 Zack Weinberg <zack@codesourcery.com>
16997
16998 * doc/cpp.texi: Exclude entire Top node from printed manual.
16999 Move option index after directive index. Insert page breaks
17000 before GFDL and concept index. Index environment variables
17001 with command line options.
17002 * doc/cppenv.texi: Use @vtable for environment variable list.
17003 Add paragraph explaining semantics of empty elements in path
17004 variables. Exclude a cross-reference to Fishkill from the
17005 manpage. Remove an unnecessary cross-reference of the entry
17006 right above the referer. Don't use @anchor in text that goes
17007 into manpage.
17008 * doc/cppopts.texi: Cross-reference the environment variables
17009 section, not the specific environment variable, for consistency.
17010
6b2e80b7
RH
170112002-03-25 Richard Henderson <rth@redhat.com>
17012
17013 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
17014 anywhere in the block. Don't refer to insns that have been
17015 removed from the chain. Iterate backward through the new insns.
17016 Don't refer to edges that have been removed.
17017
67e469d7
AM
170182002-03-26 Alan Modra <amodra@bigpond.net.au>
17019
17020 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
17021 test for overflow of constant.
17022
f2356393
RE
170232002-03-25 Richard Earnshaw <rearnsha@arm.com>
17024
17025 PR target/2623
17026 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
17027 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
17028 these patterns on arm_archv4.
17029
355426ab
DS
170302002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
17031
17032 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
17033 int".
17034
15e5ad76
ZW
170352002-03-25 Zack Weinberg <zack@codesourcery.com>
17036
17037 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
17038 float_handled, float_handler, float_signal, set_float_handler,
17039 and do_float_handler. Set handler for SIGFPE to crash_signal.
17040 * toplev.h: Don't prototype do_float_handler.
17041
17042 * c-lex.c: Fold parse_float into lex_number. Make warning
17043 about portability of hex float constants more informative, and
17044 don't issue it on top of a syntax error.
17045 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
17046 their callers.
17047 * real.h: Define REAL_VALUE_ABS here...
17048 * simplify-rtx.c: ... not here. Fold check_fold_consts,
17049 simplify_unary_real, simplify_binary_real, and
17050 simplify_binary_is2orm1 into their callers.
17051 * tree.c: Fold build_real_from_int_cst_1 into caller.
17052
17053 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
17054
17055 * tsystem.h: Include float.h here...
17056 * libgcc2.c: ... not here.
17057
56ae9405
NC
170582002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
17059
17060 Fixes for: PR bootstrap/3591, target/5676
17061 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
17062 defined. Do not disable exceptions or rtti.
17063 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
17064 mcore.h. Disable exceptions and rtti, since they are not
17065 supported by EPOC.
17066
c88770e9
NB
170672002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
17068
17069 * c-decl.c (maybe_build_cleanup): Remove.
17070 * expr.c (expand_expr): Use langhook.
17071 * langhooks-def.h (lhd_return_null_tree,
17072 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
17073 (LANGHOOKS_INITIALIZER): Update.
17074 * langhooks.c (lhd_return_null_tree): New.
17075 * langhooks.h (struct lang_hooks): New hook.
17076 * tree-inline.c (initialize_inlined_parameters): Use langhook.
17077 * tree.h (maybe_build_cleanup): Remove.
17078
2ed1f154
JJ
170792002-03-25 Jakub Jelinek <jakub@redhat.com>
17080
17081 * regrename.c (build_def_use): Move recog_memoized
17082 before extract_insn.
17083
6ddae612
JJ
170842002-03-25 Jakub Jelinek <jakub@redhat.com>
17085
17086 PR target/6043
17087 * expr.c (emit_group_store): Handle storing into CONCAT.
17088
ea475b23
JJ
170892002-03-25 Jakub Jelinek <jakub@redhat.com>
17090
17091 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
17092 corresponding MATCH_DUP.
17093
e7d482b9
RH
170942002-03-24 Richard Henderson <rth@redhat.com>
17095
cd39fc13
RH
17096 * unroll.c (unroll_loop): Zero label_map.
17097
e7d482b9
RH
17098 * gcse.c: Include except.h.
17099 * Makefile.in (gcse.o): Update.
17100
1bd6476f
RH
171012002-03-24 Richard Henderson <rth@redhat.com>
17102
17103 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
17104 Do resolve_unique_section before shared data clause.
17105
2e6c150a
RH
171062002-03-24 Richard Henderson <rth@redhat.com>
17107
17108 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
17109
b29afcf8
RH
171102002-03-24 Richard Henderson <rth@redhat.com>
17111
15e5ad76 17112 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
17113 generated in the middle of a block. Do global life update if
17114 zapped EH edges.
17115
05ed1296
RH
171162002-03-24 Richard Henderson <rth@redhat.com>
17117
17118 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
17119
3ddbb8a9
NB
171202002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
17121
17122 preprocessor/3951
15e5ad76 17123 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
17124 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
17125 (init_dependency_output): Don't make no_output decision here.
17126
740b77b6
AC
171272002-03-24 Andrew Cagney <ac131313@redhat.com>
17128
17129 * stmt.c (check_for_full_enumeration_handling): Remove tests of
17130 warn_switch. Update description.
17131 (expand_end_case_type): Call check_for_full_enumeration_handling
17132 when warn_switch.
17133
7590cfd0
SC
171342002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17135
17136 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
17137 (m68hc11_split_move): Call it to see if the source and destination
17138 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 17139 source an offsetable memory operand and generate an add.
7590cfd0 17140
2e3d3481
SC
171412002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17142
17143 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
17144 register for operand 2.
17145 ("*subsi3_zero_extendqi"): Likewise.
17146 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
17147 bits so that it is compatible with a pop.
17148 ("*andhi3_gen"): Likewise.
17149 ("xorhi3"): Likewise.
17150
2784528c
NB
171512002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
17152
17153 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
17154 -pedantic here...
17155 (cpp_post_options): ... not here.
17156
aaf93206
NB
171572002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
17158 Aldy Hernandez <aldyh@redhat.com>
17159
17160 Removal of separate preprocessor cpp0.
17161
17162 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
17163 cpp0, install-common): Update.
17164 * c-common.c (flag_preprocess_only): New.
17165 (c_common_init): Preprocess for -E.
17166 * c-common.h (flag_preprocess_only): New.
17167 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
17168 * c-objc-common.c (c_init_decl_processing): Exit quickly
17169 for NULL return from c_common_init.
17170 * cpplib.h (cpp_preprocess_file): New.
17171 * cppmain.c (main, general_init, pfile, progname): Remove.
17172 (do_preprocessing): Rename cpp_preprocess_file, don't call
17173 cpp_finish. Don't close stdout here.
17174 (setup_callbacks): Update prototype.
17175 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
17176 Update.
17177 * tradcpp.c (main): Ignore -quiet.
17178objc:
17179 * lang-specs.h (default_compilers): Preprocess with cc1obj.
17180
c6e6f5c1
RH
171812002-03-24 Richard Henderson <rth@redhat.com>
17182
17183 PR optimization/5742
17184 * machmode.def: Add inner mode field to complex modes.
17185 * config/mips/mips.c (mips_function_value): Always define. Add
17186 new argument to handle libcalls.
17187 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
17188 (FUNCTION_VALUE): Likewise.
17189 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
17190 * config/mips/mips-protos.h: Update.
17191
d88e57d1
RH
171922002-03-23 Richard Henderson <rth@redhat.com>
17193
17194 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
17195 * config/sparc/sparc-protos.h: Update.
17196 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
17197
6dfaf9ba
RH
171982002-03-23 Richard Henderson <rth@redhat.com>
17199
17200 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
17201 _start or _init begins the text segment.
17202
0c769cf8
DE
172032002-03-23 David Edelsohn <edelsohn@gnu.org>
17204
17205 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
17206 not HOST_WIDEST_INT.
17207 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
17208
64e92a26
RE
172092002-03-23 Richard Earnshaw <rearnsha@arm.com>
17210
17211 PR java/5489
17212 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
17213 operand argument to output_return_instruction.
15e5ad76 17214 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
17215 const_true_rtx then just return.
17216 (arm_print_operand, case 'D'): If the operand is const_true_rtx
17217 then abort.
17218
d6961341
AC
172192002-03-23 Andrew Cagney <ac131313@redhat.com>
17220
17221 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
17222 (Warning Options): Document -Wswitch-default.
17223 * toplev.c (W_options): Add -Wswitch-default. Update comment on
17224 -Wswitch.
17225 (warn_switch_default): Define variable.
17226 (warn_switch): Update comment.
17227 * flags.h (warn_switch_default): Declare variable.
17228 (warn_switch): Update comment.
17229 * stmt.c (expand_end_case): Check for and, when
17230 warn_switch_no_default, warn of a missing default case.
15e5ad76 17231
d4c5ac1f
AM
172322002-03-23 Alan Modra <amodra@bigpond.net.au>
17233
bbaa9790
AM
17234 * real.h (N): Special case 128 bit doubles.
17235
d4c5ac1f
AM
17236 * combine.c (simplify_comparison): When widening modes, ignore
17237 sign extension on CONST_INTs.
17238
84bf8c2c
BW
172392002-03-22 Bob Wilson <bob.wilson@acm.org>
17240
17241 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
17242 passed to adjust_address. Fix comment formatting.
17243
17244
b216cd4a
ZW
172452002-03-22 Zack Weinberg <zack@codesourcery.com>
17246
17247 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
17248 Always make REAL_VALUE_TYPE a struct containing an array of
17249 HOST_WIDE_INT, not a double. Tidy up the code deciding how
17250 big it is. Don't declare or use union real_extract.
17251
17252 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
17253 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
17254 (print_operand), config/arm/arm.c (output_move_double),
17255 config/arm/arm.md (consttable_4, consttable_8),
17256 config/romp/romp.c (output_fpops), config/s390/s390.h
17257 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
17258 (xtensa_output_literal): Don't use union real_extract.
17259
17260 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
17261 (sfmode_constant_to_ulong), config/ns32k/merlin.h
17262 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
17263 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
17264 (PRINT_OPERAND): Don't use local version of union
17265 real_extract.
17266
17267 * config/convex/convex.c (check_float_value), config/vax/vax.c
17268 (vax_float_literal), config/m88k/m88k.md (divdf3),
17269 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
17270 config/pdp11/pdp11.c (output_move_quad): Don't do host
17271 arithmetic on target floating point quantities.
17272
17273 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
17274 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
17275
17276 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
17277 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
17278
17279 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
17280 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
17281 INFINITY.
17282 * print-rtl.c (print_rtx): Disable code which needs
17283 floating-point emulator.
17284 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
17285 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
17286 depending on HOST_FLOAT_FORMAT to be defined properly.
17287
17288 * config/1750a/1750a.c (get_double, float_label): Delete.
17289 (print_operand): Delete huge commented-out chunk. Use
17290 REAL_VALUE_TO_DECIMAL.
17291 * config/1750a/1750a-protos.h: Delete prototypes of deleted
17292 functions.
17293 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
17294 IEEE_FLOAT_FORMAT.
17295 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
17296 Use REAL_VALUE_TO_DECIMAL as ELF version does.
17297 * config/m88k/m88k.c (real_power_of_2_operand,
17298 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
17299 real_extract out of the union; run the input through
17300 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
17301 from that into the union.
17302 * config/pdp11/pdp11.c (output_move_double): Rearrange
17303 parentheses to make automatic indenter happy.
17304
17305 * doc/tm.texi (Cross-compilation): Rename node to "Floating
17306 Point" and rewrite to describe current situation. Also adjust
17307 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
17308 match code.
17309 * doc/rtl.texi: Adjust cross reference.
17310
a8cacfd2
BW
173112002-03-22 Bob Wilson <bob.wilson@acm.org>
17312
17313 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
17314 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
17315 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
17316 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
17317 prevent use of sp as a reload register.
17318 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
17319 non_acc_reg_operand.
17320 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
17321 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
17322 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
17323 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
17324
d4e6133f
NB
173252002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
17326
b216cd4a
ZW
17327 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
17328 * cpplex.c (unterminated): Delete.
17329 (parse_string): No string literal may extend over multiple
17330 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
17331 * cppmain.c (scan_translation_unit): Strings are single-line.
17332
b216cd4a 17333 * doc/cpp.texi: Update to match.
d4e6133f 17334
65e6c005
JJ
173352002-03-22 Jakub Jelinek <jakub@redhat.com>
17336
17337 PR optimization/5854
17338 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
17339 Shut up warnings.
17340 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
17341 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
17342 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
17343 const0 if scratch register was not allocated.
17344 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
17345 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
17346 with GEN_INT (...).
17347 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
17348 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
17349 with GEN_INT (...) everywhere. Remove constraints in define_split
17350 patterns.
17351 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
17352 require scratch register for setting 0 into regs/non-pushable memory.
17353
7f48c9e1
AO
173542002-03-22 Alexandre Oliva <aoliva@redhat.com>
17355
17356 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
17357 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
17358
909de5da
PE
173592002-03-22 Phil Edwards <pme@gcc.gnu.org>
17360
17361 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
17362 * cppinit.c (cpp_create_reader): On by default.
17363 (cpp_handle_option): Handle -W[no-]endif-labels.
17364 (cpp_post_options): Also enable if -pedantic.
17365 * cpplib.c (do_else): Use it.
17366 (do_endif): Likewise.
17367 * doc/cppopts.texi: Document new option.
17368 * doc/invoke.texi: Document new option.
17369
d8bf17f9
LB
173702002-03-22 Lars Brinkhoff <lars@nocrew.org>
17371
17372 * config/i386/i386.c, config/i386/i386.md: Change all occurences
17373 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
17374
70e0ccd0
AO
173752002-03-22 Alexandre Oliva <aoliva@redhat.com>
17376
17377 * flow.c (calculate_global_regs_live): Clear aux fields of
17378 ENTRY and EXIT.
17379
68882f0f
JJ
173802002-03-22 Jakub Jelinek <jakub@redhat.com>
17381
17382 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
17383 REG or MEM subregs, pass rtx * instead of rtx to it.
17384 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
17385 rtx * instead of rtx to alter_subreg.
17386 * config/m32r/m32r.c (gen_split_move_double): Likewise.
17387 * config/pj/pj.c (pj_output_rval): Likewise.
17388
648fe28b
RH
173892002-03-22 Richard Henderson <rth@redhat.com>
17390
17391 PR target/3177
17392 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
17393 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
17394 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
17395 (ia64_expand_prologue): Look at int_regs, not words, for number
17396 of incomming int regs.
17397
e8dcd824
AM
173982002-03-22 Andrew MacLeod <amacleod@redhat.com>
17399
17400 * expr.c (expand_expr): A RESULT_DECL is part of a call.
17401
96327cdc
JH
17402Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
17403
17404 * toplev.c (flag_loop_optimize, flag_crossjumping):
17405 New static variables.
17406 (rest_of_compilation): Conditionalize crossjumping and
17407 loop optimizer.
17408 (parse_options_and_default_flags): Default loop_optimize and
17409 crossjumping.
17410 (lang_independent_options): Add -fcrossjumping and -floop-optimize
17411 * invoke.texi (crossjumping, loop-optimize): Document.
17412
bc185257
RS
174132002-03-22 Richard Sandiford <rsandifo@redhat.com>
17414
17415 * real.c (eiisneg): Move outside #ifdef NANS.
17416
0a2ed1f1
JH
17417Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
17418
17419 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
17420 frequencies match; avoid match on different loop depths.
17421 (try_crossjump_to_bb): Kill tests that no longer brings time
17422 savings.
17423 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
17424 updating code.
17425 (split_edge): Likewise.
17426
17427 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
17428 variable.
17429
17430 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
17431 * cfgrtl.c: Include insn-config.h
17432 (split_block) Dirtify block in presence of conditional execution
17433
4d72536e
RS
174342002-03-22 Richard Sandiford <rsandifo@redhat.com>
17435
17436 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
17437 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
17438 (function_arg): Constify CUMULATIVE_ARGS.
17439 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
17440 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
17441 (UNITS_PER_DOUBLE): New macro.
17442 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
17443 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
17444 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
17445 fp_regs and stack_words.
17446 (EABI_FLOAT_VARARGS_P): New macro.
17447 * config/mips/mips.c (struct mips_arg_info): New.
17448 (mips_arg_info): New function.
17449 (function_arg_advance): Use it. Add adjustment instructions here
17450 rather than in function_arg.
17451 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
17452 for VOIDmode at the beginning of the function.
17453 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
17454 (function_arg_pass_by_reference): Likewise.
17455 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
17456 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
17457 (mips_va_start): Likewise. Use the new stack_words field of
17458 CUMULATIVE_ARGS to set up overflow area. Reformat.
17459 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
17460 doubles and other types, aligning the overflow pointer for non-doubles
17461 too. Remove some code duplication. Replace hard-coded constants.
17462
e6f884cd
RS
174632002-03-22 Richard Sandiford <rsandifo@redhat.com>
17464
17465 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
17466 (CLASS_UNITS): Undefine.
17467 (CLASS_MAX_NREGS): Use FP_INC.
17468 * config/mips/mips.c (compute_frame_size): Likewise.
17469 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
17470
10cf9bde
NB
174712002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
17472
17473 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
17474 prototype, and handle lexing numbers and identifiers.
17475 (parse_identifier): Update to new form of parse_slow.
17476 (parse_number): Fast path only, use parse_slow otherwise.
17477 (_cpp_lex_direct): Update calls to parse_number.
17478
fbc2782e
DD
174792002-03-21 DJ Delorie <dj@redhat.com>
17480
17481 * bb-reorder.c (make_reorder_chain_1): Protect against
17482 when redundant edges are omitted.
17483 * predict.c (dump_prediction): Likewise.
17484
fba39eaf
RH
174852002-03-21 Richard Henderson <rth@redhat.com>
17486
17487 PR target/5996
17488 * fixinc/inclhack.def (solaris_stdio_tag): New.
17489 * fixinc/fixincl.x: Regenerate.
17490
eba80994
EB
174912002-03-21 Eric Botcazou <ebotcazou@multimania.com>
17492
17493 PR c/5597
17494 * c-typeck.c (process_init_element): Flag non-static
17495 initialization of a flexible array member as illegal.
17496
2a78758b
AM
174972002-03-22 Alan Modra <amodra@bigpond.net.au>
17498
17499 * config/rs6000/t-linux64: New.
17500 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
17501 t-ppccomm. Use t-rs6000 and t-linux64.
17502 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
17503 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
17504 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
17505 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 17506
2cb921f4
AH
175072002-03-21 Aldy Hernandez <aldyh@redhat.com>
17508
eba80994
EB
17509 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
17510 flag_really_no_inline instead of optimize == 0.
2cb921f4 17511
eba80994 17512 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 17513
eba80994 17514 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 17515
eba80994 17516 * flags.h (flag_really_no_inline): New.
2cb921f4 17517
659e5a7a 17518 * c-common.c (c_common_post_options): Initialize
eba80994 17519 flag_really_no_inline.
2cb921f4 17520
eba80994 17521 * toplev.c (flag_really_no_inline): New.
2cb921f4 17522
239b8b9d
JJ
175232002-03-21 Jakub Jelinek <jakub@redhat.com>
17524
17525 * config/avr/avr.md (length): Fix length computation for
17526 conditional branches.
17527
43577e6b
NB
175282002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
17529
17530 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
17531 sdbout.o, profile.o): Update.
17532 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
17533 langhook.
17534 * c-common.h (gettags): Move here from tree.h.
17535 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
17536 insert_block, getdecls, kept_level_p, global_bindings_p): New.
17537 * dbxout.c (dbxout_init): Use getdecls langhook.
17538 * expr.c (expand_expr): Use insert_block langhook.
17539 * fold-const.c: Include langhooks.h.
17540 (fold_range_test, fold_binary_op_with_conditional_arg,
17541 fold): Use global_bindings_p langhook.
17542 * integrate.c (expand_inline_function): Use insert_block langhook.
17543 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
17544 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
17545 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
17546 LANG_HOOKS_GETDECLS): New.
17547 (LANG_HOOKS_INITIALIZER): Update.
17548 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
17549 langhook.
17550 * langhooks.h (struct lang_hooks_for_decls): New.
17551 (struct lang_hooks): Update.
17552 * profile.c: Include langhooks.h.
17553 (output_func_start_profiler): Use new langhooks.
17554 * sdbout.c: Include langhooks.h.
17555 (sdbout_init, sdbout_finish): Use getdecls langhook.
17556 * stmt.c: Include langhooks.h.
17557 (expand_fixup, fixup_gotos): Use new langhooks.
17558 * stor-layout.c: Include langhooks.h.
17559 (variable_size): Use global_bindings_p langhook.
17560 * toplev.c (compile_file): Use getdecls langhook.
17561 * tree-inline.c (remap_block): Use insert_block langhook.
17562 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
17563 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
17564
5b19b10c
RH
175652002-03-21 Richard Henderson <rth@redhat.com>
17566
17567 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
17568 constants in .data when -fpic.
17569
e05af335
GP
175702002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17571
17572 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
17573 where appropriate.
17574
60ffc997
TT
175752002-03-21 Tom Tromey <tromey@redhat.com>
17576
17577 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
17578
75897075
RK
17579Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17580
a73afd69 17581 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 17582
75897075
RK
17583 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
17584
312687cf
EB
175852002-03-21 Eric Botcazou <ebotcazou@multimania.com>
17586 Richard Henderson <rth@redhat.com>
17587
17588 PR c/5354
17589 * c-common.c (c_expand_expr): Preserve result of a statement
17590 expression if needed.
17591
f0e1f482
JJ
175922002-03-21 Jakub Jelinek <jakub@redhat.com>
17593
17594 PR bootstrap/4195
17595 * genrecog.c (maybe_both_true_mode): Remove.
17596 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
17597 * machmode.def (Pmode): Likewise.
17598
c14b9960
JW
17599Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
17600
17601 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
17602 (nonlocal_mentioned_p_1): New function.
17603 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
17604 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
17605 (mark_constant_function): Recognize pure functions.
17606 * rtl.h (global_reg_mentioned_p): New prototype.
17607 * rtlanal.c (global_reg_mentioned_p,
17608 global_reg_mentioned_p_1): New function.
17609
aaa4d130
RO
176102002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17611
17612 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
17613 UNIX assert.h.
17614 * fixinc/fixincl.x: Regenerate.
17615
e5c4bd1b
JM
176162002-03-20 Jason Merrill <jason@redhat.com>
17617
17618 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
17619
852b81bb
MM
176202002-03-20 Michael Meissner <meissner@redhat.com>
17621
17622 * doc/invoke.texi (Optimize Options): Document that -O2 sets
17623 -fstrict-aliasing.
17624
86d8c251
BW
176252002-03-20 Bob Wilson <bob.wilson@acm.org>
17626
17627 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
17628 ".literal_position" directive before the constant pool.
17629
0a39c350
GP
176302002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17631
17632 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
17633 Add Craig Rodrigues.
17634 Add Brad Lucier to testers.
17635
71a83373
JJ
176362002-03-20 Jakub Jelinek <jakub@redhat.com>
17637
17638 PR target/4792
17639 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
17640 to if_then_else.
17641 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
17642 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
17643 instead of insn_extract.
17644
a29b099d
JJ
176452002-03-20 Jakub Jelinek <jakub@redhat.com>
17646
17647 PR bootstrap/4192
71a83373 17648 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
17649
17650 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
17651 stmt if some case has been output.
17652
048b1c95
JJ
176532002-03-20 Jakub Jelinek <jakub@redhat.com>
17654
17655 PR c/5972
17656 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
17657 movsfcc_1, movdfcc_1): Add %O2.
17658 * config/i386/i386.c (print_operand): Handle %ON.
17659 Print . before float condition codes in Sun as cmov syntax.
17660 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
17661 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
17662 no longer true.
17663
f4864588
PB
176642002-03-20 Philip Blundell <pb@nexus.co.uk>
17665
17666 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
17667 return instruction if PC was popped.
17668
3a307de4
BW
176692002-03-20 Bob Wilson <bob.wilson@acm.org>
17670
17671 * config/xtensa/xtensa.md: Remove unused type attributes.
17672 (adddi_carry, subddi_carry): Change type attribute to "multi".
17673
048b1c95 176742002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
17675
17676 PR optimization/5999, middle-end/5731
17677 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
17678 multiplications by reciprocals.
17679
7afff7cf
NB
176802002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
17681
17682 * Makefile.in: Update.
17683 * c-common.c: Include langhooks.h.
17684 (inline_forbidden_p): Use new hook.
17685 * diagnostic.c: Include langhooks.h.
17686 (format_with_decl, announce_function,
17687 default_print_error_function): Use new hook.
17688 * dwarf2out.c (dwarf2_name): Use new hook.
17689 * function.c: Include langhooks.h.
17690 (init_function_start): Use new hook.
17691 * langhooks-def.h (lhd_decl_printable_name): New.
17692 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
17693 (LANGHOOKS_INITIALIZER): Update.
17694 * langhooks.c (lhd_decl_printable_name): New.
17695 * langhooks.h (struct lang_hooks): New hook.
17696 * toplev.c (decl_name, decl_printable_name): Remove.
17697 (open_dump_file): Use new hook.
17698 (process_options): Remove old hook.
17699 * tree.h (decl_printable_name): Remove.
17700objc:
17701 * objc-act.c (objc_init): Remove old hook.
17702 (objc_printable_name): Export.
17703 * objc-act.h (objc_printable_name): New.
17704 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
17705
f78ce0b7
JB
177062002-03-19 Jim Blandy <jimb@redhat.com>
17707
17708 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
17709 the start_source_file debug hook, not the current line number.
17710
15b5aef3
RH
177112002-03-19 Richard Henderson <rth@redhat.com>
17712
17713 * flow.c (EH_USES): Provide default.
17714 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
17715 * doc/tm.texi (EH_USES): New.
17716
17717 * config/ia64/ia64.c (ia64_eh_uses): New.
17718 * config/ia64/ia64-protos.h: Update.
17719 * config/ia64/ia64.h (EH_USES): New.
17720
02a7a3fd
RH
177212002-03-19 Richard Henderson <rth@redhat.com>
17722
17723 * varasm.c (output_constant_def): Fix stupid typo.
17724
93f82d60
RH
177252002-03-19 Richard Henderson <rth@redhat.com>
17726
2842be05 17727 PR 5879
93f82d60
RH
17728 * except.c (current_function_has_exception_handlers): New.
17729 * except.h: Declare it.
17730 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
17731 Combine tests that disable all sibcalls for the function.
17732
ed4fbfa0
OH
177332002-03-19 Olivier Hainque <hainque@act-europe.fr>
17734
17735 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
17736 for INTEGER_CST.
17737
ebf0e888
RH
177382002-03-19 Richard Henderson <rth@redhat.com>
17739
1e82682b 17740 PR 5977, 5991
ebf0e888
RH
17741 * config/ia64/ia64.c: Revert 2002-03-01 patch.
17742 * config/ia64/ia64.h (INIT_EXPANDERS): New.
17743
e37b38d7
JB
177442002-03-19 Jim Blandy <jimb@redhat.com>
17745
17746 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
17747 name, even if the replacement list contains no tokens, as required
17748 by Dwarf.
17749
2a4ea326
JM
177502002-03-19 Jason Merrill <jason@redhat.com>
17751
f9d09ae5
JM
17752 * varasm.c (globalize_decl): Get the name from the RTL, not
17753 DECL_ASSEMBLER_NAME.
17754
2a4ea326
JM
17755 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
17756
99b96edb
BW
177572002-03-19 Bob Wilson <bob.wilson@acm.org>
17758
17759 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
17760 subdi_carry): Define.
17761
3774b567
DE
177622002-03-19 David Edelsohn <edelsohn@gnu.org>
17763
17764 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
17765 about -fpic/-fPIC if extra_warnings set.
17766
21ef78aa
DE
177672002-03-19 David Edelsohn <edelsohn@gnu.org>
17768
17769 * expr.c (expand_expr): Sign-extend CONST_INT generated from
17770 TREE_STRING_POINTER.
0c2fdcdf 17771 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 17772
91d4b3fd
RK
17773Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17774
17775 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
17776 in favor of SP if FRAME_POINTER_REQUIRED is false.
17777
2496c7bd
LB
177782002-03-19 Lars Brinkhoff <lars@nocrew.org>
17779
17780 * emit-rtl.c (gen_int_mode): New function.
17781 * rtl.h: Prototype for it.
17782 * combine.c (make_extraction, simplify_comparison), expmed.c
17783 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
17784 (convert_modes, store_field), optabs.c (expand_fix),
17785 simplify-rtx.c (neg_const_int, simplify_unary_real),
17786
17787 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
17788 Use it instead of GEN_INT (trunc_int_for_mode (...)).
17789
f735a153
JJ
177902002-03-19 Jakub Jelinek <jakub@redhat.com>
17791
17792 PR c/5656
17793 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
17794 convert_parm_for_inlining.
17795 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
17796 Define.
17797 * langhooks-def.h: Likewise.
17798 * objc/objc-lang.c: Likewise.
17799 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
17800 function.
17801 * tree-inline.c (initialize_inlined_parameters):
17802 Call convert_parm_for_inlining lang hook if needed.
17803 * c-typeck.c (c_convert_parm_for_inlining): New function.
17804 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
17805
1929c971
MM
178062002-03-18 Mark Mitchell <mark@codesourcery.com>
17807
b216cd4a 17808 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
17809 can be destroyed after expanding the argument.
17810 (expand_call): Likewise.
17811
c79ca0ac
EC
178122002-03-15 Eric Christopher <echristo@redhat.com>
17813
17814 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
17815 Fix register preference on last change.
17816 * config/mips/mips.c (mips_return_in_memory): New function.
17817 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
17818 * config/mips/mips-protos.h: Declare.
17819 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
17820 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
17821
07e2e444
AO
178222002-03-18 Alexandre Oliva <aoliva@redhat.com>
17823
1bfbbbcf
AO
17824 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
17825 a register too.
17826 (anddi3, iorsi3): Likewise.
17827
c066429e
AO
17828 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
17829 use %gprel for symbols that are going to be placed in linkonce
17830 sections.
17831
07e2e444
AO
17832 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
17833 RETURN_ADDRESS_POINTER_REGNUM to $ra.
17834 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
17835 not needed. Disregard leaf_function_p().
17836 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
17837 mips16 frame pointer.
17838 * config/mips/mips.md (store ra): Only to small SP offsets.
17839 2001-08-22 Graham Stott <grahams@redhat.com>
17840 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
17841 return a REG rtx for the return address register.
17842
eb8e00ea
BW
178432002-03-18 Bob Wilson <bob.wilson@acm.org>
17844
17845 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
17846 constant-pool addresses as "mode-dependent".
17847 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
17848
cbb92744
JJ
178492002-03-18 Jakub Jelinek <jakub@redhat.com>
17850
17851 PR target/5740
17852 * expr.c (emit_group_load): Use extract_bit_field if
17853 needed for CONCAT arguments.
17854
657d9449
RE
178552002-03-18 Richard Earnshaw <rearnsha@arm.com>
17856
91f3a802 17857 PR target/4863
657d9449
RE
17858 * arm.md (tablejump): Make this a define_expand. For PIC add the
17859 offset to the base of the table.
17860 (thumb_tablejump): Matcher for Thumb tablejump insn.
17861 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
17862 as the difference of two labels.
17863 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
17864 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
17865 tables in the code.
17866 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
17867 * arm.c (get_jump_table_size): If the table is not in the text
17868 section, return zero.
c79ca0ac 17869
5d5603e2
BS
178702002-03-18 Bernd Schmidt <bernds@redhat.com>
17871
17872 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
17873 of gen_rtx_SUBREG.
17874 (arm_reload_out_hi): Use gen_lowpart instead of
17875 gen_rtx_SUBREG to access QImode components.
17876 * config/arm/arm.md: Disable zero_extend split for QImode
17877 subregs in BIG_ENDIAN mode.
17878 (storehi_bigend): Match use of least significant byte.
17879 (storeinthi): Remove extraneous SUBREG.
66c17b64 17880 Add missing construction of operands[2].
5d5603e2
BS
17881 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
17882 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
17883 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
17884
df15fbc7
AH
178852002-03-18 Aldy Hernandez <aldyh@redhat.com>
17886
2496c7bd
LB
17887 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
17888 any_operand.
df15fbc7 17889
b83b7fa3
RH
178902002-03-17 Richard Henderson <rth@redhat.com>
17891
17892 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
17893 explicitly.
17894
6f7c00fe
HPN
178952002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
17896
17897 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
17898 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
17899
155038f2
KG
179002002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17901
720d42fa
KG
17902 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
17903
155038f2
KG
17904 * predict.c (estimate_bb_frequencies): Delete unused variables.
17905
e6542f4e
RH
179062002-03-17 Richard Henderson <rth@redhat.com>
17907
17908 * config/ia64/ia64.c (ia64_attribute_table): Move before
17909 targetm definition. Make static.
17910
52dabb6c
NB
179112002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
17912
17913 * c-common.h (yyparse, c_common_parse_file): New.
17914 * c-lang.c: Include c-common.h.
17915 (LANG_HOOKS_PARSE_FILE): Redefine.
17916 * c-lex.c: Include c-common.h.
17917 (yyparse): Rename c_common_parse_file. Call yyparse.
17918 * c-parse.in (yyparse): Remove macro.
17919 * c-tree.h (yyparse_1): Remove.
17920 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
17921 (LANG_HOOKS_INITIALIZER): Update.
17922 * langhooks.h (struct lang_hoooks): New hook parse_file.
17923 * toplev.c (compile_file): Use parse_file hook.
17924 * tree.h (yyparse): Remove.
e6542f4e 17925 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 17926
b5ffe606
HPN
179272002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
17928
ba82f58b
HPN
17929 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
17930 float_truncate, not fix.
17931 ("*truncdfsf2_real"): Ditto.
17932 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
17933
b5ffe606
HPN
17934 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
17935
c8d1b2b7
AO
179362002-03-16 Alexandre Oliva <aoliva@redhat.com>
17937
cfb773f9
AO
17938 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
17939 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
17940 where appropriate. Make the second reference to
17941 leaf_function_p a function call, as intended. Reindented.
17942
4dffef52
AO
17943 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
17944 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
17945
4f5bd6d7
AO
17946 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
17947 add register to non-constant into sp.
17948
c8d1b2b7
AO
17949 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
17950 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
17951 (mips16_gp_pseudo_rtx): Lose.
17952 (INIT_EXPANDERS): Deleted.
17953 * config/mips/mips.c (mips_init_machine_status): New.
17954 (mips_free_machine_status): New.
17955 (mips_mark_machine_status): New.
17956 (override_options): Set them.
17957 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
17958 (struct machine_function): ... new. Replaced all references.
17959 (mips_add_gc_roots): Don't mark them.
17960 (embedded_pic_fnaddr_reg): New, extracted from...
17961 (embedded_pic_offset): ... here.
17962 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
17963 (movsi): Likewise.
17964
b3124fac
NB
179652002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
17966
17967 * cppinit.c: Revert -MD removal.
17968
121449b6
SC
179692002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17970
17971 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
17972 soft registers by default for 68HC12.
17973 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
17974 when compiling with -fomit-frame-pointer.
17975 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
17976 (expand_epilogue): Likewise.
17977 (m68hc11_gen_rotate): Use exg when rotating by 8.
17978
840e2ff1
SC
179792002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17980
17981 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
17982 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
17983 (splits): Remove unused add splits.
17984 ("*addhi3_68hc12"): Tune constraints.
17985 ("addhi_sp"): Try to use X instead of Y in all cases and if the
17986 constant fits in 8-bits and D is dead use abx/aby instructions.
17987 ("*addhi3"): Remove extern declaration of ix_reg.
17988 ("*subsi3"): Optimize and provide new split.
17989 ("subhi3"): Cleanup.
17990 ("*subhi3_sp"): Avoid saving X if we know it is dead.
17991 (arith splits): For 68hc12 save the address register on the stack
17992 and do the arithmetic operation with a pop.
17993
3c9a5efe
SC
179942002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17995
17996 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
17997 allocating QImode in address registers.
17998 ("*movqi_m68hc11"): Likewise.
17999
e41f3392
JH
18000Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
18001
18002 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
18003
576786b0
NB
180042002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
18005
18006 * cppinit.c (print_help): Display -MD and -MMD.
18007 Don't display usage string. Update assertion syntax and
18008 typo.
18009 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
18010 (cpp_handle_option): Update.
18011
1ac458d4
CD
180122002-03-15 Chris Demetriou <cgd@broadcom.com>
18013
18014 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
18015 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
18016 and define it so that regardless of target CPU size,
18017 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
18018 of "int" rather than "long."
18019
1fcd592b
RH
180202002-03-15 Richard Henderson <rth@redhat.com>
18021
18022 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
18023 size as a tree.
18024
a0df6910
SC
180252002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18026
18027 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
18028 ("tstqi" split): Avoid using memory for tstqi on address register.
18029 (splits): Remove constraints.
18030 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
18031 ("cmpdf", "cmpsf"): Remove since not used.
18032 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
18033 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
18034
015a2e59
SC
180352002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18036
18037 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
18038 ("neghi2"): Tighten constraints.
18039 ("one_cmplsi2"): Optimize and simplify split.
18040 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
18041
cd28557c
SC
180422002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18043
18044 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
18045 and split of AND operation to clear the upper bits.
18046 ("*logicalsi3_zextqi"): Likewise.
18047 ("*logicallhi3_zexthi_ashift8"): Likewise.
18048 ("*logicalsi3_silshr16"): Likewise.
18049 ("logicalsi3_silshl16"): Likewise.
18050 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
18051
932657df
SC
180522002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18053
18054 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
18055 (m68hc11_indirect_p): New function.
18056 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
18057 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
18058 TARGET_M6812.
18059 (asm_print_register): Likewise.
18060 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
18061 (m68hc11_indirect_p): Declare.
18062 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
18063 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
18064 (TARGET_SWITCHES): New option -mrelax.
18065 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
18066 destination.
18067 ("iorsi3", "xorsi3"): Likewise.
18068 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
18069 ("*andhi3_mem"): New to handle destination in memory with bclr
18070 and a scratch register.
18071 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
18072 ("*andhi3_const"): New when operand2 is constant.
18073 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
18074 ("*andhi3_gen"): Cleanup of the old "andhi3".
18075 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
18076 ("xorqi3"): Update constraints.
18077
fdffea1a
SC
180782002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18079
18080 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
18081 for reg_equiv_memory_loc when the operand is a register that does
18082 not get a hard register (stack location).
18083 (tst_operand): After reload, accept all memory operand.
18084 (symbolic_memory_operand): Fix detection of symbolic references.
18085 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
18086 accept symbols and any constant.
18087
6272bc68
SC
180882002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18089
18090 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
18091 note on the insn that sets the soft frame register.
18092 (must_parenthesize): ix and iy are also reserved names.
18093 (print_operand_address): One more place where parenthesis are required
18094 to avoid confusion with register names.
18095 (m68hc11_gen_movhi): Allow push of stack pointer.
18096 (m68hc11_check_z_replacement): Fix handling of parallel with a
18097 clobber.
18098 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
18099 the replacement register is.
18100 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
18101 and D8_REGS classes.
18102 (MODES_TIEABLE_P): All modes are tieable except QImode.
18103
1d2d9def
SC
181042002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18105
18106 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
18107 (___subdi3): Likewise.
18108 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
18109 (__map_data_section): Optimize 68hc11 case.
18110
a0ccf503
SC
181112002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18112
18113 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
18114 than a shift to avoid adding a register with itself.
18115 (m68hc11_memory_move_cost): Take into account NO_REGS.
18116 (m68hc11_register_move_cost): Update and use memory move cost
18117 for soft registers.
18118 (m68hc11_address_cost): Make cost of valid offset not 0 so that
18119 it gives more opportunities to cse to optimize.
18120 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
18121 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
18122
6e4ae815
MM
181232002-03-15 Mark Mitchell <mark@codesourcery.com>
18124
18125 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
18126 * c-common.def (CLEANUP_STMT): New tree node.
18127 * c-common.h (CLEANUP_DECL): New macro.
18128 (CLEANUP_EXPR): Likewise.
18129 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
18130 * expr.c (expand_expr): Tidy.
18131 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
18132 * tree-inline.c (initialize_inlined_parameters): Clean up
18133 new local variables.
18134
a42519be
JJ
181352002-03-15 Jakub Jelinek <jakub@redhat.com>
18136
18137 PR bootstrap/4128
18138 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
18139 before movrXX only, use reg_overlap_mentioned_p.
18140 Only special case NE if just one insn can be generated.
18141
15409448
JM
181422002-03-15 Jason Merrill <jason@redhat.com>
18143
18144 * varasm.c (assemble_variable): Call resolve_unique_section before
18145 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
18146 of error_mark_node.
18147
3a4edb44
RE
181482002-03-15 Richard Earnshaw <rearnsha@arm.com>
18149
18150 PR target/5170
18151 * arm.md (split pattern for thumb shiftable immediates): Add comment
18152 explaining non-obvious test.
18153
32defa36
RE
181542002-03-15 Richard Earnshaw <rearnsha@arm.com>
18155
18156 PR target/5712
18157 * arm.md (movaddr, movaddr_insn): Delete.
18158
5cc90635
JM
181592002-03-15 Jason Merrill <jason@redhat.com>
18160
18161 * toplev.c (wrapup_global_declarations): Clarify variable handling.
18162 -fkeep-static-consts doesn't apply to comdats.
18163
ecb0eece
RH
181642002-03-14 Richard Henderson <rth@redhat.com>
18165
18166 * c-decl.c: Include c-pragma.h.
18167 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
18168 (finish_function): Tidy.
18169 * c-pragma.c: Include c-common.h.
18170 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
18171 (handle_pragma_weak): Use them.
18172 (init_pragma): Register pending_weaks.
18173 * c-pragma.h (maybe_apply_pragma_weak): Declare.
18174 * print-tree.c (print_node): Print DECL_WEAK.
18175 * varasm.c (mark_weak_decls): Remove.
18176 (remove_from_pending_weak_list): Remove.
18177 (add_weak): Remove.
18178 (asm_emit_uninitialised): Call globalize_decl for weak commons.
18179 (weak_decls): Make a tree_list.
18180 (declare_weak): Cons weak_decls directly.
18181 (globalize_decl): Remove weak_decls elements directly.
18182 (weak_finish): Simplify weak_decls walk. Don't weaken unused
18183 symbols. Don't pretend to handle aliases.
18184 (init_varasm_once): Update weak_decls registry.
18185 * Makefile.in: Update dependencies.
18186
98d2b17e
RH
181872002-03-14 Richard Henderson <rth@redhat.com>
18188
18189 PR target/5312
18190 * config/ia64/ia64.c: Include tm_p.h last.
18191 (gen_nop_type): Remove duplicate definition.
18192 (cycle_end_fill_slots): Set sched_data for second L slot.
18193 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
18194 (nop_cycles_until): Fix typos.
18195
f2f4927e
JJ
181962002-03-15 Jakub Jelinek <jakub@redhat.com>
18197
18198 PR optimization/5891
18199 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
18200
5025a549
DM
182012002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
18202
18203 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
18204 descriptors correctly.
18205
03e9dbc9
MM
182062002-03-14 Michael Meissner <meissner@redhat.com>
18207
18208 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
18209 100, allowing MAX_UNROLLED_INSNS to be overridden.
18210
18211 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
18212 --param.
18213
18214 * unroll.c (params.h): Include.
18215 (MAX_UNROLLED_INSNS): Delete, now in params.h.
18216
18217 * doc/invoke.texi (--param max-unroll-insns): Document.
18218
18219 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
18220
12249385
RE
182212002-03-14 Richard Earnshaw <rearnsha@arm.com>
18222
18223 * arm.md: Fix warnings about constraints in peepholes and splits.
18224
f0cce04a
ZW
182252002-03-14 Zack Weinberg <zack@codesourcery.com>
18226
18227 * cpphash.h (struct lexer_state): Remove line_extension member.
18228 * cpplib.c (dequote_string, do_linemarker): New functions.
18229 (linemarker_dir): New data object.
18230 (DIRECTIVE_TABLE): No longer need to interpret #line in
18231 preprocessed source. Delete obsolete comment about return
18232 values of handlers.
18233 (end_directive, directive_diagnostics, _cpp_handle_directive):
18234 Don't muck with line_extension.
18235 (directive_diagnostics): No need to issue warnings for
18236 linemarkers here.
18237 (_cpp_handle_directive): Issue warnings for linemarkers here,
18238 when appropriate. Dispatch linemarkers to do_linemarker, not
18239 do_line.
18240 (do_line): Code to handle linemarkers split out to do_linemarker.
18241 Convert escape sequences in filename argument, both places.
18242
18243 * cppmacro.c (quote_string): Rename cpp_quote_string and
18244 export. All callers changed.
18245 * cpplib.h (cpp_quote_string): Prototype.
18246 * cppmain.c (print_line): Call cpp_quote_string on to_file
18247 before printing it.
18248
18249 * doc/cpp.texi: Document that escapes are now interpreted in
18250 #line and in linemarkers, and that non-printing characters are
18251 converted to octal escapes when linemarkers are generated.
18252
18253Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
18254
18255 * emit-rtl.c (try_split): Use delete_insns.
18256 * recog.c (split_all_insns): Fix terminating condition.
18257
c882c7ac
RE
182582002-03-14 Richard Earnshaw <rearnsha@arm.com>
18259 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18260
18261 PR target/5828
18262 * arm.c (arm_output_epilogue): Fix floating-point register save
18263 adjustment when using a frame pointer.
18264
3f26edaa
RS
182652002-03-14 Richard Sandiford <rsandifo@redhat.com>
18266
18267 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
18268 * config/mips/mips.c (compute_frame_size): Retrofit them here.
18269 (save_restore_insns, mips_expand_epilogue): And here.
18270 (build_mips16_call_stub): And here.
18271 (mips_function_value): Use the new macros to decide whether a single
18272 or complex float can be returned in floating-point registers. Return
18273 a parallel rtx in the complex case.
18274
1e3881c2
JH
18275Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
18276
18277 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
18278 call after liveness analysis.
18279
18280 * recog.c (split_insn): Use delete_insn_and_edges.
18281
18282 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
18283 instructions to have branch prediction notes.
18284 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
18285
200ef634
GK
182862002-03-14 Geoffrey Keating <geoffk@redhat.com>
18287
18288 * configure.in: Don't pass -Wno-long-long to a ADA compiler
18289 that doesn't support it.
18290 * configure: Regenerate.
18291
0b82d204
JJ
182922002-03-13 Jakub Jelinek <jakub@redhat.com>
18293
18294 PR target/5626
18295 * config/sparc/sparc.md (normal_branch, inverted_branch,
18296 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
18297 inverted_fp_branch): Adjust calls to output_cbranch.
18298 Set length attribute.
18299 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
18300 output_v9branch. Set length attribute.
18301 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
18302 predicates.
18303 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
18304 (output_cbranch): Likewise. Handle far branches.
18305 (output_v9branch): Handle far branches.
18306 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
18307 Adjust prototypes.
18308 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
18309 noov_compare64_op predicates.
18310
7a8de19b
JM
183112002-03-13 Jason Merrill <jason@redhat.com>
18312
18313 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
18314 into the function and constify it.
18315 * gthr-dce.h, gthr-solaris.h: Likewise.
18316
2a55fd42
DE
183172002-03-13 David Edelsohn <edelsohn@gnu.org>
18318
18319 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
18320 * config/rs6000/rs6000.c (rs6000_va_arg): Use
18321 std_expand_builtin_va_arg if not ABI_V4.
18322
19c5b1cf
JM
183232002-03-13 Jason Merrill <jason@redhat.com>
18324
18325 * varasm.c (globalize_decl): New fn.
18326 (assemble_start_function): Use it.
18327 (asm_emit_uninitialized): Use it.
18328 (assemble_alias): Use it.
18329 (assemble_variable): Use it.
18330
2a15f5e1
HPN
183312002-03-13 Hans-Peter Nilsson <hp@axis.com>
18332
18333 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 18334 2002-03-12 internal visibility change.
2a15f5e1
HPN
18335 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
18336 visibility into SYMBOL_REF_FLAG.
18337
c0a3eeac
UW
183382002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
18339
18340 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
18341 VOIDmode operand. Add compile-time optimization for constant results.
18342
a1652cee
JM
183432002-03-12 Jason Merrill <jason@redhat.com>
18344
18345 * c-typeck.c (convert_for_assignment): Don't allow conversions
18346 between pointers and references. Only allow lvalues to convert to
18347 reference.
18348
c52a375d
HP
183492002-03-13 Hartmut Penner <hpenner@de.ibm.com>
18350
f0cce04a
ZW
18351 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
18352 before prologue, to avoid scheduling problems.
c52a375d 18353
e387e99b
JJ
183542002-03-13 Jakub Jelinek <jakub@redhat.com>
18355
18356 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
18357 (ELIMINABLE_REGS): Add sfp->sp.
18358 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
18359
183602002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
18361
18362 PR optimization/5892
18363 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
18364
4061c1a3
JJ
183652002-03-13 Jakub Jelinek <jakub@redhat.com>
18366
18367 * loop.c (basic_induction_var): Don't call convert_modes if mode
18368 classes are different.
18369
5b43fed1
RH
183702002-03-12 Richard Henderson <rth@redhat.com>
18371
9f53e965
RH
18372 PR optimization/5901
18373 * function.c (reposition_prologue_and_epilogue_notes): Position
18374 the markers after/before the last/first insn not deleted.
18375
183762002-03-12 Richard Henderson <rth@redhat.com>
18377
18378 PR optimization/5878
5b43fed1
RH
18379 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
18380 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
18381 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
18382
18383 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
18384 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
18385 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
18386
18387 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
18388 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
18389 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
18390 also. Don't set it if not flag_pic.
18391 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
18392 to be INVALID_REGNUM when not used.
18393
4e9bb42b
AH
183942002-03-13 Aldy Hernandez <aldyh@redhat.com>
18395
5b43fed1
RH
18396 * expmed.c (store_bit_field): Reset alias set for memory.
18397 (extract_bit_field): Same.
4e9bb42b 18398
2f9834e8
KG
183992002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18400
18401 * c-common.c (c_tree_code_type, c_tree_code_length,
18402 c_tree_code_name, add_c_tree_codes): Delete.
18403 * c-common.h (add_c_tree_codes): Delete.
18404 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
18405 Define.
18406 * c-objc-common.c (c_objc_common_init): Don't call
18407 add_c_tree_codes, instead set lang_unsafe_for_reeval.
18408 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
18409 objc_tree_code_name, add_objc_tree_codes): Delete.
18410 (objc_init): Don't call add_objc_tree_codes.
18411 * objc/objc-lang.c (tree_code_type, tree_code_length,
18412 tree_code_name): Define.
18413 * toplev.c (lang_independent_init): Don't set
18414 tree_code_length[IDENTIFIER_NODE].
18415 * tree.c (tree_code_type, tree_code_length, tree_code_name):
18416 Delete definitions, moved to language front-ends.
18417 * tree.def (IDENTIFIER_NODE): Hardwire the length.
18418 * tree.h (tree_code_type, tree_code_length, tree_code_name):
18419 Const-ify.
18420 (tree_code_length): Change type to unsigned char.
18421
36ad2436
RH
184222002-03-12 Richard Henderson <rth@redhat.com>
18423
18424 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
18425 internal visibility change.
18426
0ae02efa
BW
184272002-03-12 Bob Wilson <bob.wilson@acm.org>
18428
18429 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
18430 validize_mem() instead of change_address to avoid clobbering
18431 memory attributes.
18432
35bb2bee
NB
184332002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
18434
18435 * c-lex.h (position_after_whitespace): Remove.
18436
62ae2529
JJ
184372002-03-12 Jakub Jelinek <jakub@redhat.com>
18438
18439 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
18440 (lex_string): Use unsigned char pointers.
18441
6a45951f
UW
184422002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
18443
18444 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
18445 is not a valid memory_operand.
18446
e2fb85da
BW
184472002-03-12 Bob Wilson <bob.wilson@acm.org>
18448
18449 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
18450 * config/xtensa/lib1funcs.asm: Fix copyright to include
18451 special case for libgcc files.
18452 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
18453 (__divsi3): Likewise.
18454 (__umodsi3): Likewise.
18455 (__modsi3): Likewise.
18456 * config/xtensa/lib2funcs.S: Fix copyright to include
18457 special case for libgcc files.
18458
5b8619f8
TR
184592002-03-12 Tom Rix <trix@redhat.com>
18460
18461 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 18462 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
18463 (ignore_library): Same.
18464
089c8f97
BW
184652002-03-12 Bob Wilson <bob.wilson@acm.org>
18466
18467 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
18468
958c70ff
BW
184692002-03-12 Bob Wilson <bob.wilson@acm.org>
18470
18471 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
18472 to function_section before writing out the constant pool.
18473
a65c591c
DE
184742002-03-12 David Edelsohn <edelsohn@gnu.org>
18475
18476 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
18477 zero_constant.
18478 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
18479
184802002-03-12 Alan Modra <amodra@bigpond.net.au>
18481
18482 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
18483 (adddi3): Likewise.
18484 (movdf): Likewise.
18485 (movdi): Likewise.
18486 (cmpsi splitter): Likewise.
18487 (modsi3): Fail if <= 0.
18488 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
18489 redundant test when HOST_BITS_PER_WIDE_INT != 32.
18490 (reg_or_sub_cint64_operand): Likewise.
18491 (num_insns_constant_wide): Optimize sign extension.
18492 (rs6000_legitimize_address): Likewise.
18493
17720332
AM
184942002-03-12 Andrew MacLeod <amacleod@redhat.com>
18495
18496 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
18497 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
18498
cd49f073
AM
184992002-03-12 Andrew MacLeod <amacleod@redhat.com>
18500
18501 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
18502 address calculation.
18503
6a4e49c1
UW
185042002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
18505
18506 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
18507 scratch register to DImode / TImode.
18508 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
18509 register used does not overlap the target.
18510
54b6670a
KG
185112002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18512
18513 * Makefile.in (debug.o): Depend on debug.h.
18514 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
18515 * debug.c (do_nothing_debug_hooks): Likewise.
18516 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
18517 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
18518 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
18519 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
18520 * dwarfout.c (dwarf_debug_hooks): Likewise.
18521 * integrate.c (output_inline_function): Likewise.
18522 * objc/objc-act.c (synth_module_prologue): Likewise.
18523 * sdbout.c (sdb_debug_hooks): Likewise.
18524 * toplev.c (debug_hooks): Likewise.
18525 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
18526
2465bf76
KG
185272002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18528
18529 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
18530 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
18531 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
18532 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
18533 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
18534 * defaults.h (POINTER_SIZE): Define.
18535 * doc/tm.texi (POINTER_SIZE): Document default.
18536
53f3e9ca
KG
185372002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18538
18539 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
18540
44d3eb5b
RH
185412002-03-11 Richard Henderson <rth@redhat.com>
18542
18543 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
18544 if rebuild_label_notes_after_reload.
18545
4a085d2e
HPN
185462002-03-12 Hans-Peter Nilsson <hp@axis.com>
18547
18548 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
18549 emit pic register load if "internal" visibility.
18550 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
18551 (cris_expand_builtin_va_arg): Do all computations on trees.
18552
bc204393
RH
185532002-03-11 Richard Henderson <rth@redhat.com>
18554
18555 * rtlanal.c: Include recog.h.
18556 (keep_with_call_p): Fix thinko.
18557 * Makefile.in (rtlanal.o): Update dependencies.
18558
6b8b9d7b
CM
185592002-03-11 Chris Meyer <cmeyer@gatan.com>
18560
18561 * genflags.c (gen_insn): Use IS_VSPACE.
18562 * genoutput.c (output_insn_data): Likewise.
18563 (process_template): Likewise.
18564
6c40858f
RH
185652002-03-11 Richard Henderson <rth@redhat.com>
18566
18567 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
18568
40adaa27
NB
185692002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
18570
18571 * Makefile.in: Update.
6c40858f 18572 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 18573 Update documentation.
6c40858f
RH
18574 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
18575 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 18576
049b03f4
ZW
185772002-03-11 Zack Weinberg <zack@codesourcery.com>
18578
18579 * Makefile.in: Give texi2pod its input file as a command line
18580 argument, not on stdin.
18581
61eece67
DN
185822002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
18583 Daniel Berlin <dan@dberlin.org>
18584
18585 C++ alias analysis improvement.
f0cce04a 18586 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
18587 classes too.
18588
a65c591c
DE
185892002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
18590
ff080aba
UW
18591 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
18592
1682dbb1
DR
185932002-03-11 Douglas B Rupp <rupp@gnat.com>
18594
fa2d765a
DR
18595 * toplev.c (vms_fopen): Remove, not needed.
18596
6f1fd286
DR
18597 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
18598
b230e057
DR
18599 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
18600
cb9a8e97
DR
18601 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
18602 for FP, already done later.
18603
1682dbb1
DR
18604 * toplev.c (debug_args): Add entry for VMS_DEBUG.
18605 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
18606
3fcaac1d
RS
186072002-03-11 Richard Sandiford <rsandifo@redhat.com>
18608
18609 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
18610 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
18611 LARGEST_EXPONENT_IS_NORMAL for the given mode.
18612 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
18613 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
18614 (ediv, emul, eldexp, esqrt): Likewise.
18615 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
18616 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
18617 (saturate): New function.
18618 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
18619 (make_nan): Use a saturation value instead of a NaN if
18620 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
18621 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
18622 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
18623 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
18624 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
18625 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
18626 !ROUND_TOWARDS_ZERO.
18627 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
18628 (ROUND_TOWARDS_ZERO): Document.
18629
d25558be
AJ
186302002-03-11 Andreas Jaeger <aj@suse.de>
18631
18632 * cfg.c (dump_flow_info): Remove unused variable.
18633
c71f9ae7
HPN
186342002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
18635
18636 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
18637 computations on trees.
18638
561c9153
RH
186392002-03-10 Richard Henderson <rth@redhat.com>
18640
932b4e3e 18641 PR 5693:
561c9153
RH
18642 * reload.c (copy_replacements_1): New.
18643 (copy_replacements): Use it to recurse through the rtx.
18644
26b738be
RH
186452002-03-10 Richard Henderson <rth@redhat.com>
18646
18647 * loop.c (strength_reduce): Compute number of iterations as
18648 unsigned HOST_WIDE_INT.
18649
8d8a083e
RH
186502002-03-10 Richard Henderson <rth@redhat.com>
18651
18652 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
18653 to move away from the end of the block.
18654
32810ba3
NB
186552002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
18656
18657 PR preprocessor/5899
18658 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 18659
2b03d201
KG
186602002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18661
f90c544c
KG
18662 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
18663
2b03d201
KG
18664 * attribs.c (decl_attributes): Fix signed/unsigned warning.
18665
3ec1b4cb
HPN
186662002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
18667
18668 * config/mmix/mmix.c: Improve comments.
18669 (mmix_target_asm_function_prologue): Drop variable
18670 empty_stack_frame. Don't allocate unused slot above fp.
18671 (mmix_target_asm_function_epilogue): Mirror prologue changes.
18672 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
18673 brace in first column.
18674 (enum reg_class): Ditto.
18675 (FIRST_PARM_OFFSET): Now 0.
18676 (USER_LABEL_PREFIX): Remove #if 0:d definition.
18677
27e486c5
KG
186782002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18679
18680 * combine.c (make_extraction): Fix error in last change.
18681
0139adca
KG
186822002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18683
18684 * c4x.c (c4x_fp_reglist): Const-ify.
18685 * cris.c (cris_print_operand): Likewise.
18686 * i386.c (ix86_va_arg): Likewise.
18687 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
18688 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
18689 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
18690 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
18691 * mcore.h (regno_reg_class): Likewise.
18692 * mips.c (gen_int_relational): Likewise.
18693 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
18694 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 18695 * pdp11.c (move_costs): Likewise.
0139adca
KG
18696 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
18697 * s390.c (s390_branch_condition_mnemonic, regclass_map):
18698 Likewise.
18699 * s390.h (regclass_map): Likewise.
18700 * sh.c (shift_amounts): Likewise.
a4334c36 18701 * sh.md (rotlsi3): Likewise.
0139adca 18702
889b90a1
GK
187032002-03-09 Geoffrey Keating <geoffk@redhat.com>
18704
18705 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
18706 (ne0+5): Use new clobber to generate proper shift pattern.
18707 Patch by Michael Matz <matz@kde.org>.
18708
2877e0ae
AS
187092002-03-09 Andreas Schwab <schwab@suse.de>
18710
18711 * gcc.c (validate_all_switches): Also handle `%W{...}'.
18712
79b51cd7
GK
187132002-03-09 Geoffrey Keating <geoffk@redhat.com>
18714
18715 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
18716
e0f1be5c
JJ
187172002-03-09 Jakub Jelinek <jakub@redhat.com>
18718
18719 PR middle-end/5877
18720 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
18721 even for non-representable constants.
18722
0a7ec763
RK
18723Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18724
93fe8e92
RK
18725 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
18726 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
18727 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
18728 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
18729 (pop_function_context): Compute MAY_SHARE parameter for
18730 fixup_var_refs.
18731 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
18732 (gen_mem_addressof): Call fixup_var_refs with new parm.
18733
0a7ec763
RK
18734 * combine.c (make_extraction): Don't make extension of CONST_INT.
18735
a85cd407
AO
187362002-03-09 Alexandre Oliva <aoliva@redhat.com>
18737
9445b814
AO
18738 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
18739 in o32 and o64 ABIs.
18740 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
18741 but getting fixed-size structs passed in registers regardless of
18742 padding in o32 and o64 ABIs.
18743
a85cd407
AO
18744 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
18745 offset before loading address of argument passed by transparent
18746 reference.
18747
c51fbe40
JDA
187482002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
18749
18750 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
18751
918e70dd
AO
187522002-03-09 Alexandre Oliva <aoliva@redhat.com>
18753
18754 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
18755 marker such that registers after it are saved.
18756
3070dd00
KG
187572002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18758
18759 * sparc.c (arith_4096_operand): Fix error in last change.
18760
e25d11b0
AO
187612002-03-08 Alexandre Oliva <aoliva@redhat.com>
18762
18763 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
18764 defaults for MEABI.
18765
41daaf0e
AH
187662002-03-08 Aldy Hernandez <aldyh@redhat.com>
18767
5b43fed1
RH
18768 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
18769 vectors.
41daaf0e 18770
fa139b00
AH
187712002-03-08 Aldy Hernandez <aldyh@redhat.com>
18772
5b43fed1 18773 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 18774
c51d95ec
JH
18775Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
18776
18777 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
18778 removed; fix return value.
18779 * combine.c (combine_instructions): Dirtify blocks where we failed to
18780 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
18781 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
18782
3b25fbfe
KG
187832002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18784
18785 * gcse.c (insert_insn_end_bb): Fix typo in last change.
18786
189ae0f4
JH
18787Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
18788
18789 * recog.c (peephole2_optimize): Re-distribute EH edges.
18790
24965e7a
NB
187912002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
18792
18793 * expr.c (expand_expr): Use unsave lang hook.
18794 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
18795 (LANG_HOOKS_INITIALIZER): Update.
18796 * langhooks.h (struct lang_hooks): New hook unsave.
18797 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
18798 (unsave_expr_1): Remove unused lang_unsave_expr_now.
18799 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
18800 (unsave_expr_now): Remove.
18801 * tree.h (unsave_expr_now, lang_unsave,
18802 lang_unsave_expr_now): Remove.
18803 (lhd_unsave): New.
18804
1e4e95d6
AJ
188052002-03-08 Andreas Jaeger <aj@suse.de>
18806
18807 * flow.c (propagate_block_delete_insn): Remove unused variable.
18808
054ef905
KH
188092002-03-08 Kazu Hirata <kazu@hxi.com>
18810
18811 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
18812 insn length for memory load/store.
18813
5304400d 188142002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 18815
5304400d
CR
18816 * doc/install.texi (--with-libiconv-prefix): Document.
18817
81034129
MB
188182002-03-08 Michael Y. Brukman <myb2@cornell.edu>
18819
18820 * doc/sourcebuild.texi: Fix typo.
18821
71db7d03
JJ
188222002-03-08 Jakub Jelinek <jakub@redhat.com>
18823
18824 PR c/3711
18825 * builtins.c (std_expand_builtin_va_arg): Do all computations on
18826 trees.
18827
127c1ba5
RK
18828Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18829
18830 * rtl.c (copy_most_rtx): Move from here ...
18831 * emit-rtl.c (copy_most_rtx): ... to here.
18832
8a13c092
AO
188332002-03-08 Alexandre Oliva <aoliva@redhat.com>
18834
5faae4f7
AO
18835 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
18836 SUBTARGET_CPP_SIZE_SPEC.
18837 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
18838
8a13c092
AO
18839 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
18840
4ec59de2
MH
188412002-03-07 Matt Hiller <hiller@redhat.com>
18842
18843 * gensupport.c (first_dir_md_include): Renamed from include;
18844 change all references.
18845 (last_dir_md_include): Renamed from last_include; change all
18846 references.
18847 (init_md_reader): Unconditionally initialize base_dir whether or
18848 not filename is a relative path.
18849
12f61e77
AO
188502002-03-07 Alexandre Oliva <aoliva@redhat.com>
18851
95356058
AO
18852 * config/fp-bit.c (_unord_f2): Compile it in even if
18853 US_SOFTWARE_GOFAST is enabled.
18854
12f61e77
AO
18855 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
18856 NULL_RTX. Set all HFmode operations as NULL_RTX.
18857 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
18858 NULL_RTX, try reversing the comparison and the operands.
18859
6d7a1c4c
UW
188602002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
18861
18862 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
18863 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
18864 and MATCH_OP_DUP.
18865
66d54344
JH
18866Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
18867
18868 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
18869
068473ec
JH
18870Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
18871
18872 * basic-block.h (fixup_abnormal_edges): Declare.
18873 * reload1.c (fixup_abnormal_edges): New function.
18874 * reg-stack.c (convert_regs): Use it.
18875
18876 * gcse.c (insert_insn_end_bb): Handle trapping insns.
18877
18878 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
18879
71925bc0
RS
188802002-03-07 Richard Sandiford <rsandifo@redhat.com>
18881
18882 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
18883 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
18884 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
18885 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
18886 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
18887 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
18888 unless x and y could be infinite.
18889 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
18890 Check that the common type of both arguments is a real, even for
18891 targets without unordered comparisons. Allow an integer argument
18892 to be compared against a real.
18893 (expand_tree_builtin): Use expand_unordered_cmp.
18894 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
18895 * cse.c (fold_rtx): Likewise. Fix indentation.
18896 * fold-const.c (fold_real_zero_addition_p): New.
18897 (fold): Use it, and the new HONOR_... macros.
18898 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
18899 * jump.c (reversed_comparison_code_parts): After searching for
18900 the true comparison mode, use HONOR_NANS to decide whether it
18901 can be safely reversed.
18902 (reverse_condition_maybe_unordered): Remove IEEE check.
18903 * simplify-rtx.c (simplify_binary_operation): Use the new macros
18904 to decide which simplifications are valid. Allow the following
18905 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
18906 and (a - -b) to (a + b).
18907 (simplify_relational_operation): Use HONOR_NANS.
18908 * doc/tm.texi: Document the MODE_HAS_... macros.
18909
145d3bf2
RE
189102002-03-07 Richard Earnshaw <rearnsha@arm.com>
18911
18912 * combine.c (simplify_comparison): If simplifying a logical shift
18913 right and compare with constant, force the comparison to unsigned.
18914
76a773f3
AH
189152002-03-07 Aldy Hernandez <aldyh@redhat.com>
18916
5b43fed1 18917 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 18918
5b43fed1
RH
18919 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
18920 -mabi=no-altivec
18921 (alt_reg_names): Remove % for vrsave.
76a773f3 18922
ab55f58c
RH
189232002-03-06 Richard Henderson <rth@redhat.com>
18924
5ddec02e 18925 PR optimization/5844
ab55f58c
RH
18926 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
18927 if used indicates we've already emitted one copy of an operand.
18928 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
18929 (gen_split): Supply a non-null used.
18930
e16e3291
UW
189312002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
18932
5b43fed1 18933 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 18934
1e4e95d6 18935 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
18936 but simply fail if the expression is too complex to simplify.
18937 (simplify_gen_binary): Handle simplify_plus_minus failures.
18938
2ca6672b
JH
18939Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
18940
18941 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
18942 consistently call delete_trivially_dead_insns after CSE and GCSE;
18943 fix DFI_life dumping; do jump threading after liveness; do crossjumping
18944 after liveness2; update comment in last crossjumping.
18945 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
18946
31d0dd4f
JL
18947Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
18948
d094b0b3
JL
18949 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
18950 after completing fast dead code elimination.
18951
31d0dd4f
JL
18952 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
18953 COMPARE operator.
1e4e95d6 18954
f2b958b1
PE
189552002-03-06 Phil Edwards <pme@gcc.gnu.org>
18956
18957 * version.c: Fix misplaced leading blanks on first line.
18958
a2877a09
JH
18959Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
18960
18961 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
18962
fe477d8b
JH
18963Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
18964
18965 * cfgcleanup.c (mentions_nonequal_regs): New function.
18966 (thread_jump): Use it.
18967 * toplev.c (rest_of_compilation): Run jump threading after
18968 liveness.
18969
2041cde4
JJ
189702002-03-06 Jakub Jelinek <jakub@redhat.com>
18971
18972 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
18973 patch.
18974
82d68d46
JH
18975Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
18976
18977 * predict.c (estimate_bb_frequencies): Do not reload the
18978 frequencies from notes.
18979
3dec4024
JH
18980Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
18981
18982 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
18983 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
18984
18985 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
18986 delete_noop_moves): Return indeger.
18987 * flow.c (ndead): New variable.
18988 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
18989 BB argument; update callers.
18990 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
18991 (life_analysis): Do not call purge_all_dead_edges.
18992 (update_life_info): Return number of deleted insns; print statistics.
18993 (update_life_info_in_dirty_blocks): likewise.
18994 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
18995 return number of insns deleted.
18996
18997 * cse.c: Include timevar.h
18998 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
18999 iterate until stabilizes; print statistics; return number of killed
19000 insns.
19001 * Makefile.in: (cse.o): Add timevar.h dependency
19002 * rtl.h (delete_trivially_dead_insns): New.
19003 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
19004 * toplev.c (rest_of_compilation): Update callers.
19005
19006 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
19007 (try_optimize_cfg): Do not update liveness.
19008 (cleanup-cfg): Loop until try_optimize_cfg and dead code
19009 removal stabilizes; use delete_trivially_dead_insns.
19010
19011 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
19012
c7544dd8
ZW
190132002-03-05 Zack Weinberg <zack@codesourcery.com>
19014
19015 * cppmain.c (setup_callbacks): Disable #pragma and #ident
19016 callbacks when processing assembly language.
19017
50b424a9
JDA
190182002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
19019
19020 * pa.h (ASM_FILE_END): Define.
19021 * som.h (ASM_FILE_END): Delete.
19022
19023 * pa.c (function_arg): Don't pass floats in general registers in
19024 indirect calls if TARGET_ELF32.
19025
6185f217
RH
190262002-03-05 Richard Henderson <rth@redhat.com>
19027
19028 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
19029
3020a4b2
DS
190302002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
19031
19032 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
19033
65649daa
JJ
190342002-03-05 Jakub Jelinek <jakub@redhat.com>
19035
19036 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
19037 -r command line. Don't hide any symbols if not building
19038 shared libgcc.
19039
5a1a3e5e
JH
19040Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
19041
19042 * cfg.c (dump_flow_info): Warn about profile mismatches.
19043 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
19044 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
19045
170c56da
JJ
190462002-03-05 Jakub Jelinek <jakub@redhat.com>
19047
19048 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
19049 wide volatile memory by parts.
19050
6d051694
JJ
190512002-03-05 Jakub Jelinek <jakub@redhat.com>
19052
19053 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
19054 is NULL.
19055
28bcfd4d
RH
190562002-03-05 Richard Henderson <rth@redhat.com>
19057
5b43fed1 19058 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 19059
75227a33
GK
190602002-03-04 Geoffrey Keating <geoffk@redhat.com>
19061
19062 * toplev.c (documented_lang_options): Document more
19063 language-specific options.
19064 * doc/invoke.texi (Warning Options): Correct documentation for
19065 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
19066 * c-decl.c (c_decode_option): Use a table to handle warning options.
19067
4f1aac42
HPN
190682002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
19069
19070 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
19071 parameter to mmix_encode_section_info.
19072 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
19073 relocatably. Always produce ELF, not mmo if linking relocatably.
19074 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
19075 first is non-zero, don't add symbol prefix.
19076 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
19077 prototype accordingly.
19078
12345543
KW
190792002-03-04 Krister Walfridsson <cato@df.lth.se>
19080
19081 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
19082
8e97db8f
JM
190832002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
19084
19085 * configure.in: Increase required makeinfo version to 4.1.
19086 * configure: Regenerate.
19087
06487868
GK
190882002-03-04 Geoffrey Keating <geoffk@redhat.com>
19089
19090 * .cvsignore: Remove *.info* and genrtl*; these files are generated
19091 elsewhere now.
19092
cff42170
JM
190932002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
19094
19095 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
19096 * doc/invoke.texi: Fix @math uses.
19097
974a7f56
JH
19098Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
19099
19100 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
19101 removal
19102
3b7d0e98
AH
191032002-03-03 Aldy Hernandez <aldyh@redhat.com>
19104
5b43fed1
RH
19105 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
19106 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 19107
5b43fed1 19108 * config/rs6000/t-ppcendian: New.
3b7d0e98 19109
65f2f288
HB
191102002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
19111
19112 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
19113 nonimmediate_src_operand and nonimmediate_lsrc_operand to
19114 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
19115
8ce0a8a5
RH
191162002-03-03 Richard Henderson <rth@redhat.com>
19117
19118 * toplev.c (rest_of_decl_compilation): Revert last two changes.
19119
ba31d94e
ZW
191202002-03-03 Zack Weinberg <zack@codesourcery.com>
19121
19122 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
19123 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
19124 tree.c, config/m68k/m68k.c:
19125 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
19126 REAL_ARITHMETIC blocks unconditional. Delete some further
19127 #ifdef blocks predicated on REAL_ARITHMETIC.
19128 * flags.h, toplev.c: Delete remaining references to
19129 flag_pretend_float.
19130
19131 * doc/invoke.texi: Remove documentation of -fpretend-float.
19132 * doc/tm.texi: Describe the various REAL_* macros as provided by
19133 real.h, not by the target configuration files.
19134
19135 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
19136 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
19137 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
19138 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
19139 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
19140 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
19141 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
19142 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
19143 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
19144 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
19145 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
19146 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
19147 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
19148 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
19149 config/xtensa/xtensa.h:
19150 Do not define, undefine, or mention in comments any of
19151 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
19152 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
19153 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
19154 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
19155 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
19156 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
19157 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
19158 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
19159 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
19160
9a571cfd
KG
191612002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19162
e81dd381
KG
19163 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
19164 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
19165 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
19166 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
19167 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
19168 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
19169 Delete.
19170 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 19171 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 19172
9a571cfd
KG
19173 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
19174 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
19175 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
19176
ca7558fc
KG
191772002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19178
19179 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
19180 lieu of explicit sizeof/sizeof.
19181 * i386.c (override_options, ix86_init_mmx_sse_builtins,
19182 ix86_expand_builtin): Likewise.
19183 * mips.c (mips_add_gc_roots): Likewise.
19184 * mmix.c (mmix_output_condition): Likewise.
19185 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
19186 altivec_init_builtins): Likewise.
19187 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
19188 * cppexp.c (Nsuff, parse_number): Likewise.
19189 * cppinit.c (builtin_array_end): Likewise.
19190 * gcc.c (n_default_compilers, process_command): Likewise.
19191 * genpreds.c (output_predicate_decls): Likewise.
19192 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
19193 * lcm.c (N_ENTITIES): Likewise.
19194 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 19195
41c78c88
RH
191962002-03-03 Richard Henderson <rth@redhat.com>
19197
19198 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
19199 for types or labels.
19200
9e9b71e6
RH
192012002-03-03 Richard Henderson <rth@redhat.com>
19202
19203 * c-decl.c (start_decl): Initialized variables are not common.
19204
c26a6db8
PB
192052002-03-02 Per Bothner <per@bothner.com>
19206
19207 * gcc.c (option_map): Suport new --bootclasspath option.
19208 --CLASSPATH is now just an alias for --classpath.
19209
9e8aab55
RH
192102002-03-02 Richard Henderson <rth@redhat.com>
19211
19212 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
19213 load if "internal" visibility.
19214 * doc/extend.texi: Document visibility meanings.
19215
b3bbd220
RH
192162002-03-02 Richard Henderson <rth@redhat.com>
19217
19218 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
19219 to functions as well.
19220
b14707c3
RH
192212002-03-02 Richard Henderson <rth@redhat.com>
19222
19223 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
19224 (handle_visibility_attribute): Don't call assemble_visibility.
19225 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
19226 without asmspec. Invoke assemble_alias when needed.
19227 * varasm.c (maybe_assemble_visibility): New.
19228 (assemble_start_function, assemble_variable, assemble_alias): Use it.
19229
b2003250
RH
192302002-03-02 Richard Henderson <rth@redhat.com>
19231
19232 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
19233 invoke ENCODE_SECTION_INFO with first call flag.
19234
19235 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
19236 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 19237 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
19238 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
19239 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
19240 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
19241 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
19242 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
19243 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
19244 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
19245 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
19246 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
19247 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
19248 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
19249 config/mcore/mcore-protos.h, config/mcore/mcore.c,
19250 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
19251 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 19252 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
19253 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
19254 config/sh/sh.h, config/sparc/sparc.h,
19255 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
19256 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
19257 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
19258 FIRST argument. As needed, examine it and do nothing.
19259
ba31d94e 19260 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
19261 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
19262 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
19263
19264 * config/arm/t-pe (pe.o): Add dependencies.
19265
5c60f03d
KG
192662002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19267
19268 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
19269 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
19270 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
19271 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
19272 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
19273 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
19274 * defaults.h (BITS_PER_UNIT): Define.
19275 * doc/tm.texi (BITS_PER_UNIT): Document default value.
19276
86855e8c
KH
192772002-03-02 Kazu Hirata <kazu@hxi.com>
19278
19279 * config/h8300/h8300-protos.h: Add a prototype for
19280 compute_a_shift_length.
19281 * config/h8300/h8300.c (h8300_asm_insn_count): New.
19282 (compute_a_shift_length): Likewise.
19283 (h8300_adjust_insn_length): Do not adjust insn length of shift
19284 insns.
19285 * config/h8300/h8300.md (anonymous shift patterns): Use
19286 compute_a_shift_length.
19287
f6041ed8
RK
19288Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19289
35aa3c1c
RK
19290 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
19291 trunc_int_for_mode.
19292
f6041ed8
RK
19293 * emit-rtl.c (offset_address): Call update_temp_slot_address.
19294
27b41650
KG
192952002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19296
19297 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
19298 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
19299 * flags.h (flag_zero_initialized_in_bss): Declare.
19300 * toplev.c (flag_zero_initialized_in_bss): New flag.
19301 (lang_independent_options): Add flag_zero_initialized_in_bss.
19302 * tree.c (initializer_zerop): New function.
19303 * tree.h (initializer_zerop): Declare.
19304 * varasm.c (assemble_variable): If we can emit bss, put zero
19305 initializers in the bss section.
19306
ca734b39
AM
193072002-03-02 Alan Modra <amodra@bigpond.net.au>
19308
19309 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
19310 like more than one symbol per .weak directive.
19311
49b72306
RH
193122002-03-01 Richard Henderson <rth@redhat.com>
19313
19314 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
19315 adjust argument_pointer by pretend_args_size.
19316 (ia64_va_start): Adjust va_start address by -pretend_args_size.
19317
fbf0fe41
KH
193182002-03-01 Kazu Hirata <kazu@hxi.com>
19319
19320 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
19321
0010687d
JH
19322Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
19323
19324 * toplev.c (rest_of_compilation): Delete dead jumptables before
19325 loop.
19326 * flow.c (delete_dead_jumptables): Make global.
19327 * rtl.h (delete_dead_jumptables): Declare.
19328
9429c84c
DE
193292002-03-01 David Edelsohn <edelsohn@gnu.org>
19330
19331 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
19332 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 19333 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 19334
f0b6f9a6
KH
193352002-03-01 Kazu Hirata <kazu@hxi.com>
19336
19337 * config/h8300/h8300-protos.h: Fix formatting.
19338 * config/h8300/h8300.c: Likewise.
19339 * config/h8300/h8300.h: Likewise.
19340
bc8db8a1
KH
193412002-03-01 Kazu Hirata <kazu@hxi.com>
19342
19343 * config/h8300/h8300.c (print_operand): Support 16-bit
19344 constant addresses.
19345 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
19346
32b069d3
RH
193472002-02-28 Richard Henderson <rth@redhat.com>
19348
19349 * expmed.c (store_bit_field): Prevent generation of CONCATs;
19350 pun complex values as integers; use gen_lowpart instead of
19351 gen_rtx_SUBREG.
19352 (extract_bit_field): Likewise.
19353
79c4e63f
AM
193542002-03-01 Alan Modra <amodra@bigpond.net.au>
19355 David Edelsohn <edelsohn@gnu.org>
19356
19357 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
19358 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
19359 (SUPPORTS_WEAK): Likewise.
19360 * output.h (add_weak): Add tree param.
19361 * varasm.c (add_weak): Likewise. Save decl.
19362 (struct weak_syms): Add decl field.
19363 (mark_weak_decls): New function.
19364 (init_varasm_once): ggc_add_root mark_weak_decls.
19365 (assemble_start_function): Use ASM_WEAKEN_DECL.
19366 (assemble_variable): Likewise.
19367 (assemble_alias): Likewise.
19368 (declare_weak): Pass decl to add_weak.
19369 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
19370 (remove_from_pending_weak_list): Declare and define for
19371 ASM_WEAKEN_DECL.
19372 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
19373 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
19374 * defaults.h (SUPPORTS_WEAK): Likewise.
19375 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
19376 .weak for code sym. Do emit .size for descriptor sym.
19377 (ASM_DECLARE_FUNCTION_SIZE): Define.
19378 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
19379 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
19380 .lglobl unless TARGET_XCOFF. Formatting fixes.
19381 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
19382 .weak for code sym.
19383 (HANDLE_PRAGMA_WEAK): Remove.
19384 (ASM_WEAKEN_LABEL): Remove.
19385 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
19386
6f30f1f1
JM
193872002-03-01 Jason Merrill <jason@redhat.com>
19388
19389 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
19390 (TARGET_EXPR_CLEANUP): New macro.
19391
7879b81e
SE
193922002-02-28 Steve Ellcey <sje@cup.hp.com>
19393
19394 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
19395 to take ptr_extend into account as third type of extension.
19396 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
19397 fields used by SUBREG_PROMOTED_UNSIGNED_P.
19398 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
19399 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
19400 * calls.c (precompute_arguments): Use new macro.
19401 (expand_call): Ditto.
19402 * combine.c (nonzero_bits): Ditto.
19403 (record_promoted_value): Ditto.
19404 * expr.c (store_expr): Ditto.
19405 (expand_expr): Ditto.
19406 * function.c (assign_parms): Ditto.
19407
42d579d8
AO
194082002-02-28 Alexandre Oliva <aoliva@redhat.com>
19409
19410 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
19411 override -shared and -shared-libgcc.
19412
e0054185
DB
194132002-02-28 David O'Brien <obrien@FreeBSD.org>
19414
19415 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
19416 of "ultrasparc".
19417 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
19418 to be broken.
19419
abda4f1c
RH
194202002-02-28 Richard Henderson <rth@redhat.com>
19421
19422 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
19423 4 cycle latency from MM producers.
19424 (ia64_internal_sched_reorder): Likewise with pipeline flush.
19425
c0f08649
JJ
194262002-02-28 Jakub Jelinek <jakub@redhat.com>
19427
19428 * mklibgcc.in: Don't use GNU make extension.
19429
f79f2651
NB
194302002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
19431
19432 * c-parse.in (STATIC): New terminal.
19433 (scspec): New non-terminal. Update productions accordingly.
19434 (program): Remove bogus ifc / end ifc.
19435 (array_declarator): Simplify production using STATIC.
19436
001e3fee
JM
194372002-02-28 Jim Meyering <meyering@lucent.com>
19438
19439 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
19440 \a still means TARGET_BELL.
19441
89076bb3
RH
194422002-02-28 Richard Henderson <rth@redhat.com>
19443
19444 * haifa-sched.c (sched_emit_insn): New.
19445 (schedule_block): Use last_scheduled_insn to track last insn.
19446 * sched-int.h (sched_emit_insn): Prototype.
19447 * config/ia64/ia64.c (last_issued): Remove.
19448 (ia64_variable_issue): Don't set it.
19449 (nop_cycles_until): Use sched_emit_insn.
19450
e3aaacf4
AM
194512002-02-28 Andrew MacLeod <amacleod@redhat.com>
19452
19453 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
19454 extended constants.
19455
7f473594
KH
194562002-02-28 Kazu Hirata <kazu@hxi.com>
19457
19458 * config/h8300/h8300.c: Fix formatting.
19459 * config/h8300/h8300.h: Likewise.
19460
b96c434c
MM
194612002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
19462
19463 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
19464 which may overwrite the high byte of the frame pointer.
19465
9b420a6a
BT
194662002-02-28 Bo Thorsen <bo@suse.de>
19467
19468 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
19469 (STARTFILE_SPEC): Add 64 bit files.
19470 (ENDFILE_SPEC): Likewise.
19471
6f30f1f1 194722002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
19473
19474 * c-decl.c (finish_function): Only warn about missing return
19475 statement with -Wreturn-type.
19476
70da1d03
JH
19477Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
19478
19479 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
19480
19481 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
19482 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
19483
38c1593d
JH
19484Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
19485
19486 * basic-block.h (BB_REACHABLE): Renumber.
19487 (BB_DIRTY, BB_NEW): New flags.
19488 (clear_bb_flags): Declare.
19489 (update_life_info_in_dirty_blocks): Declare.
19490 * cfg.c (clear_bb_flags): New function.
19491 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
19492 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
19493 reorder_insns, emit_insn_after): Mark block as dirty.
19494 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
19495 (update_life_info_in_dirty_blocks): New function.
19496 * recog.c (apply_change_group): Dirtify block.
19497
19498 * cse.c (cse_insn): Reorder emitting of jump insn to keep
19499 cfg consistent.
19500 * gcse.c (delete_null_pointer_checks): Likewise.
19501
19502 * toplev.c (dump_file_index): Move cse2 after bp,
19503 add DFI_null
19504 (dump_file_info): Similary.
19505 (rest_of_compilation): Avoid most of CFG rebuilds;
19506 do first if converision after null pointer checks, do cse2
19507 after branch prediction; avoid full liveness rebuild after
19508 initializing subregs.
19509 * invoke.texi (-d options): Document -du, renumber.
19510
19511 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
19512 (notice_new_block): Do not set BB_UPDATE_LIFE.
19513 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
19514 merge_blocks_move_successor_nojumps, merge_blocks,
19515 try_crossjump_to_edge): Likewise.
19516 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
19517 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
19518 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
19519 (merge_of_block): Do not use life_data_ok.
19520 (find_if_case_1): Do not use SET_UPDATE_LIFE.
19521 (if_convert): Use BB_DIRTY mechanizm to update life.
19522 * lcm.c (optimize_mode_switching): Update
19523 update_life_info_in_dirty_blocks
19524
63e1b1c4
NB
195252002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
19526
19527 * Makefile.in (integrate.o): Update.
19528 * c-decl.c (copy_lang_decl): Rename.
19529 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
19530 * integrate.c: Include langhooks.h.
19531 (copy_decl_for_inlining): Update to use langhook.
19532 * langhooks-def.h (lhd_do_nothing_t,
19533 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
19534 (LANG_HOOKS_INITIALIZER): Update.
19535 * langhooks.c (lhd_do_nothing_t): New.
19536 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
19537 * tree.h (copy_lang_decl): Remove.
19538objc:
19539 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
19540
f472fa29
AM
195412002-02-27 Andrew MacLeod <amacleod@redhat.com>
19542
ba31d94e 19543 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
19544 POST_DEC, and POST_MODIFY.
19545
273cf2e4
ZW
195462002-02-27 Zack Weinberg <zack@codesourcery.com>
19547
19548 * c-typeck.c (digest_init): Remove unused parameter; all
19549 callers changed.
19550
4e07d762
GK
195512002-02-27 Geoffrey Keating <geoffk@redhat.com>
19552
19553 * expmed.c (expand_shift): Correctly test for low part of a
19554 subreg.
19555
6bc627b3
UW
195562002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
19557
19558 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
19559 insn UIDs with insn addresses.
19560
f458d1d5
ZW
195612002-02-27 Zack Weinberg <zack@codesourcery.com>
19562
19563 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
19564 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
19565 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
19566 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
19567 gcc.c, toplev.c: Delete code implementing -traditional mode.
19568
19569 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
19570 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
19571 Document removal of -traditional mode for compilation, and
19572 remove documentation only relevant to that mode.
19573
19574 * config/nextstep.h, config/ptx4.h, config/svr4.h,
19575 config/convex/convex.h, config/d30v/d30v.h,
19576 config/i386/dgux.h, config/i386/osf1elf.h,
19577 config/i386/osfelf.h, config/i386/osfrose.h,
19578 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
19579 config/m68k/hp310.h, config/m88k/dgux.h,
19580 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
19581 config/m88k/m88k.h, config/m88k/openbsd.h,
19582 config/mips/abi64.h, config/mips/osfrose.h,
19583 config/mips/svr4-5.h, config/mips/svr4-t.h,
19584 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
19585 config/stormy16/stormy16.h: Remove all references to
19586 -traditional from target specs. Delete all mention of the
19587 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
19588 delete a couple of commented-out definitions of
19589 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
19590 to -traditional.
19591
19592 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
19593 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
19594
e0b3a8ff
ZW
195952002-02-27 Zack Weinberg <zack@codesourcery.com>
19596
19597 * mklibgcc.in: Don't use \n in a line subject to
19598 interpretation by echo.
19599
5c6a85b7
GS
196002002-02-27 Graham Stott <grahams@redhat.com>
19601
72b05af1
GS
19602 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
19603 Constify NAME.
19604
7d104885
GS
19605 * loop.c (prescan_loop): Handle PARALLEL.
19606
8ed805d2
GS
19607 * unroll.c (loop_iterations): Return 0 if the add_val for
19608 a BIV is REG.
19609
fd478a0a
GS
19610 * final.c (output_operand_lossage): Constify PFX_STR.
19611
5c6a85b7
GS
19612 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
19613
cd98ad03
JH
19614Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
19615
19616 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
19617 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
19618
639ae55b
JH
19619Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
19620
19621 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
19622
e808ec9c
NB
196232002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
19624
19625 * cpplex.c (_cpp_lex_token): Handle directives in macro
19626 arguments.
19627 * cpplib.c (_cpp_handle_directive): Save and restore state
19628 if parsing macro args when entering a directive.
19629 * cppmacro.c (collect_args): No need to handle directives
19630 in macro arguments.
19631 (enter_macro_context, replace_args): Use the original macro
19632 definition in case it was redefined whilst collecting arguments.
19633doc:
19634 * cpp.texi: Update.
19635
f585a356
DE
196362002-02-26 David Edelsohn <edelsohn@gnu.org>
19637
19638 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
19639 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
19640 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
19641 method on AIX.
19642 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
19643 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
19644 (load_toc_v4_PIC_2): Same.
19645
196462002-02-26 Alan Modra <amodra@bigpond.net.au>
19647
19648 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
19649
d699058e
RH
196502002-02-26 Richard Henderson <rth@redhat.com>
19651
19652 * config/alpha/alpha.md (ashldi_se): Re-enable.
19653
eadccfbb
RH
196542002-02-26 Richard Henderson <rth@redhat.com>
19655
19656 * config/alpha/alpha.c (alpha_encode_section_info): Examine
19657 MODULE_LOCAL_P; improve commentary.
19658
7080ada1
ZW
196592002-02-26 Zack Weinberg <zack@codesourcery.com>
19660
19661 * doc/cpp.texi: Clarify documentation of relationship between
19662 #line and #include.
19663
b42cff6b
KH
196642002-02-26 Kazu Hirata <kazu@hxi.com>
19665
19666 * config/h8300/h8300-protos.h: Update the prototype for
19667 compute_logical_op_length. Add the prototype for
19668 compute_logical_op_cc.
19669 * config/h8300/h8300.c (compute_logical_op_length): Figure out
19670 code from operands.
19671 (compute_logical_op_cc): New.
19672 * config/h8300/h8300.md: Combine all the logical op patterns
19673 in HImode and SImode. Use compute_logical_op_cc.
19674
831c4e87
KC
196752002-02-26 Kelley Cook <kelleycook@comcast.net>
19676
19677 * config/i386/i386.c (print_operand): Don't append ATT-style
19678 length suffixs to x87 opcodes when in Intel mode.
19679
ff88fe10
RS
196802002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
19681
19682 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
19683 (init_emit_once): Update calls.
19684 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
19685 (init_syntax_once): Prototype.
19686
d4108589
JDA
196872002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
19688
19689 * pa-linux.h (LIB_SPEC): Update definition.
19690 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
19691
e013f3c7
RH
196922002-02-26 Richard Henderson <rth@redhat.com>
19693
19694 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
19695 if we emitted a stop bit.
19696
9e944a16
JJ
196972002-02-26 Jakub Jelinek <jakub@redhat.com>
19698
19699 * configure.in (libgcc_visibility): Substitute.
19700 * configure: Rebuilt.
19701 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
19702 defined symbols .hidden.
19703
47bd70b5
JJ
197042002-02-26 Jakub Jelinek <jakub@redhat.com>
19705
19706 * attribs.c (c_common_attribute_table): Add visibility.
19707 (handle_visibility_attribute): New function.
19708 * varasm.c (assemble_visibility): New function.
19709 * output.h (assemble_visibility): Add prototype.
19710 * tree.h (MODULE_LOCAL_P): Define.
19711 * crtstuff.c (__dso_handle): Use visibility attribute.
19712 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
19713 for MODULE_LOCAL_P symbols too.
19714 * config/ia64/ia64.c (ia64_encode_section_info): Handle
19715 MODULE_LOCAL_P symbols the same way as local symbols.
19716 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
19717 into .sdata/.sbss by the user.
19718 * doc/extend.texi (Function Attributes): Document visibility
19719 attribute.
19720
6d73371a
JJ
197212002-02-26 Jakub Jelinek <jakub@redhat.com>
19722
19723 PR debug/5770
19724 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
19725 STRING_CST initializer spanning the whole variable without
19726 embedded zeros.
19727 If expand_expr returned MEM, don't use it.
19728
06e224f7
AO
197292002-02-26 Alexandre Oliva <aoliva@redhat.com>
19730
19731 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
19732 generate a die for the lexical block.
19733
40367e2d
KH
197342002-02-26 Kazu Hirata <kazu@hxi.com>
19735
19736 * config/h8300/h8300-protos.h: Add a prototype for
19737 compute_logical_op_length.
19738 * config/h8300/h8300.c (compute_logical_op_length): New.
19739 * config/h8300/h8300.md (anonymous logical patterns): Use
19740 compute_logical_op_length for length.
19741
0e98f924
AH
197422002-02-26 Aldy Hernandez <aldyh@redhat.com>
19743
831c4e87
KC
19744 * dwarf2out.c (modified_type_die): Do not call type_main_variant
19745 for vectors.
19746 (gen_type_die): Same.
0e98f924 19747
831c4e87 19748 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 19749
a50cfd52
DE
197502002-02-26 Daniel Egger <degger@fhm.edu>
19751
831c4e87
KC
19752 * config/rs6000/rs6000.md: Swap define_insn attributes to
19753 fix incorrect generation of merge high instructions instead
19754 of merge low.
a50cfd52 19755
b7997284
AH
197562002-02-26 Aldy Hernandez <aldyh@redhat.com>
19757
831c4e87
KC
19758 * c-typeck.c (really_start_incremental_init): Use
19759 bitsize_zero_node for vectors.
b7997284 19760
376aec5d
AH
197612002-02-26 Aldy Hernandez <aldyh@redhat.com>
19762
831c4e87
KC
19763 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
19764 ("*set_vrsave_internal"): Same.
376aec5d 19765
3b40e71b
RH
197662002-02-25 Richard Henderson <rth@redhat.com>
19767
19768 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
19769 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
19770
232b8f52
JJ
197712002-02-25 Jakub Jelinek <jakub@redhat.com>
19772
19773 PR target/5755
19774 * config/i386/i386.c (ix86_return_pops_args): Only pop
19775 fake structure return argument if it was passed on the stack.
19776
67282790
JM
197772002-02-25 Jason Merrill <jason@redhat.com>
19778
19779 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
19780 RESULT_DECL.
19781
5c181756
AO
197822002-02-25 Alexandre Oliva <aoliva@redhat.com>
19783
19784 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
19785 link with shared_name only.
19786 * doc/invoke.texi (Link Options): Document new behavior.
19787
6786d201
AH
197882002-02-25 Aldy Hernandez <aldyh@redhat.com>
19789
831c4e87 19790 * c-typeck.c (push_init_level): Handle vectors.
6786d201 19791
7d6040e8
AO
197922002-02-25 Alexandre Oliva <aoliva@redhat.com>
19793
19794 * config/sparc/sparc.c (const64_high_operand): Zero-extend
19795 operands of SPARC_SETHI_P.
19796 (input_operand): Likewise.
19797 (sparc_emit_set_const32): Likewise.
19798 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
19799 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
19800 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
19801 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
19802 (movdi_insn_sp64_vis): Likewise.
19803 (movdi split, movdf split): Use SETHI32.
19804 * doc/md.texi: Document SPARC constraints L, M and N.
19805
b188f760
AH
198062002-02-25 Aldy Hernandez <aldyh@redhat.com>
19807
831c4e87
KC
19808 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
19809 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 19810
831c4e87
KC
19811 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
19812 gen_get_vrsave_internal.
b188f760 19813
8041889f
RK
19814Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19815
19816 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
19817
a47ed310
NB
198182002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
19819
19820 * cpplex.c (cpp_interpret_charconst): Get signedness or
19821 otherwise of wide character constants correct.
19822 * cppexp.c (lex): Get signedness of wide charconsts correct.
19823
cb8f73be
RK
19824Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19825
19826 * optabs.c (widen_operand): Only call convert_modes for
19827 promoted SUBREG if signedness matches.
19828 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
19829
2450e0b8
NB
198302002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
19831
19832 * cpplib.c (glue_header_name): Use local buffer to build up
19833 header name.
19834
70b6aaed
NB
198352002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
19836
19837 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
19838
6be580c7
KH
198392002-02-23 Kazu Hirata <kazu@hxi.com>
19840
19841 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
19842 H8/300[HS] separately.
19843 * config/h8300/h8300.md: Remove the early clobber constraint
19844 from bit field patterns.
19845
35dad9f1
KH
198462002-02-23 Kazu Hirata <kazu@hxi.com>
19847
19848 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
19849 register_operand.
19850 (mulhisi3): Likewise.
19851 (umulqisi3): Likewise.
19852 (umulhisi3): Likewise.
19853
ab8e2228
NB
198542002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
19855
19856 * cppinit.c (output_deps): Correct test for stdout output.
19857 (init_dependency_output): Cure warning.
19858
ac6f8a15
RK
19859Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19860
19861 * expr.c (store_expr): When converting expression to promoted
19862 equivalent type, allow using SUBREG_REG of TARGET as the target
19863 of the expansion of EXP.
19864 * loop.c (basic_induction_var, case SUBREG): Always look inside.
19865 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
19866 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
19867 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
19868 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
19869
f282ffb3
JM
198702002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
19871
19872 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
19873 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
19874 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
19875
44c5edc0
JJ
198762002-02-23 Jakub Jelinek <jakub@redhat.com>
19877
19878 PR optimization/5747
19879 * loop.c (scan_loop): Update reg info if move_movables created new
19880 pseudos.
19881
f98e43c0
DE
198822002-02-23 David Edelsohn <edelsohn@gnu.org>
19883
19884 * gcc.c (init_gcc_spec): Revert last change.
19885
e72247f4
DE
198862002-02-23 David Edelsohn <edelsohn@gnu.org>
19887
19888 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
19889 gpc_reg_operand constraint.
19890
198912002-02-23 Alan Modra <amodra@bigpond.net.au>
19892
19893 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
19894 Simplify comparison of `low'.
19895 (add_operand): Fix formatting.
19896 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 19897 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
19898 (rs6000_stack_info): Remove redundant test setting push_p.
19899 (output_toc): Fix formatting.
19900 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
19901 cc_reg_not_cr0_operand constraint.
19902 (booldi3, boolcdi3 splitters): Same.
19903
a5c30531
AH
199042002-02-23 Aldy Hernandez <aldyh@redhat.com>
19905
831c4e87 19906 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 19907
43710f9f
DE
199082002-02-22 David Edelsohn <edelsohn@gnu.org>
19909
19910 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
19911 gcc invoked with -shared-libgcc.
19912
3256b817
JJ
199132002-02-22 Jakub Jelinek <jakub@redhat.com>
19914
19915 PR c++/5748
19916 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
19917 decl if any of elements was TREE_USED.
19918
9e0625a3
AO
199192002-02-22 Alexandre Oliva <aoliva@redhat.com>
19920
19921 * config/sparc/sol2.h: Don't include sys/mman.h.
19922 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
19923 (arith_4096_operand): Don't throw high bits away.
19924 (const64_operand): Take sign extension of CONST_INTs into account.
19925 (const64_high_operand, sparc_emit_set_const32): Likewise.
19926 (GEN_HIGHINT64): Likewise.
19927 (sparc_emit_set_const64_quick1): Likewise.
19928 (const64_is_2insns): Likewise.
19929 (print_operand): Use trunc_int_for_mode for sign extension.
19930 * config/sparc/sparc.h (SMALL_INT32): Likewise.
19931 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
19932 chars. Assume CONST_INT is already properly sign-extended.
19933 (movdi split): Sign-extend each SImode part.
19934 (andsi3 split): Don't mask high bits off, so that result
19935 remains properly sign-extend.
19936 (iorsi3 split): Likewise.
19937 (xorsi3 split): Likewise.
19938
54fec3d5
RS
199392002-02-22 Richard Sandiford <rsandifo@redhat.com>
19940
19941 * fold-const.c (fold): Fix typo in comments.
19942
667ada9b
DN
199432002-02-21 Diego Novillo <dnovillo@redhat.com>
19944
19945 * Makefile.in (langhooks.o): Update dependencies.
19946
29ac78d5
DN
199472002-02-21 Diego Novillo <dnovillo@redhat.com>
19948
19949 * langhooks.c: Include flags.h.
19950
6aa77e6c
AH
199512002-02-21 Aldy Hernandez <aldyh@redhat.com>
19952
19953 * testsuite/gcc.dg/attr-alwaysinline.c: New.
19954
19955 * c-common.c (c_common_post_options): Set inline trees by
19956 default.
19957
19958 * doc/extend.texi (Function Attributes): Document always_inline
19959 attribute.
19960 Update documentation about inlining when not optimizing.
19961
19962 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
19963
19964 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
19965 unless DECL_ALWAYS_INLINE.
19966
19967 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
19968 unless DECL_ALWAYS_INLINE.
19969 (c_disregard_inline_limits): Disregard if always_inline set.
19970
19971 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
19972 Disregard if always_inline set.
19973 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
19974 unless DECL_ALWAYS_INLINE.
19975
19976 * attribs.c (handle_always_inline_attribute): New.
19977 (c_common_attribute_table): Add always_inline.
19978
19979 * config/rs6000/altivec.h: Add prototypes for builtins
19980 requiring the always_inline attribute.
19981
c410d49e
EC
199822002-02-21 Eric Christopher <echristo@redhat.com>
19983
19984 * expmed.c (store_bit_field): Try to simplify the subreg
19985 before generating a new one when when the mode size of
19986 value is less than maxmode.
19987
e3c8ea67
RH
199882002-02-21 Richard Henderson <rth@redhat.com>
19989
19990 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
19991 than gen_rtx_PLUS to form the sum.
19992 * explow.c (force_reg): Rearrange to not allocate new pseudo
19993 when force_operand returns a register.
19994 * expr.c (expand_assignment): Allow offset_rtx expansion to
19995 return a sum. Do not force addresses into registers.
19996 (expand_expr): Likewise.
19997 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
19998 to canonicalize arithmetic that didn't simpify.
19999 (simplify_plus_minus): New argument force; update
20000 all callers. Don't split CONST unless we can do something with it,
20001 and wouldn't lose the constness of the operands.
20002
20003 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
20004 that we generated earlier.
20005
c1a046e5
TT
200062002-02-21 Tom Tromey <tromey@redhat.com>
20007
20008 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
20009 (output_line_info): Use constant `1', with a long explanatory
20010 comment.
20011 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
20012
31fbaad4
R
20013Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
20014
20015 * jump.c (redirect_jump): If old label has no UID, don't try to
20016 delete it.
20017
a7f52356
R
20018Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
20019
20020 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
20021 If input is constant, do shifts at compile time.
20022
924fcc4e
JM
200232002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
20024
20025 * doc/extend.texi: Fix some more overfull hboxes.
20026
e5a20888
JJ
200272002-02-21 Jakub Jelinek <jakub@redhat.com>
20028
20029 PR optimization/4994
20030 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
20031 register moves.
20032
200332002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
20034
20035 PR c++/4574
20036 * expr.h (expand_and): Add mode argument.
20037 * expmed.c (expand_and): Add mode argument.
20038 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
20039 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
20040 * except.c (expand_builtin_extract_return_addr): Likewise.
20041 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
20042 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
20043 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
20044 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
20045 * config/c4x/c4x.md: Use GEN_INT (x) instead of
20046 gen_rtx (CONST_INT, VOIDmode, x).
20047
7133e992
JJ
200482002-02-21 Jakub Jelinek <jakub@redhat.com>
20049
20050 PR c/4697:
20051 * stmt.c (warn_if_unused_value): Move side effects test once more.
20052
e2ec05a6
TG
200532002-02-20 Torbjorn Granlund <tege@swox.com>
20054
20055 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 20056 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 20057
9dd791c8
AO
20058Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
20059
20060 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
20061 SUBREG or ZERO_EXTEND.
20062
7ab56274
R
20063Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
20064
20065 * sh.h (current_function_anonymous_args): Remove.
20066 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
20067 of current_function_varargs and current_function_stdarg is set.
20068 * sh.c (sh_expand_prologue): Check current_function_varargs /
20069 current_function_stdarg / TARGET_SH5 instead of
20070 current_function_anonymous_args.
20071
20072 * sh64.h (TARGET_VERSION): Define.
20073
b1765bde
DE
200742002-02-20 David Edelsohn <edelsohn@gnu.org>
20075
20076 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
20077 VRSAVE_REGNO on TARGET_ALTIVEC.
20078
200792002-02-20 Alan Modra <amodra@bigpond.net.au>
20080
20081 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
20082 bits of SImode const_int.
20083 (includes_rshift_p): Likewise.
20084 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 20085 mode.
b1765bde
DE
20086 (rs6000_output_function_epilogue): Pad traceback table to word.
20087 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
20088 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
20089 mask64_operand with correct mode.
b1765bde
DE
20090 (FUNCTION_ARG_REGNO_P): Correct parentheses.
20091
149d6f9e
JJ
200922002-02-20 Jakub Jelinek <jakub@redhat.com>
20093
20094 PR debug/4461
20095 * varasm.c (get_pool_constant_mark): New.
20096 * rtl.h (get_pool_constant_mark): Add prototype.
20097 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
20098 be represented if it has not been output.
20099
4161da12
AO
201002002-02-20 Alexandre Oliva <aoliva@redhat.com>
20101
20102 * combine.c (do_SUBST): Sanity check substitutions of
20103 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
20104 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
20105 CONST_INT into its operand.
20106 (known_cond): Likewise, for ZERO_EXTEND.
20107 * simplify-rtx.c (simplify_unary_operation): Fix condition to
20108 allow for simplification of wide modes. Reject CONST_INTs in
20109 ZERO_EXTEND when their actual mode is not given.
20110
3704ef74
AO
201112002-02-20 Alexandre Oliva <aoliva@redhat.com>
20112
20113 * c-decl.c (pushdecl): If no global declaration is found for an
20114 extern declaration in block scope, try a limbo one.
20115
7552da58
JJ
201162002-02-20 Jakub Jelinek <jakub@redhat.com>
20117
20118 PR c++/4401
20119 * c-common.c (pointer_int_sum): Moved from...
20120 * c-typeck.c (pointer_int_sum): ...here.
20121 * c-common.h (pointer_int_sum): Add prototype.
20122
00fae85d
JJ
201232002-02-20 Jakub Jelinek <jakub@redhat.com>
20124
20125 PR c++/5713
20126 * c-decl.c (duplicate_decls): Return 0 if issued error about
20127 redeclaration.
20128
4636c87e
JJ
201292002-02-20 Roger Sayle <roger@eyesopen.com>
20130 Jakub Jelinek <jakub@redhat.com>
20131
20132 PR c/4389
20133 * tree.c (host_integerp): Ensure that the constant integer is
20134 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
20135 when pos is zero or non-zero respectively. Clarify comment.
20136 * c-format.c (check_format_info_recurse): Fix host_integerp
20137 usage; the pos argument should be zero when assigning to a
20138 signed HOST_WIDE_INT.
20139
59bef189
RH
201402002-02-20 Richard Henderson <rth@redhat.com>
20141
20142 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
20143 of the operand, rather than assuming TImode.
20144 (ix86_expand_binop_builtin): Cope with commutative patterns
20145 using nonimmediate_operand for both operands.
20146 (ix86_expand_timode_binop_builtin): Likewise.
20147 (ix86_expand_store_builtin): Validate operand 1.
20148 (ix86_expand_unop1_builtin): Likewise.
20149
9338ffe6 201502002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 20151
9338ffe6
PB
20152 PR 5705
20153 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
20154
f322b423
RH
201552002-02-20 Richard Henderson <rth@redhat.com>
20156
20157 PR c/5615
20158 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
20159
d94084f7
TT
201602002-02-20 Tom Tromey <tromey@redhat.com>
20161
20162 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
20163 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
20164 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
20165 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
20166 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
20167 unconditionally.
20168
37fa124a
AM
20169Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
20170
20171 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
20172 for (const_int 0) in X not just INTVAL.
20173
6e5bb5ad
JM
201742002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
20175
20176 * doc/extend.texi: Avoid or reduce overfull hboxes.
20177
420e7dfa
DN
201782002-02-20 Diego Novillo <dnovillo@redhat.com>
20179
20180 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
20181 operations if the field does not start at a mode boundary.
20182
1b7a2af6
JS
201832001-02-20 Joel Sherrill <joel@OARcorp.com>
20184
20185 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
20186 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
20187 Also done for -Acpu and -Amachine.
20188
56cd5b95
NB
201892002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
20190
20191 * cppinit.c (init_dependency_output): Take deps output file
20192 from -o if none given with -MF. Suppress normal output.
c410d49e 20193 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
20194 * doc/cpp.texi, doc/invoke.texi: Update.
20195
042cdf71
ZW
201962002-02-19 Zack Weinberg <zack@codesourcery.com>
20197
20198 * toplev.c (output_quoted_string): Write unprintable
20199 characters with octal escapes.
20200
c1f11548
DE
202012002-02-19 David Edelsohn <edelsohn@gnu.org>
20202
20203 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
20204 really_call_used[VRSAVE_REGNO] if not Altivec.
20205
202062002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 20207
c1f11548
DE
20208 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
20209 MODE_MASK.
20210 (constant_pool_expr_1): Fix formatting.
20211 (rs6000_legitimize_reload_address): Likewise.
20212
c964d90e
RK
20213Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20214
20215 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
20216 now that we have one.
20217
ae34ac46
ZW
202182002-02-19 Zack Weinberg <zack@codesourcery.com>
20219
20220 * tree.h (struct tree_common): Remove aux. Add unused_0 at
20221 end of first block of bitfields (which was only seven bits);
20222 rename dummy to unused_1; remove comment which is no longer true.
20223
293c28ee
GS
202242002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
20225
20226 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
20227
7b8781c8
PB
202282002-02-19 Philip Blundell <pb@nexus.co.uk>
20229
0cb6c58d 20230 PR 5399
7b8781c8
PB
20231 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
20232 if generating PIC.
20233
20234 PR 5054
20235 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
20236 arm_is_longcall_p rather than inspecting call-type cookie
20237 directly.
20238 (call_value_insn) [TARGET_THUMB]: Likewise.
20239
5c464583
GS
202402002-02-19 Graham Stott <grahams@redhat.com>
20241
20242 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
20243
71c061e6
DE
202442002-02-19 David Edelsohn <edelsohn@gnu.org>
20245
20246 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
20247 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 20248 (FP_SAVE_INLINE): Delete.
71c061e6
DE
20249
20250 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
20251 * config/rs6000/eabi.asm: Remove ABI save restore routines.
20252 * config/rs6000/t-ppccomm: Build crtsavres.o.
20253 * config/rs6000/crtsavres.asm: New file.
20254
3a7731fd
PB
202552002-02-19 Philip Blundell <philb@gnu.org>
20256
20257 * config/arm/arm.c (use_return_insn): Don't reject interrupt
20258 functions.
20259 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
20260 (output_return_instruction): Allow interrupt functions to return with
20261 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
20262 (arm_expand_prologue): Subtract 4 before stacking LR in an
20263 interrupt function.
20264
14f583b8
PB
202652002-02-19 Philip Blundell <pb@nexus.co.uk>
20266
20267 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
20268 decl, not just FUNCTION_DECL.
20269 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
20270 (arm_assemble_integer): Likewise.
20271 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
20272 marked local.
c410d49e 20273
4cb7482c
MG
202742002-02-19 matthew green <mrg@eterna.com.au>
20275
20276 * config.gcc (sparc-*-netbsdelf*): Enable target.
20277 (sparc64-*-netbsd*): New target.
20278 * config/sparc/netbsd-elf.h: New file.
20279 * config/sparc/t-netbsd64: New file.
20280
2df3a718
GS
202812002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
20282
20283 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
20284
77f6c1eb
RS
202852002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
20286
20287 * doc/invoke.texi: explicitly list the style guidelines that
20288 -Weffc++ checks for.
20289
fd973d56
JH
20290Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
20291
20292 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
20293
30518e45
NB
202942002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
20295
20296 PR other/5718
20297 * gcc.c (cpp_unique_options): Treat -o as indicating object file
20298 only if not -E. If -E, pass -o through to the preprocessor.
20299
39ea5704
KH
203002002-02-19 Kazu Hirata <kazu@hxi.com>
20301
20302 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
20303 register number with an appropriate macro.
20304
7355dba7
BM
203052002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
20306
20307 * doc/rtl.texi (Constants): Close @code tag.
20308
91c8aa9e
AH
203092002-02-19 Aldy Hernandez <aldyh@redhat.com>
20310
20311 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
20312 ("mmx_uavgv4hi3"): Same.
20313 ("pmulhrwv4hi3"): Same.
20314
20315 * tree-inline.c (walk_tree): Handle vectors.
20316
20317 * c-common.c (constant_expression_warning): Handle vectors.
20318 (overflow_warning): Same.
20319
20320 * sched-deps.c (sched_analyze_2): Handle vectors.
20321
20322 * rtlanal.c (rtx_unstable_p): Handle vectors.
20323 (rtx_varies_p): Same.
20324 (count_occurrences): Same.
20325 (regs_set_between_p): Same.
20326 (modified_between_p): Same.
20327 (modified_in_p): Same.
20328 (volatile_insn_p): Same.
20329 (volatile_refs_p): Same.
20330 (side_effects_p): Same.
20331 (may_trap_p): Same.
20332 (inequality_comparisons_p): Same.
20333 (replace_regs): Same.
20334 (computed_jump_p_1): Same.
20335
20336 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
20337 argument.
20338 (inner_mode_array): New.
20339 (copy_rtx): Handle vectors.
20340 (copy_most_rtx): Same.
20341 (rtx_equal_p): Same.
20342 (get_mode_alignment): Adjust for vectors.
20343
20344 * resource.c (mark_referenced_resources): Handle vectors.
20345 (mark_set_resources): Same.
20346
20347 * reload1.c (eliminate_regs): Handle vectors.
20348 (elimination_effects): Same.
20349 (scan_paradoxical_subregs): Same.
20350
20351 * reload.c (subst_reg_equivs): Handle vectors.
20352
20353 * regrename.c (scan_rtx): Handle vectors.
20354
20355 * regclass.c (reg_scan_mark_refs): Handle vectors.
20356
20357 * recog.c (find_single_use_1): Handle vectors.
20358
20359 * local-alloc.c (equiv_init_varies_p): Handle vectors.
20360 (contains_replace_regs): Same.
20361 (memref_referenced_p): Same.
20362
20363 * integrate.c (copy_rtx_and_substitute): Handle vectors.
20364 (subst_constants): Same.
20365
20366 * genattrtab.c (attr_copy_rtx): Handle vectors.
20367 (encode_units_mask): Same.
20368 (clear_struct_flag): Same.
20369 (count_sub_rtxs): Same.
20370
20371 * gcse.c (want_to_gcse_p): Handle vectors.
20372 (oprs_unchanged_p): Same.
20373 (hash_expr_1): Same.
20374 (oprs_not_set_p): Same.
20375 (expr_killed_p): Same.
20376 (compute_transp): Same.
20377 (store_ops_ok): Same.
20378
20379 * function.c (purge_addressof_1): Do not allow paradoxical subregs
20380 of vectors.
20381 (fixup_var_refs_1): Same.
20382 (instantiate_virtual_regs_1): Same.
20383
20384 * fold-const.c (operand_equal_p): Handle vectors.
20385 (fold): Same.
20386 (rtl_expr_nonnegative_p): Same.
20387
20388 * flow.c (mark_used_regs): Handle vectors.
20389
20390 * df.c (df_uses_record): Handle vectors.
20391
20392 * cselib.c (cselib_subst_to_values): Handle vectors.
20393 (cselib_mem_conflict_p): Same.
20394 (hash_rtx): Same.
20395
20396 * cse.c (canon_reg): Handle vectors.
20397 (fold_rt): Same.
20398 (cse_process_notes): Same.
20399 (count_reg_usage): Same.
20400 (canon_hash): Same.
20401
20402 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
20403
20404 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
20405
20406 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
20407 (gen_rtx): Handle CONST_VECTOR.
20408 (gen_const_vector_0): New.
20409 (copy_rtx_if_shared): CONST_VECTORs can be shared.
20410 (reset_used_flags): Same.
20411 (copy_insn_1): Same.
20412 (initializer_constant_valid_p): Handle VECTOR_CST.
20413
20414 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
20415
20416 * doc/rtl.texi (Constants): Document const_vector.
20417 (CONST0_RTX): Update for vectors.
20418 (RTL sharing): Same.
20419
20420 * print-tree.c (print_node): Add case for VECTOR_CST.
20421
20422 * tree.h (TREE_VECTOR_CST_ELTS): New.
20423 (struct tree_vector): New.
20424 (union tree_node): Add vector node.
20425 (build_vector): Add prototype.
20426
20427 * tree.def (VECTOR_CST): New.
20428
20429 * tree.c (build_vector): New.
20430
20431 * expmed.c (make_tree): Handle CONST_VECTOR.
20432
20433 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
20434 (CONST_VECTOR_ELT): New.
20435 (CONST_VECTOR_NUNITS): New.
20436
20437 * machmode.h (GET_MODE_INNER): New.
20438 (DEF_MACHMODE): Accept 8th arg.
20439
20440 * machmode.def: Add 8th argument for vector inner mode.
20441 Add inner vector modes for vectors.
20442
20443 * rtl.def (VEC_CONST): Remove.
20444 (CONST_VECTOR): New.
20445
20446 * expr.c (clear_storage): Allow vectors.
20447 (is_zeros_p): Handle VECTOR_CST.
20448
20449 * varasm.c (output_constant_pool): Handle vectors.
20450 (rtx_const): Add veclo and vechi fields.
20451 (kind): Add RTX_VECTOR.
20452 (decode_rtx_const): Add case for vector.
20453
20454 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 20455
91c8aa9e
AH
20456 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
20457 constants. Force easy vector constants into memory.
20458 (easy_vector_constant): New.
20459 (emit_easy_vector_constant): New.
20460 (rs6000_legitimize_reload_address): Do not generate bad reloads on
20461 darwin.
20462
20463 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
20464 instruction does.
20465 ("altivec_lvxl"): Same.
20466 (altivec_lvebx): Same.
20467 (altivec_lvehx): Same.
20468 (altivec_lvewx): Same.
20469 ("*movv4si_const0"): New.
20470 ("*movv4sf_const0"): New.
20471 ("*movv8hi_const0"): New.
20472 ("*movv16qi_const0"): New.
20473
d4d6d0ce
KH
204742002-02-18 Kazu Hirata <kazu@hxi.com>
20475
20476 * config/h8300/h8300.c (notice_update_cc): Use
20477 cc_status.value2.
20478
4915d3aa
KH
204792002-02-18 Kazu Hirata <kazu@hxi.com>
20480
20481 * config/h8300/h8300.md (divmod patterns): Change the
20482 constraints for operands[1] to register_operand.
20483
82be00ee
KH
204842002-02-18 Kazu Hirata <kazu@hxi.com>
20485
20486 * config/h8300/h8300-protos.h: Remove the prototype for
20487 p_operand.
20488 * config/h8300/h8300.c (p_operand): Remove.
20489 * config/h8300/h8300.md: Replace p_operand with
20490 const_int_operand.
20491
1768c26f
PB
204922002-02-18 Philip Blundell <pb@nexus.co.uk>
20493
20494 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
20495 comment.
20496 (output_return_instruction): Allow use of LDR to unstack
20497 return addresss even for interrupt handlers or when
20498 interworking. If compiling for ARMv5, use interworking-safe
20499 return instructions by default. Remove duplicated code and
20500 lengthy "strcat" sequences.
20501
ccd84f51
FS
205022002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
20503
20504 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
20505 (LINK_EH_SPEC): Define.
20506 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
20507
2c153108
UW
205082002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
20509
20510 * config/s390/s390.c (s390_emit_prologue): Do not set the
20511 frame_related flag for call-clobbered registers.
20512
e95d6b23
JH
20513Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
20514
20515 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
20516 (construct_container): Fix handling of SSE operands.
20517 (ix86_expand_builtin): Fix handling of 64bit pointers.
20518 (mmx_maskmovq_rex): New pattern.
20519
c43a12b5
JH
20520Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
20521
20522 * regrename.c (kill_set_value): Handle subregs properly.
20523
aeb85a15
DB
205242002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
20525
20526 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 20527 from objc_class_name.
aeb85a15 20528
a615ca3e
RH
205292002-02-17 Richard Henderson <rth@redhat.com>
20530
20531 * config/alpha/alpha.c (some_small_symbolic_operand,
20532 some_small_symbolic_operand_1, split_small_symbolic_operand,
20533 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
20534 Handle small SYMBOL_REFs anywhere, not just inside memories.
20535 * config/alpha/alpha-protos.h: Update.
20536 * config/alpha/alpha.h (PREDICATE_CODES): Update.
20537 * config/alpha/alpha.md (small symbolic operand splitter): Update.
20538
ddb28441
RM
205392002-02-17 Roland McGrath <roland@frob.com>
20540
20541 * config.gcc (powerpc-*-gnu-gnualtivec*,
20542 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
20543 * config/rs6000/gnu.h: New file.
20544 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
20545 Grok "gnu" in rs6000_abi_name.
20546 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
20547 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
20548 Grok -mcall-gnu analogous to -mcall-linux et al.
20549 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
20550 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
20551 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
20552
f6f8ada3
JJ
205532002-02-17 Jakub Jelinek <jakub@redhat.com>
20554
20555 PR c/3444:
20556 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
20557 shortening.
20558
e16b32fc
PT
205592002-02-17 Philipp Thomas <pthomas@suse.de>
20560
20561 * config/cris/cris.h: Undefine STARTFILE_SPEC and
20562 ENDFILE_SPEC before (re)defining them.
20563
f9477efd
KH
205642002-02-17 Kazu Hirata <kazu@hxi.com>
20565
20566 * config/h8300/h8300.c: Fix formatting.
20567 * config/h8300/h8300.h: Likewise.
20568
404ae494
PT
205692002-02-17 Philipp Thomas <pthomas@suse.de>
20570
20571 * doc/tm.texi: Explain why empty strings should not be
20572 marked for translation.
20573
a52453cc
PT
205742002-02-17 Philipp Thomas <pthomas@suse.de>
20575
20576 * final.c (output_operand_lossage): Changed to accept
20577 printf style arguments. Change calls where necessary.
20578 * output.h (output_operand_lossage): Change declaration
20579 accordingly. Update copyright.
20580 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
20581 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
20582 Update copyright date where necessary.
c410d49e 20583
a52453cc
PT
20584 * config/i386/i386.c (print_operand): Likewise. Remove use of
20585 sprintf.
20586
20587 * config/cris/cris.c (cris_operand_lossage): Likewise.
20588 Rename parameter so that exgettext recognizes it as
20589 translatable message.
20590 (LOSE_AND_RETURN): Rename parameter to msgid.
20591
1c11abc4
KH
205922002-02-17 Kazu Hirata <kazu@hxi.com>
20593
20594 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
20595 hard coded register number with an appropriate macro.
20596 (HARD_REGNO_MODE_OK): Likewise.
20597 (ARG_POINTER_REGNUM): Likewise.
20598 (STATIC_CHAIN_REGNUM): Likewise.
20599 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
20600 * config/h8300/h8300.md (define_constants): Define more
20601 register numbers.
20602
a5d17ff3
PT
206032002-02-17 Philipp Thomas <pthomas@suse.de>
20604
20605 * config/i386/i386.h: Don't mark empty strings for translation.
20606
1a7289c4
L
206072002-02-16 H.J. Lu <hjl@gnu.org>
20608
20609 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
20610
afb58288
ZW
206112002-02-16 Zack Weinberg <zack@codesourcery.com>
20612
20613 * cppinit.c (merge_include_chains): Check for brack being
20614 NULL before attempting to merge it with qtail.
20615
d2af4dbd
AC
206162002-02-16 Andrew Cagney <ac131313@redhat.com>
20617
20618 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
20619 DBX_DEBUG.
20620
2e1ed1e3
JDA
206212002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
20622
20623 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
20624
604c75b2
JDA
206252002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
20626
20627 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
20628 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
20629 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
20630
1a42b072
RK
20631Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20632
7303604f 20633 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
20634 now only if !TARGET_FIX.
20635 (*movsi_nt_vms_fix): New pattern.
20636
c2ea1ac6
DR
206372002-02-16 Douglas B Rupp <rupp@gnat.com>
20638
20639 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
20640 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
20641 (alpha_sa_mask, alpha_sa_size): Reflect above change.
20642 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
20643 (alpha_start_function, alpha_expand_epilogue): Likewise.
20644 (unicosmk_gen_dsib): Likewise.
20645
725e58b1
RK
20646Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20647
20648 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
20649
13e58269
UW
206502002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
20651
c410d49e 20652 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
20653 check_and_change_labels, s390_final_chunkify): Delete.
20654 (s390_split_branches, s390_chunkify_pool): New functions.
20655 (s390_function_prologue): Call them.
c410d49e 20656
13e58269
UW
20657 * config/s390/s390.h (S390_REL_MAX): Delete.
20658 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
20659
c410d49e 20660 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
20661 attribute calculation.
20662
20663
34d1b01d
DE
206642002-02-15 David Edelsohn <edelsohn@gnu.org>
20665
20666 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
20667 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
20668
be5cc51a
JDA
206692002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
20670
20671 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
20672 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
20673 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
20674
ee96ce90
RS
206752002-02-15 Richard Sandiford <rsandifo@redhat.com>
20676
20677 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
20678
05fa709d
RS
206792002-02-15 Richard Sandiford <rsandifo@redhat.com>
20680
20681 * reload.c (find_dummy_reload): Check that an output register
20682 is valid for its mode.
20683
4606272b
AO
206842002-02-14 Alexandre Oliva <aoliva@redhat.com>
20685
9a360704
AO
20686 * combine.c (known_cond): After replacing the REG of a SUBREG, try
20687 to simplify it.
20688
4606272b
AO
20689 * function.c (assign_parms): Demote promoted argument passed by
20690 transparent reference.
20691
e62d89a1
JS
206922001-02-14 Joel Sherrill <joel@OARcorp.com>
20693
20694 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
20695 -Acpu() and -Amachine() to eliminate warnings.
20696
6c4cf695
UW
206972002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
20698
20699 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
20700
037f11ef
KH
207012002-02-14 Kazu Hirata <kazu@hxi.com>
20702
20703 * config/h8300/h8300-protos.h: Update the prototype for
20704 const_costs.
20705 * config/h8300/h8300.c (const_costs): Treat SET as a little
20706 more expensive operation.
20707 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
20708 reference to const_costs.
20709
fdc76b09
HPN
207102002-02-14 Hans-Peter Nilsson <hp@axis.com>
20711
20712 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
20713
d76e6800
JJ
207142002-02-14 Jakub Jelinek <jakub@redhat.com>
20715
20716 PR c/5503:
20717 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
20718 use arguments from newtype.
20719
5ae590d7
EC
207202002-02-13 Eric Christopher <echristo@redhat.com>
20721
20722 * config/mips/mips.c (override_options): Add check for march/mipsX
20723 on the same command line. Fix error message in cpu processing.
20724 Remove architecture and ISA checks.
20725
b8513691
AH
207262002-02-14 Aldy Hernandez <aldyh@redhat.com>
20727
831c4e87 20728 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 20729
831c4e87 20730 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 20731
78c875e8
AH
207322002-02-14 Aldy Hernandez <aldyh@redhat.com>
20733
831c4e87
KC
20734 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
20735 alternatives.
20736 ("*movv8hi_internal1"): Same.
20737 ("*movv16qi_internal1"): Same.
20738 ("*movv4sf_internal1"): Same.
78c875e8 20739
831c4e87
KC
20740 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
20741 not push_reload for altivec modes.
78c875e8 20742
d76e6800 207432002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
20744
20745 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
20746 all RTEMS targets including removal of #includes from config/*/rtems*.h
20747 file and adding them to tm_file setting. Added xm_defines=POSIX to
20748 many targets.
20749 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
20750 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
20751 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
20752 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
20753 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
20754 config/m68k/rtemself.h: Ditto.
20755 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
20756 config/mips/rtems64.h: Ditto.
20757 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
20758 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
20759 Ditto.
20760 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
20761 config/sparc/rtemself.h: Ditto.
20762 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
20763 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
20764 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
20765 more like arm-elf.
20766 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
20767 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
20768 target made more similar to i386-elf.
20769 * config/i386/t-rtems-i386: Added soft float support and multilibs.
20770 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
20771 be similar to config/m68k/t-m68kelf.
20772 * gthr-rtems.h: Encapsulate with extern "C" for C++.
20773
8686336f
JH
20774Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
20775
20776 * regmove.c (kill_value): Handle subregs.
20777
558740bf
JH
20778Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
20779
20780 * i386.md (mul patterns): Allow memory operand to be first;
20781 add expanders where needed; fix constraints.
20782 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
20783 Allow memory operand to be the first.
20784
20785 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
20786 operands.
20787
21117a17
JJ
207882002-02-13 Jakub Jelinek <jakub@redhat.com>
20789
20790 PR c/5681:
20791 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
20792 GET_MODE (x).
20793
ec65b2e3
JJ
207942002-02-13 Jakub Jelinek <jakub@redhat.com>
20795
20796 PR optimization/5547:
20797 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
20798 all valid IA-32 address modes involving non-scaled %ebx and
20799 GOT/GOTOFF as displacement.
20800
ce50cae8
UW
208012002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
20802
20803 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
20804 after emitting ltorg insns.
20805
20806 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
20807 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
20808 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
20809 *abssf2): Fix "op_type" attribute.
20810
09eb789b
DR
208112002-02-13 Douglas B Rupp <rupp@gnat.com>
20812
2dbe67bb
DR
20813 * mkconfig.sh: Avoid using a subshell redirect.
20814 ($output.T): Change to $(output)T.
20815 (ENABLE_NLS): Remove unneeded undef.
20816
ea5b9a1f
DR
20817 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
20818 * config/alpha/x-vms (libsubdir): Define.
20819
3deb00ce
DR
20820 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
20821 register frame procedures. Optimize retrieving context.
20822
09eb789b
DR
20823 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
20824 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
20825 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
20826
1abade85
RK
20827Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20828
20829 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
20830 Make same change as for find_base_value.
20831
c283e63f
KH
208322002-02-13 Kazu Hirata <kazu@hxi.com>
20833
20834 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
20835 of QImode and SImode.
20836
86039100
KH
208372002-02-13 Kazu Hirata <kazu@hxi.com>
20838
20839 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
20840 length computation of movsi.
20841 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
20842
e1429da0
KH
208432002-02-13 Kazu Hirata <kazu@hxi.com>
20844
20845 * config/h8300/h8300.md (subqi3): Tighten the predicate for
20846 operands[2] to register_operand.
20847
aebfea10
JH
20848Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
20849
20850 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
20851
0ec4e2a8
AH
208522002-02-12 Aldy Hernandez <aldyh@redhat.com>
20853
831c4e87
KC
20854 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
20855 for altivec_lvx* and altivec_stvx*.
20856 ("*movv4si_internal"): Add constraint for loading from GPRs.
20857 ("*movv8hi_internal1"): Same.
20858 ("*movv16qi_internal1"): Same.
20859 ("*movv4sf_internal1"): Same.
0ec4e2a8 20860
831c4e87 20861 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 20862
831c4e87
KC
20863 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
20864 altivec_register_operand.
0ec4e2a8 20865
b007569d
HPN
208662002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
20867
20868 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
20869 handle SYMBOL_REF.
20870
e6834654
SS
208712002-02-13 Stan Shebs <shebs@apple.com>
20872
831c4e87
KC
20873 * c-typeck.c (digest_init): Handle vectors.
20874 (really_start_incremental_init): Same.
20875 (pop_init_level): Same.
20876 (process_init_element): Same.
e6834654 20877
831c4e87 20878 * varasm.c (output_constant): Same.
e6834654 20879
831c4e87
KC
20880 * expr.c (clear_storage): Same.
20881 (store_constructor): Same.
e6834654 20882
d9b3eb63
EC
208832002-02-12 Eric Christopher <echristo@redhat.com>
20884
20885 * explow.c (hard_function_value): Add comment explaining
20886 signed/unsigned comparison.
20887
56d44285
JJ
208882002-02-12 Jakub Jelinek <jakub@redhat.com>
20889
20890 * jump.c (never_reached_warning): Add finish argument.
20891 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
20892 real insn after end.
20893 * rtl.h (never_reached_warning): Adjust prototype.
20894 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
20895 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
20896 never_reached_warning.
20897
fc209487
GS
208982002-02-12 Graham Stott <grahams@redhat.com>
20899
20900 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
20901
1e41e866
KH
209022002-02-12 Kazu Hirata <kazu@hxi.com>
20903
20904 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
20905 logical shifts on H8/300.
20906 (shift_alg_si): Improve several shifts on H8/300.
20907 (get_shift_alg): Likewise.
20908
a36a47ad
GS
209092002-02-12 Graham Stott <grahams@redhat.com>
20910
20911 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
20912
0aacc8ed
RK
20913Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20914
20915 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
20916 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
20917
a02ac966
HPN
209182002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
20919
20920 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
20921 non-CONST_INT through default_assemble_integer.
20922 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
20923 <case 8>: Abort for CONST_DOUBLE.
20924
d6e06ddc
JDA
209252002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
20926
20927 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
20928 is specified.
20929 * config/pa/pa-linux.h (LIB_SPEC): Delete.
20930 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
20931
515342a8
AH
209322002-02-11 Andrew Haley <aph@cambridge.redhat.com>
20933
20934 * config/stormy16/stormy16.md (zero_extendqihi2): New.
20935
cddd8b72
AO
209362002-02-11 Alexandre Oliva <aoliva@redhat.com>
20937
66df7a98
AO
20938 * regrename.c (regrename_optimize): Don't accept a
20939 part-clobbered register if the replaced register is not part
20940 clobbered.
20941
841404cd
AO
20942 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
20943 take padding into account when computing the argument value.
20944
1d1ade42
AO
20945 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
20946
cddd8b72
AO
20947 * combine.c (try_combine): Apply substitutions in
20948 CALL_INSN_FUNCTION_USAGE too.
20949
5c665b88
AH
209502002-02-11 Aldy Hernandez <aldyh@redhat.com>
20951
77f6c1eb
RS
20952 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
20953 __builtin_altivec_abs*.
20954 (bdesc_abs): New.
5c665b88 20955
77f6c1eb
RS
20956 * config/rs6000/rs6000.h (rs6000_builtins): Add
20957 ALTIVEC_BUILTIN_ABS*.
5c665b88 20958
77f6c1eb
RS
20959 * config/rs6000/altivec.h: Use const char for builtins expecting
20960 literals.
20961 (vec_abs): New versions for C and C++.
20962 (vec_abss): Same.
5c665b88 20963
3494f1b4
KH
209642002-02-10 Kazu Hirata <kazu@hxi.com>
20965
20966 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
20967 using Pmode.
20968
72431aef
KH
209692002-02-10 Kazu Hirata <kazu@hxi.com>
20970
20971 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
20972 constant definition from h8300.md.
20973 (FRAME_POINTER_REGNUM): Likewise.
20974 * config/h8300/h8300.md (define_constants): Add FP_REG.
20975
87e4ee91
KH
209762002-02-10 Kazu Hirata <kazu@hxi.com>
20977
20978 * config/h8300/h8300.c (print_operand): Remove redundant code.
20979
9c188705
KH
209802002-02-10 Kazu Hirata <kazu@hxi.com>
20981
20982 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
20983 * config/h8300/h8300.c (byte_reg): Make it static.
20984
fba78abb
RH
209852002-02-10 Richard Henderson <rth@redhat.com>
20986
20987 PR c/5623
20988 * c-typeck.c (incomplete_type_error): Handle flexible array members.
20989
65739e62
RH
209902002-02-10 Richard Henderson <rth@redhat.com>
20991
20992 PR c++/5624
20993 * tree.c (append_random_chars): Don't abort if main_input_filename
20994 does not exist.
20995
247cb9df
HPN
209962002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
20997
20998 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
20999
232bd029
KH
210002002-02-10 Kazu Hirata <kazu@hxi.com>
21001
65739e62 21002 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
21003 (pushhi1): Likewise.
21004
276ef573
JDA
210052002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
21006
21007 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
21008 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
21009
617e9ee5
DB
210102002-02-09 David O'Brien <obrien@FreeBSD.org>
21011
21012 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
21013 remove MASK_VIS.
21014 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
21015
6dfa4005
KH
210162002-02-09 Kazu Hirata <kazu@hxi.com>
21017
21018 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
21019 a half of an SImode register on H8/300.
21020
749e7b80
JH
21021Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
21022
21023 * i386.md (movdi_2): Add missing '!'.
21024
ca77d87c
KH
210252002-02-09 Kazu Hirata <kazu@hxi.com>
21026
21027 * config/h8300/h8300.h: Fix formatting. Remove commented-out
21028 definitions.
21029
16c96304
KH
210302002-02-09 Kazu Hirata <kazu@hxi.com>
21031
21032 * config/h8300/h8300.md (length): Correct the distance valid
21033 for the short branch.
21034
a364bc90
KH
210352002-02-09 Kazu Hirata <kazu@hxi.com>
21036
21037 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
21038
e4ec2cac
AO
210392002-02-09 Alexandre Oliva <aoliva@redhat.com>
21040
a138247b
AO
21041 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
21042 registers in SImode.
21043 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
21044 part-clobbered.
21045
2b1fd83f
AO
21046 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
21047 patch.
d9b3eb63 21048
fa5322fa
AO
21049 Contribute sh64-elf.
21050 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
21051 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
21052 (sh_cannot_modify_jumps_p): New function.
21053 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
21054 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
21055 (sh_ms_bitfield_layout_p): New function.
21056 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
21057 Zack Weinberg <zack@codesourcery.com>
21058 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
21059 expand_simple_binop instead of expand_binop.
21060 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
21061 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
21062 use of .quad and .uaquad.
21063 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
21064 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
21065 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
21066 * config/sh/sh.md (movdi_const, movdi_const_32bit,
21067 movdi_const_16bit): Make sure all CONSTs have modes.
21068 (sym2PIC): Ditto, but by adjusting all callers.
21069 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
21070 if the prologue calls the SHmedia argument decoder or register
21071 saver.
21072 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
21073 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
21074 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
21075 (sh_expand_epilogue): Don't emit USE of return target register.
21076 (prepare_move_operands): Legitimize DImode PIC addresses.
21077 (sh_media_register_for_return): Skip tr0, used to initialize the
21078 PIC register.
21079 (sh_expand_prologue): Remove explicit USE of return register.
21080 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
21081 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
21082 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
21083 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
21084 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
21085 EXTRA_CONSTRAINT_T.
21086 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
21087 (MOVI_SHORI_BASE_OPERAND_P): New.
21088 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
21089 (EXTRA_CONSTRAINT_T): Define in terms of them.
21090 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
21091 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
21092 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
21093 alternatives supporting TARGET_REGS.
21094 (UNSPEC_GOTPLT): New constant.
21095 (movdi split): Move incrementing of LABEL_NUSES...
21096 (movdi_const, movdi_const_32bit): Here. Use
21097 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
21098 (movdi_const_16bit): New.
21099 (call, call_value) [flag_pic]: Use GOTPLT.
21100 (call_pop, call_value_pop): New expands.
21101 (call_pop_compact, call_pop_rettramp): New insns.
21102 (call_value_pop_compact, call_value_pop_rettramp): New insns.
21103 (sibcall) [flag_pic]: Use GOT.
21104 (builtint_setjmp_receiver): Remove bogus, unused expand.
21105 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
21106 (*pt, *ptb, ptrel): New insns.
21107 (sym2GOT): Handle DImode GOT.
21108 (sym2GOTPLT, symGOTPLT2reg): New expands.
21109 (sym2PIC): New expand.
21110 (shcompact_return_tramp): Use GOTPLT to return trampoline.
21111 (shcompact_return_tramp_i): Use return register explicitly.
21112 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
21113 disable flag_reorder_blocks.
21114 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
21115 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
21116 clobbers, for clarity.
21117 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
21118 restoring of r0 in macl as MAYBE_DEAD.
21119 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
21120 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
21121 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
21122 alter_subreg all over.
21123 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
21124 reload, instead of emitting instructions that would require
21125 reloading.
21126 (casesi_load_media): Add missing modes.
21127 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
21128 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
21129 as used if the argument decoder is called.
21130 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
21131 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
21132 Pmode, then extend it to DImode if necessary.
21133 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
21134 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
21135 constants in FPU-enabled SHmedia, let them be loaded from memory.
21136 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
21137 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
21138 Adjust whitespace in assembly output templates.
21139 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
21140 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
21141 mode of if_then_else.
21142 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
21143 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
21144 sh.h.
21145 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
21146 Joern Rennecke <amylaar@redhat.com>
21147 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
21148 (SUBTARGET_CPP_PTR_SPEC): New.
21149 (SUBTARGET_CPP_SPEC): Remove.
21150 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
21151 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
21152 Fix typo in previous checkin.
21153 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
21154 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
21155 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
21156 Alexandre Oliva <aoliva@redhat.com>
21157 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
21158 what single FP register can hold for SHmedia target.
21159 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
21160 Alexandre Oliva <aoliva@redhat.com>
21161 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
21162 Do not split into SUBREG.
21163 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
21164 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
21165 and added new functions as specified in SH5 ABI r9.
21166 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
21167 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
21168 8-byte boundary.
21169 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
21170 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
21171 gen_consttable_4 and gen_consttable_8. Emit multiple labels
21172 and consttable_window_ends.
21173 2001-06-03 Graham Stott <grahams@redhat,com>
21174 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
21175 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
21176 * config/sh/sh.c (print_operand): Handle floating-point pair,
21177 vector and matrix registers.
21178 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
21179 vector modes into account.
21180 * config/sh/sh.md (movv2sf): Split move between registers into
21181 movdf.
21182 (movv4sf, movv16sf): Introduce insns that get split only after
21183 reload.
21184 * config/sh/shmedia.h: Fix Copyright dates.
21185 * config/sh/ushmedia.h: Likewise. Move loop counter
21186 declarations into conditionals that uses them.
21187 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
21188 loop boundary.
21189 * config/sh/sshmedia.h: Fix Copyright dates.
21190 (sh_media_PUTCFG): Fix constraints.
21191 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
21192 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
21193 ptrmemfunc_vbit_in_delta for SH5.
21194 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
21195 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
21196 * invoke.texi: Likewise.
21197 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
21198 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
21199 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
21200 GCC_pop_shmedia_regs_nofpu): New global symbols.
21201 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
21202 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
21203 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
21204 compact function with nonlocal labels.
21205 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
21206 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
21207 (initial_elimination_offset): Account for their stack space.
21208 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
21209 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
21210 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
21211 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
21212 least one of the operands to be a register.
21213 (movv2sf): Likewise. Renamed to movv2sf_i.
21214 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
21215 prepare_move_operands() before emitting SHmedia insns.
21216 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
21217 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
21218 Don't save nor initialize r12. Don't mis-align the stack.
21219 Pad the code with a nop.
21220 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
21221 stack.
21222 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
21223 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
21224 [__SHMEDIA__]: Implement.
21225 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
21226 * config/sh/sh.md: Set latency of `pt' closer to reality.
21227 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
21228 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
21229 Set move, load and store type attributes.
21230 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
21231 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
21232 profiling.
21233 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
21234 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
21235 * config/sh/sh.c (sh_media_register_for_return): New function.
21236 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
21237 branch-target register.
21238 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
21239 * config/sh/sh.md (return_media_i): Use any call-clobbered
21240 branch-target register.
21241 (return_media): If r18 wasn't copied in the prologue, copy it
21242 here.
21243 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
21244 Clear class FP0_REGS.
21245 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
21246 from elf.h.
21247 2001-03-08 DJ Delorie <dj@redhat.com>
21248 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
21249 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
21250 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
21251 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
21252 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
21253 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
21254 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
21255 return value correctly for call_cookie.
21256 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
21257 * config/sh/crt1.asm (start): Modified so as to call
21258 ___setup_argv_and_call_main.
21259 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
21260 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
21261 SHmedia mode.
21262 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
21263 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
21264 (STRIP_NAME_ENCODING): Use it.
21265 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
21266 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
21267 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
21268 prepare_scc_operands().
21269 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
21270 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
21271 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
21272 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
21273 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
21274 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
21275 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
21276 used in shcompact_incoming_args.
21277 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
21278 change.
21279 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
21280 mode.
21281 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
21282 Adjust accordingly.
21283 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
21284 Simplify. Adjust. Add sanity check.
21285 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
21286 FPU_SINGLE_BIT.
21287 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
21288 TARGET_SHCOMPACT.
21289 (udivsi3, divsi3): Use them.
21290 (force_mode_for_call): New insn.
21291 (call, call_value, sibcall_value): Emit it before SHcompact
21292 calls.
21293 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
21294 * config/sh/sh.md (call, call_value, sibcall): Make sure the
21295 call cookie is non-NULL before taking its value.
21296 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
21297 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
21298 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
21299 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
21300 block.
21301 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
21302 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
21303 temporary for stack adjusts. Use MACL and MACH to pass
21304 arguments to shcompact_incoming_args.
21305 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
21306 clobber r1.
21307 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
21308 (nested_trampoline): Load static chain address into r1.
21309 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
21310 2001-01-07 Alexandre Oliva <aoliva@redhat.com
21311 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
21312 fp_arith_reg_operand().
21313 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
21314 * config/sh/sh.md (casesi): Sign-extend the first two operands,
21315 and use signed compares for them.
21316 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
21317 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
21318 ones properly aligned.
21319 (find_barrier): Account for extra alignment needed for 8-byte wide
21320 constants.
21321 (machine_dependent_reorg): Require a label for the second 4-byte
21322 constant after an 8-byte one.
21323 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
21324 change.
21325 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
21326 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
21327 last_float when switching float modes.
21328 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
21329 auto-increment for general-purpose registers.
21330 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
21331 result.
21332 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
21333 for stack adjust.
21334 * config/sh/sh.c (sh_builtin_saveregs): Support using all
21335 registers for varargs.
21336 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
21337 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
21338 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
21339 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
21340 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
21341 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
21342 call_cookie accordingly.
21343 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
21344 (SHCOMPACT_BYREF): Likewise.
21345 (SHCOMPACT_FORCE_ON_STACK): New macro.
21346 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
21347 (sh_builtin_saveregs): Likewise.
21348 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
21349 shcompact_incoming_args): Use new shift values. Support
21350 sequences of consecutive and non-consecutive pushes/pops.
21351 * config/sh/sh.md (return): Don't explicitly use PR_REG.
21352 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
21353 * config/sh/sh.h (TEXT_SECTION): Define.
21354 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
21355 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
21356 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
21357 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
21358 return values on FPU-enabled SHmedia.
21359 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
21360 FPU-enabled SHmedia.
21361 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
21362 value is returned in a non-FP reg and is not returned by
21363 reference.
21364 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
21365 jump_ind.
21366 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
21367 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
21368 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
21369 quad-aligned to be passed by callee-copy reference.
21370 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
21371 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
21372 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
21373 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
21374 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
21375 copying low-numbered FP regs to r7 and r8.
21376 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
21377 FP regs to general-purpose regs only if the copy was passed on the
21378 stack.
21379 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
21380 copying FP reg to r9.
21381 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
21382 copy FP regs to general-purpose regs only in outgoing calls.
21383 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 21384 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
21385 HOST_WIDE_INT.
21386 * config/sh/sh.h (struct sh_args): Document all fields.
21387 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
21388 passed partially on the stack should not consider making
21389 sibcalls.
21390 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
21391 stack_regs only for incoming calls. When passing FP args,
21392 make sure there are FP regs available before modifying
21393 call_cookie.
21394 (SHCOMPACT_BYREF): Pass double args in general-purpose
21395 registers by reference.
21396 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
21397 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
21398 attempt to generate sibcalls if the caller got any arguments
21399 by reference.
21400 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
21401 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
21402 to 8-byte boundaries.
21403 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
21404 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
21405 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
21406 stored in the stack.
21407 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
21408 for the offsets to have the ISA bit set.
21409 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
21410 invocation. Use beq instead of bgt to mark end of sequence of
21411 loads.
21412 (shcompact_incoming_args): Fix store of r2. Use beq instead of
21413 bgt to mark end of sequence of stores.
21414 * config/sh/sh.c (arith_operand): Don't check whether
21415 CONST_OK_FOR_J for now.
21416 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
21417 instead of long for conversion.
21418 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
21419 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
21420 before passing it to fprintf.
21421 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
21422 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
21423 Call set_fpscr before reading/writing SR.
21424 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
21425 Call set_fpscr.
21426 * config/sh/lib1funcs.asm: Add `.align 2' directives before
21427 SHmedia code.
21428 (FMOVD_WORKS): Define on SH5 with FPU.
21429 (set_fpscr): Define on SH5. Remove separate _fpscr_values
21430 setting.
21431 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
21432 _fpscr_values.
21433 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
21434 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
21435 address.
21436 (ia_main_table): Ditto.
21437 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
21438 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
21439 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
21440 the definitions from sh.h.
21441 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
21442 TARGET_SH5.
21443 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
21444 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
21445 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
21446 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
21447 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
21448 Increment LABEL_NUSES.
d9b3eb63 21449
fa5322fa
AO
21450 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
21451 TARGET_SH5.
21452 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
21453 defined.
21454 * config/sh/elf.h (SIZE_TYPE): Likewise.
21455 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
21456 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
21457 shcompact_incoming_args): Load switch table addresses using
21458 datalabel.
21459 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
21460 (NO_BUILTIN_SIZE_TYPE): Define.
21461 (SIZE_TYPE): Don't define.
21462 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
21463 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
21464 definition of __SH5__=32 for -m5-compact-nofpu.
21465 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
21466 ADDR_DIFF_VEC.
21467 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
21468 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
21469 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
21470 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
21471 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
21472 (INSN_LENGTH_ALIGNMENT): Likewise.
21473 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
21474 * config/sh/sh.md (call, call_value, sibcall): Simplify
21475 copying of non-branch-target register.
21476 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 21477 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
21478 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
21479 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
21480 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
21481 floating-point values as structs.
21482 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
21483 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
21484 general-purpose register.
21485 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
21486 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
21487 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
21488 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
21489 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
21490 (ENCODE_SECTION_INFO): Enclose variables and constants in
21491 DATALABEL unspecs.
21492 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
21493 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
21494 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
21495 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
21496 only for LABEL_REFs. For SYMBOL_REFs, prepend
21497 SH_DATALABEL_ENCODING to the symbol name.
21498 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
21499 convert_mode().
21500 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
21501 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
21502 UNSPEC_DATALABEL.
21503 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
21504 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
21505 (DATALABEL_REF_P): Don't require CONST.
21506 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
21507 REL label.
21508 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
21509 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
21510 right.
21511 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
21512 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
21513 Use shallow_copy_rtx and PUT_MODE to change the mode of
21514 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
21515 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
21516 on SHmedia using GENERAL_REGs.
21517 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
21518 bltu_media_i): Fix reversion of conditions.
21519 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
21520 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
21521 * config/sh/sh.c (output_far_jump): Save r13 in macl.
21522 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
21523 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
21524 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
21525 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
21526 (GCC_nested_trampoline): Likewise.
21527 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
21528 * config/sh/sh.c (gen_datalabel_ref): Define.
21529 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
21530 (INITIALIZE_TRAMPOLINE): Likewise.
21531 (TRAMPOLINE_ADJUST_ADDRESS): Define.
21532 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
21533 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
21534 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
21535 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
21536 (ic_invalidate): Adjust for SH5.
21537 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
21538 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
21539 _nested_trampoline.
21540 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
21541 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
21542 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
21543 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
21544 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
21545 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
21546 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
21547 * config/sh/sh.c (target_reg_operand): Match only target-branch
21548 registers and pseudos that aren't virtual registers.
21549 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
21550 Copy operands that don't match target_reg_operand to pseudos.
21551 (call_media, call_value_media, sibcall_media): Use
21552 target_reg_operand instead of target_operand.
21553 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 21554 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
21555 * config/sh/sh.c (target_reg_operand): Match hardware registers
21556 other than branch-target registers.
21557 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
21558 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
21559 (fpscr_values) [SH5 == 32]: Define.
21560 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
21561 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
21562 Handle function addresses coming in SUBREGs.
21563 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
21564 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
21565 shcompact_return_trampoline): Use datalabel where appropriate.
21566 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
21567 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
21568 general-purpose register to copy one branch-target register to
21569 another.
21570 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
21571 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
21572 SYMBOL_REFs with VOIDmode.
21573 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
21574 bltu_media_i): New insns.
21575 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
21576 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
21577 (INIT_CUMULATIVE_ARGS): Likewise.
21578 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
21579 * machmode.def (V16SFmode): New mode.
21580 * c-common.c (type_for_mode): Support V2SF and V16SF.
21581 * tree.c (build_common_tree_nodes_2): Likewise.
21582 * tree.h (tree_index): Likewise.
21583 * calls.c (emit_call_1): Take args_so_far. Adjust all
21584 callers. Introduce CALL_POPS_ARGS.
21585 * tm.texi (CALL_POPS_ARGS): Document.
21586 * config/sh/crt1.asm: Implement in SHmedia mode.
21587 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
21588 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
21589 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
21590 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
21591 Implement divsi and udivsi in SHmedia mode. Introduce
21592 SHcompact trampolines.
21593 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
21594 only in SHmedia64.
21595 (regno_reg_class): Rewrite.
21596 (fp_reg_names): Remove.
21597 (sh_register_names, sh_additional_register_names): New.
21598 (print_operand): Added `u'. Support SUBREGs in addresses.
21599 Add parentheses around shifted CONSTs.
21600 (output_file_start): Output .mode and .abi directives.
21601 (shiftcosts, addsubcosts, multcosts): Adjust.
21602 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
21603 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
21604 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
21605 bytes, not registers. Take into account the need for the
21606 SHcompact incoming args trampoline. Adjust all callers.
21607 (sh_expand_prologue): Take stack_regs into account. Call
21608 incoming args trampoline. Keep stack aligned as per SH5 ABI.
21609 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
21610 stack aligned as per SH5 ABI.
21611 (sh_builtin_saveregs): Support SH5 ABI.
21612 (sh_build_va_list, sh_va_start): Likewise.
21613 (initial_elimination_offset): Take alignment into account.
21614 Compute location of PR according to the SH5 stack frame.
21615 (arith_reg_operand): Reject branch-target registers.
21616 (shmedia_6bit_operand): New.
21617 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
21618 (target_reg_operand): Match DImode only. Accept SUBREGs.
21619 (target_operand): New.
21620 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
21621 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
21622 SIBCALL_REGS for SHmedia.
21623 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
21624 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
21625 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
21626 (TARGET_SWITCHES): New SH5 flags.
21627 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
21628 VALID_REGISTER_P to disable unsupported registers.
21629 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
21630 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
21631 (FUNCTION_ARG_PADDING): Define.
21632 (FASTEST_ALIGNMENT): Adjust.
21633 (SH_REGISTER_NAMES_INITIALIZER): New.
21634 (sh_register_names): Declare.
21635 (DEBUG_REGISTER_NAMES): Define.
21636 (REGISTER_NAMES): Define based on sh_register_names.
21637 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
21638 (sh_additional_register_names): Declare.
21639 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
21640 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
21641 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
21642 (REGISTER_NATURAL_MODE): Define.
21643 (FIRST_PSEUDO_REGISTER): Adjust.
21644 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
21645 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
21646 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
21647 (VECTOR_MODE_SUPPORTED_P): Define.
21648 (REG_CLASS_CONTENTS): Adjust.
21649 (SMALL_REGISTER_CLASSES): Adjust.
21650 (REG_ALLOC_ORDER): Adjust.
21651 (INDEX_REG_CLASS): Adjust.
21652 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
21653 (CONST_OK_FOR_LETTER_P): Adjust.
21654 (PREFERRED_RELOAD_CLASS): Adjust.
21655 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
21656 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
21657 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
21658 (FIRST_FP_PARM_REG): Adjust.
21659 (CALL_POPS_ARGS): Define.
21660 (FUNCTION_ARG_REGNO_P): Adjust.
21661 (struct sh_args): New fields.
21662 (GET_SH_ARG_CLASS): Adjust.
21663 (INIT_CUMULATIVE_ARGS): Adjust.
21664 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
21665 (FUNCTION_ARG_ADVANCE): Adjust.
21666 (FUNCTION_ARG): Adjust.
21667 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
21668 (FUNCTION_ARG_CALLEE_COPIES): Define.
21669 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
21670 (STRICT_ARGUMENT_NAMING): Define.
21671 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
21672 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
21673 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
21674 (SETUP_INCOMING_VARARGS): Adjust.
21675 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
21676 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
21677 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
21678 (SUBREG_OK_FOR_INDEX_P): Adjust.
21679 (EXTRA_CONSTRAINT_S): Update.
21680 (EXTRA_CONSTRAINT_T): New.
21681 (EXTRA_CONSTRAINT): Adjust.
21682 (GO_IF_LEGITIMATE_INDEX): Adjust.
21683 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
21684 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
21685 (MOVE_MAX): Adjust.
21686 (MAX_MOVE_MAX): Define.
21687 (Pmode): Adjust.
21688 (CONST_COSTS): Adjust.
21689 (REGISTER_MOVE_COST): Adjust.
21690 (BRANCH_COST): Adjust.
21691 (TEXT_SECTION_ASM_OP): Adjust.
21692 (DBX_REGISTER_NUMBER): Adjust.
21693 (ASM_OUTPUT_DOUBLE_INT): New.
21694 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
21695 (PREDICATE_CODES): Adjust.
21696 (PROMOTE_MODE): Adjust.
21697 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
21698 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
21699 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
21700 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
21701 (DR0_REG, DR2_REG, DR4_REG): Renumber.
21702 (TR0_REG, TR1_REG, TR2_REG): New.
21703 (XD0_REG): Renumber.
21704 (UNSPEC_COMPACT_ARGS): New.
21705 (type): Added pt and ptabs.
21706 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 21707 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
21708 (pt): New function unit.
21709 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
21710 Add whitespace between operands of SHmedia instructions.
21711 (movdicc): Fix.
21712 (adddi3_media, addsi3_media): Adjust constraints.
21713 (subsi3) [SHmedia]: Force operand 1 into a register.
21714 (udivsi3_i1_media, udivsi3_i4_media): New.
21715 (udivsi3): Support SHmedia.
21716 (divsi3_i1_media, divsi3_i4_media): New.
21717 (divsi3): Support SHmedia.
21718 (anddi3, iordi3, xordi3): Adjust constraints.
21719 (zero_extendhidi2, zero_extendqidi2): New.
21720 (extendsidi2, extendhidi2, extendqidi2): New.
21721 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
21722 (pop_e, pop_fpul, pop_4): Likewise.
21723 (movsi_media): Support FP and BT registers.
21724 (movsi_media_nofpu): New. Adjust splits to DImode.
21725 (lduw, ldub): Renamed to zero_extend* above.
21726 (movqi_media): Fix typo.
21727 (movdi_media): Support FP and BT registers.
21728 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
21729 (movdi_const_32bit): New.
21730 (shori_media): Require immediate operand. Use `u' for output.
21731 (movdf_media, movsf_media): Simplified.
21732 (movdf_media_nofpu, movsf_media_nofpu): New.
21733 (movdf, movsf): Adjust
21734 (movv2sf, movv2sf, movv16sf): New.
21735 (beq_media, beq_media_i): Adjust constraints. Don't use
21736 scratch BT register.
21737 (bne_media, bne_media_i): Likewise.
21738 (bgt_media, bgt_media_i): Likewise.
21739 (bge_media, bge_media_i): Likewise.
21740 (bgtu_media, bgtu_media_i): Likewise.
21741 (bgeu_media, bgeu_media_i): Likewise.
21742 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
21743 bunordered): Emit jump insn. Force operands to registers when
21744 needed.
21745 (jump_media, jump): Simplify.
21746 (call_compact, call_compact_rettramp): New.
21747 (call_value_compact, call_value_compact_rettramp): New.
21748 (call_media, call_value_media): Simplify.
21749 (sibcall_compact, sibcall_media): New.
21750 (call, call_value): Adjust for SHmedia and SHcompact.
21751 (sibcall, sibcall_value, untyped_call): Likewise.
21752 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
21753 (indirect_jump): Adjust for SHmedia.
21754 (casesi_jump_media): New.
21755 (nop): Re-enable for SHmedia.
21756 (call_site): Restrict to SH1.
21757 (casesi): Adjust for SHmedia.
21758 (casesi_shift_media, casesi_load_media): New.
21759 (return): Explicitly use PR register. Call return trampoline
21760 on SHcompact.
21761 (return_i): Explicitly use PR register.
21762 (shcompact_return_tramp, shcompact_return_tramp_i): New.
21763 (return_media): Adjust.
21764 (shcompact_incoming_args): New.
21765 (epilogue): Adjust.
21766 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
21767 (movstrsi): Disable on SH5.
21768 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
21769 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
21770 (subsf3, subsf3_media): Likewise.
21771 (mulsf3, mulsf3_media, mac_media): Likewise.
21772 (divsf3, divsf3_media): Likewise.
21773 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
21774 (floatsisf2, fux_truncsfsi2): Likewise.
21775 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
21776 constraints.
21777 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
21778 (cmpunsf_media, cmpsf): Likewise.
21779 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
21780 (abssf2, abssf2_media): Likewise.
21781 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
21782 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
21783 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
21784 (floatsidf2, fix_truncdfsi2): Likewise.
21785 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
21786 constraints.
21787 (cmpeqdf_media, cmpgtdf_media): Likewise.
21788 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
21789 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
21790 (absdf2, absdf2_media): Likewise.
21791 (extendsfdf2, extendsfdf2_media): Likewise.
21792 (truncsfdf2, truncsfdf2_media): Likewise.
21793 * config/sh/sh64.h: New file.
21794 * config/sh/t-sh64: New file.
21795 * config/sh/shmedia.h: New file.
21796 * config/sh/ushmedia.h: New file.
21797 * config/sh/sshmedia.h: New file.
21798 * configure.in: Added sh64-*-elf.
21799 * configure: Rebuilt.
21800 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
21801 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
21802 (reg_class_from_letter): Use `b' for TARGET_REGS.
21803 (print_operand): Support `%M', `%m', `AND' and
21804 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
21805 (andcosts): Adjust for SHmedia.
21806 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
21807 Likewise.
21808 (target_reg_operand): New function.
21809 * config/sh/sh-protos.h (target_reg_operand): Declare.
21810 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
21811 FP registers on SH5.
21812 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
21813 on SH4.
21814 (TARGET_REGISTER_P): New macro.
21815 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
21816 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
21817 (EXTRA_CONSTRAINT_S): New macro.
21818 (EXTRA_CONSTRAINT): Adjust.
21819 (FLOAT_TYPE_SIZE): Define to 32.
21820 (Pmode): DImode on SHmedia.
21821 (CONST_COSTS): Adjust for SHmedia literals.
21822 (PREDICATE_CODES): Added target_reg_operand.
21823 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
21824 * config/sh/sh.md: Remove all attrs from SHmedia insns.
21825 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
21826 (cmpdi): Accept SHmedia.
21827 (movdicc_false, movdicc_true): New insns.
21828 (movdicc): New expand.
21829 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
21830 no_new_pseudos.
21831 (addsi3_media): Match `S' constraint.
21832 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
21833 (negdi2): Expand for SHmedia.
21834 (one_cmpldi2): New expand.
21835 (zero_extendsidi2): Change from expand to insn.
21836 (extendsidi2): Add constraints.
21837 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
21838 LD/ST address. Fix SI immediate loading split.
21839 (movhi_media, movqi_media, lduw, ldub): New insns.
21840 (movhi, movqi): Accept SHmedia.
21841 (shori_media, movdi_media): Relax input constraints. Split
21842 symbolic constants.
21843 (movdf_media, movsf_media): New insn. New split to movdi.
21844 (movdf, movsf): Match on SHmedia.
21845 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
21846 bgeu_media): New insns and splits. New insns with `_i' suffix.
21847 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
21848 (bunordered): New expand.
21849 (jump_compact): Renamed from `jump'.
21850 (jump_media): New insn.
21851 (jump): New expand.
21852 (call_media, call_value_media): New insns.
21853 (call, call_value): Adjust.
21854 (indirect_jump_compact): Renamed from `indirect_jump'.
21855 (indirect_jump_media): New insn.
21856 (indirect_jump): New expand.
21857 (untyped_call, return): Accept SHmedia.
21858 (return_media): New insn.
21859 (prologue, epilogue, blockage): Accept SHmedia.
21860 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
21861 (sunordered): New expand.
21862 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
21863 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
21864 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
21865 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
21866 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
21867 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
21868 abssf2_media): New insns.
21869 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
21870 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
21871 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
21872 floatdidf2, floatsidf2_media, fix_truncdfdi2,
21873 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
21874 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
21875 absdf2_media): New insns.
21876 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
21877 (extendsfdf2_media, truncdfsf2_media): New insns.
21878 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
21879 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
21880 * config/sh/sh.h (CONST_OK_FOR_J): Document.
21881 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
21882 * config/sh/sh.md (adddi3): New expand.
21883 (adddi3_media, adddi3z_media): New insns.
21884 (adddi3_compact): Renamed from adddi3.
21885 (addsi3_media): Use add.l r63 to add constant zero.
21886 (subdi3): New expand.
21887 (subdi3_media): New insn.
21888 (subdi3_compact): Renamed from subdi3.
21889 (mulsidi3): New expand.
21890 (mulsidi3_media): New insn.
21891 (mulsidi3_compact): Renamed from mulsidi3.
21892 (umulsidi3): New expand.
21893 (umulsidi3_media): New insn.
21894 (umulsidi3_compact): Renamed from umulsidi3.
21895 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
21896 (ashlsi3, ashrsi3, lshrsi3): Use them.
21897 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
21898 (ashldi3, ashrdi3, lshrdi3): Use them.
21899 (zero_extendsidi2): New expand.
21900 (extendsidi2): New insn.
21901 (movsi_media): New insn. Split to movdi to load constants.
21902 (movsi): Enable for shmedia.
21903 (movdi_media): New insn. Use shori_media to load wide constants.
21904 (short_media): New insn.
21905 (movdi): Enable for shmedia.
21906 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
21907 * config/sh/sh.h (CPP_SPEC): Added `m5'.
21908 (SUBTARGET_CPP_SPEC): Added `!m5'.
21909 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
21910 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
21911 to all other SH variants.
21912 (TARGET_DEFAULT): Set to SH1_BIT.
21913 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
21914 (BITS_PER_WORD): Raise to 64 on shmedia.
21915 (MAX_BITS_PER_WORD): Change to 64.
21916 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
21917 (INT_TYPE_SIZE): Keep as 32.
21918 (UNITS_PER_WORD): Raise to 8 on shmedia.
21919 (MIN_UNITS_PER_WORD): Keep as 4.
21920 (POINTER_SIZE): Raise to 64 on shmedia.
21921 (CONST_OK_FOR_J): New macro.
21922 (CONST_OK_FOR_LETTER_P): Use it.
21923 (processor_type): Add PROCESSOR_SH5.
21924 * config/sh/sh.md: Conditionalize all expands, insns and
21925 splits to TARGET_SH1.
21926 (cpu): Added sh5.
21927 (addsi3_compact): Renamed from...
21928 (addsi3): Now an expand.
21929 (addsi3_media, subsi3_media): New insns.
21930 (subsi3): Don't negate constants with SHmedia.
21931
e4ec2cac
AO
21932 * hooks.c: New file.
21933 * hooks.h: New file.
21934 * Makefile.in (HOOKS_H): New.
21935 (TARGET_DEF_H): Added $(HOOKS_H).
21936 (OBJS): Added hooks.o.
21937 (cfgcleanup.o, bb-reorder.o): Added target.h.
21938 (hooks.o): Added dependencies.
21939 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
21940 (TARGET_INITIALIZER): this.
21941 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
21942 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
21943 * bb-reorder.c: Include target.h.
21944 (reorder_basic_blocks): Skip if cannot modify jumps.
21945 * cfgcleanup.c: Include target.h.
21946 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
21947
246a46e0
CD
219482002-02-08 Chris Demetriou <cgd@broadcom.com>
21949
831c4e87
KC
21950 * config/mips/mips.md (casesi_internal, casesi_internal_di):
21951 Protect jump delay slot instructions with .set noreorder and
21952 .set nomacro.
246a46e0
CD
21953
219542002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
21955
21956 * config/mips/mips.md (casesi_internal_di): Calculate
21957 the index into the target offset table correctly.
21958
fdf473ae
RH
219592002-02-08 Richard Henderson <rth@redhat.com>
21960
21961 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
21962 * final.c (output_addr_const): Accept and discard SUBREG.
21963 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
21964 mark them unknown instead.
21965 (simplify_subtraction): Handle RTX_UNKNOWN.
21966 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
21967
c50503ac
DE
219682002-02-08 David Edelsohn <edelsohn@gnu.org>
21969
21970 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
21971
3660d217
RH
219722002-02-08 Richard Henderson <rth@redhat.com>
21973
21974 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
21975
56547299
AJ
219762002-02-08 Andreas Jaeger <aj@suse.de>
21977
21978 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
21979 * config/i386/t-linux64: New file.
21980
1cf537c5
JJ
219812002-02-08 Jakub Jelinek <jakub@redhat.com>
21982
21983 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
21984 * c-parse.in (compstmt): Clear last_expr_type.
21985
5c7f5a5f
RH
219862002-02-07 Richard Henderson <rth@redhat.com>
21987
21988 * loop.c (strength_reduce): Sink final_value when not
21989 eliminating a biv.
21990
b1138bf3
DB
219912002-02-07 David O'Brien <obrien@FreeBSD.org>
21992
21993 * config/sparc/freebsd.h: Fix mismatched spec {.
21994
b6878a45
RH
219952002-02-07 Richard Henderson <rth@redhat.com>
21996
21997 * cfgrtl.c: Include recog.h and insn-config.h.
21998 (keep_with_call_p): Fix general_operand invocation.
21999 * Makefile.in (cfgrtl.o): Update dependencies.
22000
ae19f5ef
KH
220012002-02-07 Kazu Hirata <kazu@hxi.com>
22002
22003 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
22004 comment. Accept HImode only if TARGET_H8300.
22005
b137f9fc
EC
220062002-02-07 Eric Christopher <echristo@redhat.com>
22007
22008 * config/mips/crtn.asm: Cleanup #ifdefs.
22009
220102002-02-07 Eric Christopher <echristo@redhat.com>
22011
22012 * config/mips/crti.asm: Add changes for mips16. mips16 uses
22013 register 7 as RA instead of $31.
22014 * config/mips/crtn.asm: Ditto.
22015 * config/mips/mips.c (mips_move_2words): Add case for
22016 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
22017 (compute_frame_size): Fix typo.
22018 (save_restore_insns): Ditto. Make documentation about using
22019 register $7 as return register more precise.
22020 (mips_expand_epilogue): Fix comment. Add code to work around not
22021 being able to add to the stack pointer directly.
22022 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
22023 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
22024 epilogue.
22025
768070a0
TR
220262002-02-07 Tom Rix <trix@redhat.com>
22027
b137f9fc 22028 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
22029 immediates in ldu and stdu DS opcode field.
22030 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
22031 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
22032 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
22033
225909c3
JS
220342002-02-07 Jeff Sturm <jsturm@one-point.com>
22035
22036 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
22037 offset for stack bias.
22038
15fae023
L
220392002-02-07 H.J. Lu <hjl@gnu.org>
22040
22041 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
22042
fde5badd
UW
220432002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
22044
22045 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
22046
162f023b
JH
22047Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
22048
22049 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
22050 * i386.c (x86_order_regs_for_local_alloc): New global function.
22051 * i386.h (REG_ALLOC_ORDER): CLeanup.
22052 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
22053
9b462c42
RH
220542002-02-07 Richard Henderson <rth@redhat.com>
22055
85aa876c 22056 PR optimization/2463
9b462c42
RH
22057 * alias.c (find_base_value): Recall base values for fixed hard regs.
22058 * loop.c (loop_regs_update): Don't use single_set on non-insns.
22059
06e455a9
AO
220602002-02-07 Alexandre Oliva <aoliva@redhat.com>
22061
22062 * config/mips/mips.md (define_delay) [mips16]: Adjust required
22063 length.
22064
edd1967d
RH
220652002-02-06 Richard Henderson <rth@redhat.com>
22066
22067 PR c/5609
22068 * stmt.c (resolve_operand_name_1): Take more care with mixed
22069 named and unnamed operands.
22070
a2cd028f
JJ
220712002-02-06 Janis Johnson <janis187@us.ibm.com>
22072 Jan Hubicka <jh@suse.cz>
22073
22074 * loop.c (remove_constant_addition): Avoid clobbering a shared
22075 CONST expression.
22076
e8487c04
UW
220772002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
22078
22079 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
22080 * config/s390/t-linux64: New file.
22081 * config/s390/libgcc-glibc.ver: New file.
22082
58d10f89
UW
220832002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
22084
22085 * config/s390/linux64.h: Delete file.
22086 * config/s390/s390x.h: New file.
22087 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
22088 as target header file.
22089 * config/s390/linux.h (TARGET_VERSION): Define depending on
22090 DEFAULT_TARGET_64BIT.
22091 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
22092 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
22093 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
22094 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
22095 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
22096 (EXTRA_SPEC): New define.
22097 * config/s390/s390.h (TARGET_VERSION): Define depending on
22098 DEFAULT_TARGET_64BIT.
22099 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
22100
5ce89b2e
JM
221012002-02-06 Jason Merrill <jason@redhat.com>
22102
22103 * c-decl.c (finish_function): Warn about a non-void function with
22104 no return statement and no abnormal exit.
22105 (current_function_returns_abnormally): New variable.
22106 (start_function): Clear it.
22107 (struct c_language_function): Add returns_abnormally.
22108 (push_c_function_context): Save it.
22109 (pop_c_function_context): Restore it.
22110 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
22111 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
22112 an explicit return type.
22113 * c-tree.h: Declare current_function_returns_abnormally.
22114 (C_FUNCTION_IMPLICIT_INT): New macro.
22115 * c-typeck.c (build_function_call): Set it.
22116 (c_expand_return): Set current_function_returns_value even if the
22117 value is erroneous.
22118
caaf2272
JJ
221192002-02-06 Jakub Jelinek <jakub@redhat.com>
22120
22121 PR c/5420:
22122 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
22123 unsafe for reevaluation.
22124
d5129288
JJ
221252002-02-06 Jakub Jelinek <jakub@redhat.com>
22126
22127 PR c/5482:
22128 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
22129 EXPR_STMT, but COMPOUND_STMT, recurse into it.
22130
7fb75099
RH
221312002-02-06 Richard Henderson <rth@redhat.com>
22132
22133 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
22134 be a general_operand. Dest for function value must be a pseudo.
22135
d3a8b6a6
NC
221362002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
22137
22138 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
22139 as SYMBOL_REFs from the constant pool.
22140
3c1299c5
AO
221412002-02-06 Alexandre Oliva <aoliva@redhat.com>
22142
22143 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
22144 passed by invisible reference.
22145
c2c9f6c9
RH
221462002-02-05 Richard Henderson <rth@redhat.com>
22147
22148 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
22149
a824924d
HPN
221502002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
22151
22152 Implement using "base addresses" in insn operands as default.
22153 * config/mmix/mmix.c (mmix_conditional_register_usage): if
22154 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
22155 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
22156 used to read the rtx value.
22157 (mmix_target_asm_function_epilogue): Fix spacing.
22158 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
22159 (mmix_legitimate_address): Ditto.
22160 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
22161 should be loaded with a GETA insn. Don't allocate needless extra
22162 char for nul termination and fix misleading comment.
22163 (mmix_print_operand_address): Handle constants if
22164 TARGET_BASE_ADDRESSES.
22165 (mmix_output_register_setting): Use base addressing if
22166 TARGET_BASE_ADDRESSES and the number of insns is 3.
22167 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
22168 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
22169 to use R as constraint, add LDA to match s.
22170 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
22171 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
22172 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
22173 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
22174 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
22175 order with other fixed registers.
22176 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
22177 other parameter/call-clobbered registers.
22178 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
22179 -mbase-addresses, -mno-base-addresses.
22180 (MMIX Options): Ditto.
22181
73c342b9
JDA
221822002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
22183
22184 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
22185
ef238c58
AH
221862002-02-06 Aldy Hernandez <aldyh@redhat.com>
22187
831c4e87 22188 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 22189
ad08e60e
JT
221902002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
22191
22192 * config/netbsd.h (WCHAR_TYPE): Define.
22193 (WCHAR_TYPE_SIZE): Ditto.
22194 (WINT_TYPE): Ditto.
22195 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
22196 (WCHAR_UNSIGNED): Ditto.
22197 (WCHAR_TYPE_SIZE): Ditto.
22198 (WINT_TYPE): Ditto.
22199 * config/arm/netbsd.h: Likewise.
22200 * config/i386/netbsd-elf.h: Likewise.
22201 * config/i386/netbsd.h: Likewise.
22202 * config/m68k/netbsd-elf.h: Likewise.
22203 * config/m68k/netbsd.h: Likewise.
22204 * config/ns32k/netbsd.h: Likewise.
22205 * config/sparc/netbsd.h: Likewise.
22206 * config/vax/netbsd.: Likewise.
22207
f913c102
AO
222082002-02-05 Alexandre Oliva <aoliva@redhat.com>
22209
22210 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
22211 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
22212 (TARGET_INITIALIZER): this.
22213 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
22214 (BITFIELD_NBYTES_LIMITED): Markup fix.
22215 * tree.h (default_ms_bitfield_layout_p): Declare.
22216 (record_layout_info): Added prev_field.
22217 * tree.c (default_ms_bitfield_layout_p): New fn.
22218 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
22219 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
22220 * stor-layout.c: Include target.h.
22221 (start_record_layout): Initialize prev_field.
22222 (place_field): Handle MS bit-field layout, and disregard
22223 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
22224 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
22225 * Makefile.in (stor-layout.o): Adjust dependencies.
22226
c13db5d1
JM
222272002-02-05 Jason Merrill <jason@redhat.com>
22228
c13db5d1
JM
22229 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
22230
4505024e
AJ
222312002-02-05 Andreas Jaeger <aj@suse.de>
22232
22233 * crtstuff.c: Fix comments.
22234
794ad79d
RH
222352002-02-05 Richard Henderson <rth@redhat.com>
22236
2e279a9b
RH
22237 PR fortran/3393
22238 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
22239 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
22240
794ad79d
RH
22241 PR fortran/3392
22242 * config/mips/mips.c (function_arg): Handle TImode.
22243 (function_arg_advance): Likewise.
22244
8f909017
AH
222452002-02-05 Aldy Hernandez <aldyh@redhat.com>
22246
c13db5d1
JM
22247 * config/rs6000/altivec.h (vec_step_help): Rename to
22248 __vec_step_help.
8f909017 22249
66daa9e3
AH
222502002-02-05 Aldy Hernandez <aldyh@redhat.com>
22251
c13db5d1 22252 * config/rs6000/altivec.h: Fix typos.
66daa9e3 22253
2696e97b
JT
222542002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
22255
22256 * config/arm/netbsd.h: Correct a comment.
22257
3deb2758
AH
222582002-02-05 Aldy Hernandez <aldyh@redhat.com>
22259
c13db5d1
JM
22260 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
22261 building void typed builtins.
3deb2758 22262
c13db5d1
JM
22263 * config/rs6000/altivec.h (vec_ld*): Fix typos.
22264 (vec_step): Implement for C++.
3deb2758 22265
c13db5d1 22266Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
22267
22268 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
22269
ebbb0a63
RH
222702002-02-04 Richard Henderson <rth@redhat.com>
22271
22272 * combine.c (nonzero_bits): Re-introduce special case for
22273 sp/fp/ap wrt REGNO_POINTER_ALIGN.
22274
ae4b4a02
AH
222752002-02-05 Aldy Hernandez <aldyh@redhat.com>
22276
c13db5d1
JM
22277 * doc/extend.texi: Warn about unsupported usage of altivec
22278 builtins.
ae4b4a02 22279
c13db5d1
JM
22280 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
22281 (altivec_predicate_*): New.
ae4b4a02 22282
c13db5d1
JM
22283 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
22284 Add C++ version of vec_*() functions.
ae4b4a02 22285
c13db5d1
JM
22286 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
22287 (bdesc_2arg): Remove altivec predicates.
22288 (altivec_expand_builtin): Handle predicates.
22289 (altivec_init_builtins): Handle predicates.
22290 (altivec_expand_predicate_builtin): New.
ae4b4a02 22291
f6bcf44c
JDA
222922002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
22293
22294 * pa.c (DO_FRAME_NOTES): Move forward.
22295 (store_reg): Revise handling of frame notes.
22296 (load_reg): Likewise.
22297 (set_reg_plus_d): Likewise.
22298 (hppa_expand_prologue): Likewise.
22299 (hppa_expand_epilogue): Likewise.
b137f9fc 22300
703b0080
JDA
223012002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
22302
22303 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
22304
6f9fdf4d
JJ
223052002-02-04 Jakub Jelinek <jakub@redhat.com>
22306
22307 PR c/4475, c++/3780:
22308 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
22309 * c-common.h (SWITCH_TYPE): Define.
22310 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
22311 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
22312 Rename spareness variable to sparseness.
22313 (expand_end_case_type): Renamed from expand_end_case, use orig_type
22314 if non-NULL instead of TREE_TYPE (orig_index).
22315 * tree.h (expand_end_case_type): Renamed from expand_end_case.
22316 (expand_end_case): Define using expand_end_case_type.
22317 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
22318 to expand_end_case_type.
22319 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
22320
79109502
JDA
223212002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
22322
22323 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
22324 (BIGGEST_ALIGNMENT): Change to 128.
22325
e62a5987
JDA
223262002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
22327
22328 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
22329
219f24a4
JDA
223302002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
22331
22332 * pa.md (call_internal_reg_64bit): Remove unused variable.
22333
3cb66fd7
NC
223342002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
22335
22336 * config/arm/arm.h (machine_function): Add uses_anonymous_args
22337 field.
831c4e87 22338 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 22339 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
22340 replace uses with cfun->machine->uses_anonymous_args.
22341 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
22342
22343 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
22344 any geenral register.
b137f9fc 22345
5d5603e2 223462001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
22347
22348 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
22349 the entry block.
22350
563c12b0
RH
223512002-02-04 Richard Henderson <rth@redhat.com>
22352
22353 * combine.c (force_to_mode): Remove STACK_BIAS code.
22354 (nonzero_bits): Likewise. Replace sp/fp special case with
22355 REGNO_POINTER_ALIGN.
22356
22357 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
22358 (HARD_FRAME_POINTER_REGNUM): New.
22359 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
22360 (FIXED_REGS, CALL_USED_REGS): Update.
22361 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
22362 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
22363 (HARD_REGNO_NREGS): Update for SFP.
22364 (STACK_POINTER_OFFSET): Include bias here ...
22365 (FIRST_PARM_OFFSET): ... not here.
22366 (STACK_BIAS): Remove.
22367 (INIT_EXPANDERS): New.
22368 (STARTING_FRAME_OFFSET): Do not include bias.
22369 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
22370 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
22371 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
22372 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
22373 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
22374 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
22375 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
22376 (MUST_SAVE_REGISTER): Likewise.
22377 (sparc_flat_function_prologue): Likewise.
22378 (sparc_flat_function_epilogue): Likewise.
22379 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
22380 (sparc_init_modes): SFP is GENERAL_REGS.
22381 (sparc_builtin_saveregs): SFP does not have bias applied.
22382
14691f8d
RH
223832002-02-04 Richard Henderson <rth@redhat.com>
22384
22385 * config/alpha/alpha.c (current_function_is_thunk): Don't check
22386 current_function_is_thunk.
22387 (alpha_sa_mask): Distinguish between current_function_is_thunk
22388 called from ASM_OUTPUT_MI_THUNK and not.
22389 (alpha_does_function_need_gp): Thunks always need gp.
22390 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
22391 (alpha_output_mi_thunk_osf): New.
22392 * config/alpha/alpha-protos.h: Update.
22393 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
22394
af702de8
RS
223952002-02-04 Richard Sandiford <rsandifo@redhat.com>
22396
22397 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
22398 function types, not when they're taken away.
22399
5b1cacd8
JL
22400Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
22401
22402 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
22403 CODE_LABEL and jump table when replacing a table jump with a
22404 simple jump.
22405
f3e9edff
UW
224062002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
22407
22408 * config/s390/s390-protos.h (legitimize_la_operand,
22409 s390_secondary_input_reload_class, s390_plus_operand,
22410 s390_expand_plus_operand): Add prototypes.
22411
22412 config/s390/s390.c (s390_secondary_input_reload_class,
22413 s390_plus_operand, s390_expand_plus_operand): New functions.
22414
22415 (struct s390_address): New member 'pointer'.
22416 (s390_decompose_address): Compute it.
22417 (legitimate_la_operand_p): Use it.
22418 (legitimize_la_operand): New function.
22419 (movti, movdi, movdf splitters): Call it.
22420
22421 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
22422 (PREDICATE_CODES): Add s390_plus_operand.
22423
22424 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
22425 (la_ccclobber): Allow GENERAL_REGS as output operand.
22426
22427 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
22428 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
22429 (*la_64, *la_31, reload_indi, reload_insi): ... these.
22430
3c9a08ec
UW
224312002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
22432
22433 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
22434 register names for regular asm () construct.
22435
ac300a45
JJ
224362002-02-04 Jakub Jelinek <jakub@redhat.com>
22437
22438 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
22439 registers.
22440
fa852403
JJ
224412002-02-04 Jakub Jelinek <jakub@redhat.com>
22442
22443 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
22444 pat for recog.
22445
fecaac37
HP
224462002-02-04 Hartmut Penner <hpenner@de.ibm.com>
22447
831c4e87
KC
22448 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
22449 constant pool to be identical by string address and index.
fecaac37 22450
10c45943
AG
224512002-02-04 Anthony Green <green@redhat.com>
22452
22453 * output.h (SECTION_OVERRIDE): Define.
22454 * varasm.c (named_section): Obey SECTION_OVERRIDE.
22455
69474c3c
JT
224562002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
22457
22458 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
22459 by existing arm*-*-netbsd* (a.out) target.
22460 (ns32k-*-netbsdelf*): Likewise.
22461 (sparc-*-netbsdelf*): Likewise.
22462 (vax-*-netbsdelf*): Likewise.
22463
939a46f6 224642002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
22465
22466 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
22467 headers and libobjc headers.
22468
224692002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
22470
22471 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
22472 (_mingw.h): Remove duplicate include.
22473
2fd95d71
JT
224742002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
22475
22476 * config.gcc: Set cpu_type to m68k for 68010, as well.
22477 (m68010-*-netbsdelf*): New...
22478 (m68k*-*-netbsdelf*): ...targets.
22479 * config/m68k/netbsd-elf.h: New file.
22480
0ea6f6a0
KH
224812002-02-02 Kazu Hirata <kazu@hxi.com>
22482
22483 * config/h8300/h8300.c (hand_list): Move inside function_arg.
22484
cbf1b2da
KH
224852002-02-02 Kazu Hirata <kazu@hxi.com>
22486
22487 * config/h8300/h8300.c (h8_push_ops): Move inside
22488 h8300_init_once.
22489 (h8_pop_ops): Likewise.
22490 (h8_move_ops): Likewise.
22491
0869f126
KH
224922002-02-02 Kazu Hirata <kazu@hxi.com>
22493
22494 * config/h8300/h8300.c (os_task): Make it static.
22495 (monitor): Likewise.
22496 (pragma_saveall): Likewise.
22497
90e65b70
AO
224982002-02-02 Alexandre Oliva <aoliva@redhat.com>
22499
22500 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
22501 constant is a valid sign-extension for Pmode.
22502
9cbcd983
KH
225032002-02-02 Kazu Hirata <kazu@hxi.com>
22504
22505 * config/h8300/h8300.c: Fix formatting.
22506
7a27efc4
KH
225072002-02-02 Kazu Hirata <kazu@hxi.com>
22508
22509 * config/h8300/h8300.md: Fix formatting.
22510
54175a44
KH
225112002-02-02 Kazu Hirata <kazu@hxi.com>
22512
22513 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
22514 predicates of operands[1]. Split the patterns for each
22515 processor variant.
22516
eceb1755
KH
225172002-02-02 Kazu Hirata <kazu@hxi.com>
22518
22519 * config/h8300/h8300.md (xor patterns): Tighten the predicates
22520 of operands[1] to register_operand.
22521
0fef3fd0
NB
225222002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
22523
22524 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
22525 * cpphash.c (_cpp_init_hashtable): Similarly.
22526 * cppinit.c (cpp_create_reader): Default the signed_char flag.
22527 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
22528 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
22529 (cpp_handle_option): Handle the new options.
22530 * cpplex.c (cpp_interpret_charconst): Use new flag.
22531 * cpplib.h (struct cpp_options): New member signed_char.
22532 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
22533 (cpp_options): Handle -fsigned-char and -funsigned-char.
22534 (static_specs): Remove signed_char_spec.
22535 (do_spec1): Don't handle %c.
22536 * system.h: Poison SIGNED_CHAR_SPEC.
22537 * tradcif.y (yylex): Use flag_signed_char.
22538 * tradcpp.h (flag_signed_char): New.
22539 * tradcpp.c (flag_signed_char): New.
22540 (main): Handle new command-line options.
22541 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
22542config:
22543 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
22544 * avr/avr.h: Remove old comments.
22545 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
22546 (CC1_SPEC): Pass -fsigned-char if -mic*.
22547 (SIGNED_CHAR_SPEC): Remove.
22548doc:
22549 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
22550
0617ed52
EC
225512002-02-01 Eric Christopher <echristo@redhat.com>
22552
22553 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
22554 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
22555 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
22556 (ASM_OUTPUT_REG_POP): Ditto.
22557
dfd48d76
NB
225582002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
22559
22560 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
22561 patch.
22562
4a23409e
JJ
225632002-02-02 Jakub Jelinek <jakub@redhat.com>
22564
22565 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
22566
d3c52658
JJ
225672002-02-02 Jakub Jelinek <jakub@redhat.com>
22568
22569 PR c/5304:
22570 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
22571 unconditionally.
22572
02c5a3bd
JJ
225732002-02-01 Janis Johnson <janis187@us.ibm.com>
22574
22575 * cfganal.c: Include tm_p.h.
22576 (keep_with_call_p): Fix the test that determines if a register holds
22577 the return value of a call.
22578
3968de80
DD
225792002-02-01 DJ Delorie <dj@redhat.com>
22580
22581 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
22582 we are given conflicting registers, switch to the other one we
22583 had allocated for us.
22584 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
22585 as TImode so we know when the "other" register is available.
22586
1338ea6c
DB
225872002-02-01 David O'Brien <obrien@FreeBSD.org>
22588
22589 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
22590 sparc/sparc_bi.h.
22591
f015be23
JJ
225922002-02-01 Janis Johnson <janis187@us.ibm.com>
22593
22594 * cfganal.c (keep_with_call_p): New function.
22595 (flow_call_edges_add): Prevent splitting a block between a call and
22596 a single-set instruction that should be kept in the same block.
22597
63708ffc
CR
225982002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
22599
22600 * doc/install.texi (avr): Update outdated URL.
22601
5ee4950e
AH
226022002-01-30 Andrew Haley <aph@cambridge.redhat.com>
22603
831c4e87
KC
22604 * config/stormy16/stormy16.md (pushqi): New.
22605 (popqi): New.
22606 (pushhi): New.
22607 (pophi): New.
22608 (movhi): Remove stack operands.
22609 (movqi): Likewise.
22610 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
22611 nonimmediate_nonstack_operand.
22612 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
22613 New.
22614 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
22615 New.
5ee4950e 22616
b88c0704
JM
226172002-01-31 Jason Merrill <jason@redhat.com>
22618
22619 * Makefile.in (c-parse.c): Handle .output file.
22620 * objc/Make-lang.in (objc-parse.c): Likewise.
22621
ac282977
AO
226222002-02-01 Alexandre Oliva <aoliva@redhat.com>
22623
22624 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
22625 the -me[lb] option is given. Don't output the default flag
22626 twice.
22627
bebc7e8b
ZW
226282002-01-31 Zack Weinberg <zack@codesourcery.com>
22629
22630 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
22631 the primary source file; this has not been done yet.
22632 * c-decl.c (c_expand_body): Reset input_filename from
22633 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
22634
5809eb5f
KH
226352002-01-31 Kazu Hirata <kazu@hxi.com>
22636
22637 * rtlanal.c (subreg_regno_offset): Do not use
22638 SUBREG_REGNO_OFFSET.
22639 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
22640 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
22641
8512bbd7
JM
226422002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
22643
22644 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
22645 version rather than GNATS version in --version output.
22646
74cb3cc8
RS
226472002-01-31 Richard Sandiford <rsandifo@redhat.com>
22648
22649 * ifcvt.c (noce_process_if_block): Make a copy of the destination
22650 when copying back from a temporary.
22651
874b5b14
RH
226522002-01-30 Richard Henderson <rth@redhat.com>
22653
22654 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
22655 and new_dest are the same.
22656
e803a64b
RH
226572002-01-30 Richard Henderson <rth@redhat.com>
22658
89cf7be5 22659 PR opt/5076
e803a64b
RH
22660 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
22661 * rtl.c (note_insn_name): Update.
22662 * emit-rtl.c (remove_unnecessary_notes): Kill it.
22663 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
22664 to perform loop rotation.
22665 (expand_exit_loop_top_cond): New.
22666 * tree.h (expand_exit_loop_top_cond): Declare it.
22667 * c-semantics.c (genrtl_while_stmt): Use it.
22668 (genrtl_for_stmt): Likewise.
22669
0b51254d
AO
226702002-01-30 Alexandre Oliva <aoliva@redhat.com>
22671
22672 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
22673 arguments to 64-bit boundaries on 64-bit ABIs.
22674
71cef493
SE
226752002-01-30 Steve Ellcey <sje@cup.hp.com>
22676
22677 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
22678
6169e5fd
JM
226792002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
22680
22681 * c-decl.c (grokdeclarator): Handle type being a typedef for an
22682 invalid type.
22683
86f808dc
DB
226842002-01-30 David O'Brien <obrien@FreeBSD.org>
22685
22686 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
22687 * config/sparc/sparc_bi.h: Remove file.
22688 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
22689
5748ebeb
RH
226902002-01-30 Richard Henderson <rth@redhat.com>
22691
22692 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
22693
20d32cc2
ZW
226942002-01-30 Zack Weinberg <zack@codesourcery.com>
22695
22696 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
22697
b88c0704 226982002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
22699
22700 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
22701 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
22702 (reg_save): Use DW_CFA_offset_extended_sf instead.
22703
22704 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
22705
37060e78
JJ
227062002-01-29 Jakub Jelinek <jakub@redhat.com>
22707
22708 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
22709 in cselib_lookup.
22710
d18dba68
AH
227112002-01-29 Aldy Hernandez <aldyh@redhat.com>
22712
bebc7e8b
ZW
22713 * rs6000.md ("*call_value_local32"): Remove constraints.
22714 ("*call_value_local64"): Same.
22715 ("*call_value_indirect_nonlocal_aix32"): Same.
22716 ("*call_value_nonlocal_aix32"): Same.
22717 ("*call_value_indirect_nonlocal_aix64"): Same.
22718 ("*call_value_nonlocal_aix64"): Same.
22719 ("*call_value_nonlocal_sysv"): Same.
d18dba68 22720
80a8aac6
RH
227212002-01-29 Richard Henderson <rth@redhat.com>
22722
22723 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
22724
12beba6f
RH
227252002-01-29 Richard Henderson <rth@redhat.com>
22726
22727 * expr.c (force_operand): Ignore flag_pic for detecting pic
22728 address loads.
22729 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
22730 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
22731 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
22732 instead of open-coded loop.
22733 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
22734 be fixed when in use.
22735
2583081e
RH
227362002-01-29 Richard Henderson <rth@redhat.com>
22737
22738 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
22739 * sched-rgn.c (propagate_deps): Update them.
22740 * sched-deps.c (sched_analyze_insn): Update them. Flush the
22741 clobbers list when either gets too long.
22742
3b8d200e
JJ
227432002-01-29 Jakub Jelinek <jakub@redhat.com>
22744
22745 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
22746 and INDEX_REGS the same as GENERAL_REGS.
22747 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
22748
2d3115eb
NB
227492002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
22750
bebc7e8b 22751 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 22752
ecbe845e
UW
227532002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
22754
bebc7e8b 22755 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 22756 movstrsix_31): Remove, replace by ...
bebc7e8b 22757 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
22758 movstrsi_long): ... these. New.
22759 (movstrdi, movstrsi): Adapt.
22760
22761 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 22762 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
22763 Remove unnecessary CC clobber.
22764 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
22765 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
22766
22767 (divmoddi4): Don't partially initialize TImode register.
22768
0b32fca5
GK
227692002-01-29 Geoffrey Keating <geoffk@redhat.com>
22770
22771 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
22772
08ef5437
RH
227732002-01-29 Richard Henderson <rth@redhat.com>
22774
22775 * flow.c (print_rtl_and_abort): Remove.
22776 (print_rtl_and_abort_fcn): Remove.
22777 (verify_local_live_at_start): Use dump_bb instead.
22778 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
22779 (verify_wide_reg_1): Return 2 on mode test failure.
22780
8469e54e
NB
227812002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
22782
22783 PR c/3325, c/3326, c/2511, c/3347
22784 * c-decl.c (enum_decl_context): Remove BITFIELD.
22785 (grokdeclarator): Take bitfield width as an input.
22786 Ensure bitfields are given the correct type. Perform
22787 bitfield width validation with build_bitfield_integer_type
22788 rather than waiting for finish_struct.
22789 (grok_typename, grok_typename_in_parm_context, start_decl,
22790 push_parmdecl, grokfield, start_function): Update calls to
22791 grokdeclarator.
22792 (build_bitfield_integer_type): New function.
22793 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 22794 and build_bitfield_integer_type.
8469e54e
NB
22795 * tree.c (build_nonstandard_integer_type): New function.
22796 * tree.h (build_nonstandard_integer_type): New prototype.
22797objc:
22798 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
22799
ffdeea47
JJ
228002002-01-29 Jakub Jelinek <jakub@redhat.com>
22801
22802 PR other/1502:
22803 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
22804 don't ignore unrecognized -W* options.
22805 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
22806 * cpplib.h (cpp_handle_option): Adjust prototype.
22807 * c-decl.c (c_decode_options): Pass 0 as last argument to
22808 cpp_handle_option.
22809
22810 PR c/2896:
22811 * gcc.c (cpp_unique_options): Split from cpp_options.
22812 (cpp_options): Source cpp_unique_options.
22813 (default_compilers): Use cpp_unique_options instead of cpp_options
22814 when used together with cc1_options.
22815 (static_specs): Add cpp_unique_options.
22816 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
22817 when used together with cc1_options.
22818
1a275226
KH
228192002-01-29 Kazu Hirata <kazu@hxi.com>
22820
22821 * config/h8300/h8300-protos.h: Update the prototype of
22822 output_a_shift.
22823 * config/h8300/h8300.c (output_a_shift): Remove an unused
22824 argument 'insn'. Remove redundant code.
22825 * config/h8300/h8300.md: Adust to the new prototype of
22826 output_a_shift.
22827
a11d9dfc
KH
228282002-01-29 Kazu Hirata <kazu@hxi.com>
22829
22830 * config/h8300/h8300-protos.h: Update the prototypes of
22831 emit_a_rotate and expand_a_rotate.
22832 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
22833 first argument to 'enum rtx_code'.
22834 (expand_a_rotate): Likewise.
22835
871f73e3
KH
228362002-01-28 Kazu Hirata <kazu@hxi.com>
22837
22838 * config/h8300/h8300-protos.h: Update the prototype of
22839 output_simode_bld.
22840 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
22841 'log2'.
22842 * config/h8300/h8300.md: Adjust to the new prototype.
22843
5fc4b751
KH
228442002-01-28 Kazu Hirata <kazu@hxi.com>
22845
22846 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
22847 redundant code.
22848
2d67bd7b
JDA
228492002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
22850
22851 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
22852 is a fixed register before returning pic_offset_table_rtx.
22853 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
22854 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
22855
5a852b3e
JM
228562002-01-28 Jason Merrill <jason@redhat.com>
22857
6bb28965 22858 * dwarf2.h: Sync with src version.
5a852b3e 22859
3bca17dd
PK
228602002-01-28 Paul Koning <pkoning@equallogic.com>
22861
22862 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
22863 BT_FN_VOID_PTR_VAR.
22864 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
22865 * doc/extend.texi (__builtin_prefetch): Update documentation:
22866 first argument is now const void ptr.
22867
7dc3f8c0
KH
228682002-01-28 Kazu Hirata <kazu@hxi.com>
22869
22870 * config/h8300/h8300-protos.h: Remove an unused prototype.
22871
e83cb5f0
RZ
228722002-01-28 Roman Zippel <zippel@linux-m68k.org>
22873
22874 * toplev.c (lang_independent_init): Round up identifier size.
22875
5721cd84
RE
228762002-01-28 Richard Earnshaw <rearnsha@arm.com>
22877
22878 * config.gcc: Revert previous change.
22879
d534119e
AP
228802002-01-28 Andris Pavenis <pavenis@latnet.lv>
22881
22882 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
22883
5a721dab
RE
228842002-01-28 Richard Earnshaw <rearnsha@arm.com>
22885
22886 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
22887 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
22888 other non-elf netbsd config frags.
22889 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
22890 collect2 will does that.
22891 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
22892 shared-lib frobbing will work.
22893
da1775d6
KH
228942002-01-28 Kazu Hirata <kazu@hxi.com>
22895
22896 * config/h8300/h8300.h: Fix formatting.
22897 * config/h8300/h8300.md: Likewise.
22898
8f2e963b
LR
228992002-01-28 Loren J. Rittle <ljrittle@acm.org>
22900
22901 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
22902 the old, removed AAA_standards fix.
22903 * fixinc/fixincl.x: Rebuilt.
22904
fdae5767
HPN
229052002-01-28 Hans-Peter Nilsson <hp@axis.com>
22906
22907 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
22908 atexit call in crtbegin, hooked in after call to frame_dummy;
22909 register EH before registering __fini__start.
22910
2a2ecb63
AH
229112002-01-28 Aldy Hernandez <aldyh@redhat.com>
22912
22913 * config/rs6000/altivec.h: Remove spurious semicolons.
22914
8ed43adf
KH
229152002-01-27 Kazu Hirata <kazu@hxi.com>
22916
22917 * config/h8300/h8300.md: Replace dead bit extraction patterns
22918 with ones that work.
22919
917afb0c
RK
22920Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22921
22922 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
22923 if not STRICT_ALIGNMENT.
22924 * rtl.h (MEM_ALIGN): Likewise.
22925
f70a54cb
CR
229262002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
22927
22928 * doc/invoke.texi (-fdump-translation-unit): Revert this
22929 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
22930
d8fd4914
KH
229312002-01-27 Kazu Hirata <kazu@hxi.com>
22932
22933 * config/h8300/h8300.md (define_constants): New.
22934 (anonymous patterns) Use defined constants appropriately.
22935
15e0e275
KH
229362002-01-27 Kazu Hirata <kazu@hxi.com>
22937
22938 * config/h8300/h8300.c (function_arg): Remove redundant code.
22939
37a0f8a5
RH
229402002-01-26 Richard Henderson <rth@redhat.com>
22941
22942 * sched-deps.c (reg_pending_uses_head): New.
22943 (reg_pending_barrier): Rename from reg_pending_sets_all.
22944 (find_insn_list): Don't mark inline.
22945 (find_insn_mem_list): Remove.
22946 (add_dependence_list, add_dependence_list_and_free): New.
22947 (flush_pending_lists): Replace only_write param with separate
22948 for_read and for_write parameters. Update all callers. Use
22949 add_dependence_list_and_free.
22950 (sched_analyze_1): Do not add reg dependencies here; just set
22951 the pending bits. Use add_dependence_list.
22952 (sched_analyze_2): Likewise.
22953 (sched_analyze_insn): Replace schedule_barrier_found with
22954 reg_pending_barrier. Add all dependencies for pending reg
22955 uses, sets, and clobbers.
22956 (sched_analyze): Don't add reg dependencies for calls, just
22957 set pending bits. Use regs_invalidated_by_call. Treat
22958 sched_before_next_call as a normal list, not a fake insn.
22959 (init_deps): No funny init for sched_before_next_call.
22960 (free_deps): Free pending mems lists. Don't zero reg_last.
22961 (init_deps_global): Init reg_pending_uses.
22962 (finish_deps_global): Free it.
22963 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
22964 (find_insn_mem_list): Remove.
22965 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
22966 (propagate_deps): Use them. Zero temp mem lists.
22967
cea3bd3e
RH
229682002-01-26 Richard Henderson <rth@redhat.com>
22969
22970 * Makefile.in (CRTSTUFF_CFLAGS): New.
22971 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
22972 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
22973 crtstuff.c instead of alpha assembly version.
22974 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
22975 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
22976 not FORCE_{INIT,FINI}_SECTION_ALIGN.
22977 (__do_global_dtors_aux): Mark used.
22978 (frame_dummy, __do_global_ctors_aux): Mark used.
22979 (fini_dummy, init_dummy): Remove.
22980
22981 * config/alpha/crtbegin.asm: Remove file.
22982 * config/alpha/crtend.asm: Remove file.
22983 * config/alpha/t-crtbe: Remove file.
22984 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
22985 (LINK_EH_SPEC): New.
22986
22987 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
22988 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
22989 calling constructors.
22990 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
22991
22992 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
22993 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
22994 CRT_END_INIT_DUMMY hack.
22995 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
22996 FORCE_{INIT,FINI}_SECTION_ALIGN.
22997
22998 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
22999 FORCE_{INIT,FINI}_SECTION_ALIGN.
23000
23001 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
23002 invocation sequence.
23003 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
23004
23005 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
23006 (FORCE_CODE_SECTION_ALIGN): New.
23007
60ffa0e5
RH
230082002-01-26 Richard Henderson <rth@redhat.com>
23009
23010 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
23011
61334ebe
RH
230122002-01-26 Richard Henderson <rth@redhat.com>
23013
23014 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
23015 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
23016
1d788fb6
KH
230172002-01-26 Kazu Hirata <kazu@hxi.com>
23018
23019 * config/h8300/h8300.md: Remove bit extraction patterns that
23020 cannot be triggered.
23021 Restrict each bit extraction pattern to a variant on which the
23022 pattern is tested.
23023
87611f88
JM
230242002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
23025
23026 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
23027
cd74ec59
KH
230282002-01-26 Kazu Hirata <kazu@hxi.com>
23029
23030 * config/h8300/h8300.md: Remove bit test patterns that cannot
23031 be triggered.
23032 Restrict each bit test pattern to a variant on which the
23033 pattern is tested.
23034
93051e0f
KG
230352002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
23036
23037 * builtins.c (expand_builtin_strncat): Remove redundant check for
23038 INTEGER_CST.
23039
216c995f
DB
230402002-01-25 David O'Brien <obrien@FreeBSD.org>
23041
23042 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
23043 default setting.
23044 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
23045 existing setting.
23046
33c7f925
GK
230472002-01-25 Geoffrey Keating <geoffk@redhat.com>
23048
23049 * dbxout.c (dbxout_init): Use assemble_name rather than just
23050 stripping off the first character.
23051 (dbxout_source_file): Likewise.
23052
6cd444b4
DD
230532002-01-25 DJ Delorie <dj@redhat.com>
23054
23055 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
23056 using rtx_equal_p, not by comparing pointers.
23057
751551d5
SE
230582002-01-25 Steve Ellcey <sje@cup.hp.com>
23059
23060 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
23061 for PIC_OFFSET_TABLE_REGNUM.
23062 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
23063
e564e618
DB
230642002-01-25 David O'Brien <obrien@FreeBSD.org>
23065
23066 * config.gcc (x86_64-*-freebsd*): New target.
23067 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
23068 value.
23069 (i[34567]86-*-freebsd*): Don't include svr4.h.
23070 * config/i386/freebsd64.h: New file.
23071
ff3aaf17
DR
230722002-01-25 Douglas B Rupp <rupp@gnat.com>
23073
4857d29d
DR
23074 * config/alpha/x-vms (version): Make static.
23075
23076 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
23077 in previous checkin.
23078
ff3aaf17
DR
23079 * Makefile.in (install-headers-cp): New target.
23080 * config.gcc (alpha-dec-*vms*): Install headers with
23081 install-headers-cp
23082
48d79c43
JH
23083Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
23084
23085 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
23086 avoid it's copies.
23087
995b5904
RK
23088Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23089
23090 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
23091 of compare_tree_int.
23092 (expand_builtin_strncat): Likewise.
23093 * c-decl.c (finish_struct): Use tree_low_cst.
23094 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
23095 * tree.c (compare_tree_int): Likewise.
23096
75eefe3f
UW
230972002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
23098
23099 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
23100 adjustments even if they are implemented by more than two insns.
23101
5a133afd
JH
23102Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
23103
995b5904 23104 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
23105 * df.h (struct ref): Kill B.
23106 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
23107
23108 * basic-block.h (PROP_EQUAL_NOTES): New flag.
23109 * flow.c (propagate_one_insn): Use it.
23110 (mark_used_regs): Handle NIL.
23111
ead39bdf 231122002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
23113
23114 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
23115 to help folding.
23116
01a2ccd0
DE
231172002-01-25 David Edelsohn <edelsohn@gnu.org>
23118
23119 * rs6000.md (prefetch): Make address V4SI mode so that the address
23120 is restricted to legitimate form for instruction.
23121
fd29f6ea
BW
231222002-01-25 Bob Wilson <bob.wilson@acm.org>
23123
23124 * doc/install.texi (xtensa-*-elf): New target.
23125 (xtensa-*-linux*): New target.
23126 * doc/contrib.texi: Add myself.
23127
55492b32
NC
231282002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
23129
23130 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
23131 purpose register to hold an SImode (or smaller) value.
23132
72c7c913
JJ
231332002-01-25 Jakub Jelinek <jakub@redhat.com>
23134
23135 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
23136 registry only.
23137 * crtstuff.c: Likewise.
23138
c4df4ceb
KH
231392002-01-25 Kazu Hirata <kazu@hxi.com>
23140
23141 * config/h8300/h8300.md (negation patterns): Tighten
23142 predicates to register_operand.
23143
70e531f5
AH
231442002-01-24 Aldy Hernandez <aldyh@redhat.com>
23145
3bca17dd
PK
23146 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
23147 mode, not Pmode.
70e531f5 23148
3bca17dd 23149 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 23150
a4f76ef9
AO
231512002-01-24 Alexandre Oliva <aoliva@redhat.com>
23152
23153 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
23154 modes.
23155
9bf25b09
KH
231562002-01-24 Kazu Hirata <kazu@hxi.com>
23157
23158 * config/h8300/h8300.c (print_operand): Remove support for
23159 operand character 'A'.
23160 * config/h8300/h8300.md (three anonymous patterns): Replace
23161 operand character 'A' with either 'T' or 'S'.
23162
974af6a5
KH
231632002-01-24 Kazu Hirata <kazu@hxi.com>
23164
23165 * config/h8300/h8300.c (print_operand): Remove support for
23166 operand character 'U'.
23167
7a5bb7b8
AP
231682002-01-24 Andris Pavenis <pavenis@latnet.lv>
23169
3bca17dd 23170 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 23171
92a4639e
NC
231722002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
23173
23174 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
23175 values to be assigned to the stack pointer.
23176
467cb2da
HP
231772002-01-14 Hartmut Penner <hpenner@de.ibm.com>
23178
bebc7e8b 23179 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
23180 to const_double needs to be done right for big-endian systems.
23181
3b6cb920
JM
231822002-01-24 Jason Merrill <jason@redhat.com>
23183
b08dd119 23184 PR c++/2432
3b6cb920
JM
23185 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
23186 to can_throw_internal.
23187
f3077311
RH
231882002-01-23 Richard Henderson <rth@redhat.com>
23189
23190 * fold-const.c (fold): Change UINT_MAX test to check vs precision
23191 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
23192
e1d71275
AO
231932002-01-24 Alexandre Oliva <aoliva@redhat.com>
23194
23195 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
23196 (symGOT2reg): Use them, then set as GOT value as unchanging.
23197 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
23198 as a temporary, if possible.
23199 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
23200 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
23201
dc271dbe
KH
232022002-01-23 Kazu Hirata <kazu@hxi.com>
23203
23204 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
23205 accept to accept 0x80 as operands[2].
23206
1a9017f9
AO
232072002-01-24 Alexandre Oliva <aoliva@redhat.com>
23208
23209 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
23210
6932f033
RH
232112002-01-23 Richard Henderson <rth@redhat.com>
23212
23213 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
23214
709619d9
AH
232152002-01-23 Aldy Hernandez <aldyh@redhat.com>
23216
3bca17dd
PK
23217 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
23218 (parmlist_or_identifiers_1): Verify that only a parmlist follows
23219 an attribute.
709619d9 23220
3d709fd3
RH
232212002-01-23 Richard Henderson <rth@redhat.com>
23222
23223 * expr.c (move_by_pieces_1): Extend size before negation.
23224
88a446c0
RH
23225 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
23226 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
23227 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
23228 * config/m68k/t-m68kelf: Likewise.
23229
03984308
BW
232302002-01-23 Bob Wilson <bob.wilson@acm.org>
23231
23232 * config/xtensa/elf.h: New file.
23233 * config/xtensa/lib1funcs.asm: New file.
23234 * config/xtensa/lib2funcs.S: New file.
23235 * config/xtensa/linux.h: New file.
23236 * config/xtensa/t-xtensa: New file.
23237 * config/xtensa/xtensa-config.h: New file.
23238 * config/xtensa/xtensa-protos.h: New file.
23239 * config/xtensa/xtensa.c: New file.
23240 * config/xtensa/xtensa.h: New file.
23241 * config/xtensa/xtensa.md: New file.
23242 * config.gcc (xtensa-*-elf*): New target.
23243 (xtensa-*-linux*): New target.
23244 * cse.c (canon_hash): Compare rtx pointers instead of register
23245 numbers. This is required for the Xtensa port.
23246 * integrate.c (copy_insn_list): Handle case where the static
23247 chain is in memory and the memory address has to be copied to
23248 a register.
23249 * doc/invoke.texi (Option Summary): Add Xtensa options.
23250 (Xtensa Options): New node.
23251 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
23252
c3d5c3fa
ZW
232532002-01-23 Zack Weinberg <zack@codesourcery.com>
23254
a63bea75
ZW
23255 * diagnostic.c (internal_error): Do ICE suppression only
23256 when ENABLE_CHECKING is not defined.
23257
c3d5c3fa
ZW
23258 * c-typeck.c (require_complete_type): Return error_mark_node
23259 if type is error_mark_node.
23260
1398974c
JJ
232612002-01-23 Janis Johnson <janis187@us.ibm.com>
23262
23263 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
23264 -Os and issue a warning.
23265
807633e5
ZW
232662002-01-23 Zack Weinberg <zack@codesourcery.com>
23267
23268 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
23269 current (lack of) need for host configuration by hand.
23270
23271 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
23272 references. Documentation of some target macros moved from
23273 hostconfig.texi to tm.texi.
23274
cf8002d0
WC
232752002-01-23 Will Cohen <wcohen@redhat.com>
23276
23277 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
23278 defined.
23279
d1e76310
KH
232802002-01-23 Kazu Hirata <kazu@hxi.com>
23281
23282 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
23283 operand[3].
23284
b2115575
JM
232852002-01-23 Jason Merrill <jason@redhat.com>
23286
f893c16e
JM
23287 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
23288
b2115575
JM
23289 * function.c (assign_parms): Don't put args of inline functions
23290 into registers when not optimizing.
23291
6bacc7b0
NC
232922002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
23293
23294 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
23295 (prologue_use): New pattern.
23296 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
23297 preference to gen_rtx_USE.
23298 (thumb_expand_prologue): Use gen_prologue_use in preference to
23299 gen_rtx_USE.
23300 (thumb_expand_epilogue): Use gen_prologue_use in preference to
23301 gen_rtx_USE.
23302
a415f7bc
HPN
233032002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
23304
23305 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
23306
5372b3fb
NB
233072002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
23308
23309 PR c/3504
23310 * doc/extend.texi: Correct documentation of __alignof__.
23311
bd571ffc
ZW
233122002-01-22 Zack Weinberg <zack@codesourcery.com>
23313
23314 * params.h: Rename arguments of DEFPARAM so that it will be
23315 recognized as a translation keyword.
23316
333c8841
AH
233172002-01-22 Aldy Hernandez <aldyh@redhat.com>
23318
bd571ffc
ZW
23319 * extend.texi: Document altivec functions.
23320 Fix N-bit adjectives in X86 builtin documentation.
333c8841 23321
38979c65
AO
233222002-01-22 Alexandre Oliva <aoliva@redhat.com>
23323
23324 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
23325 auto_inc_dec values.
23326
7458a9f0
RE
233272002-01-22 Richard Earnshaw <rearnsha@arm.com>
23328
23329 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
23330 after backslash.
23331 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
23332
129bd0c4
AO
233332002-01-22 Alexandre Oliva <aoliva@redhat.com>
23334
23335 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
23336
8b9b74a9
RH
233372002-01-22 Richard Henderson <rth@redhat.com>
23338
23339 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
23340 copy_insn not copy_rtx.
23341
d0c9db30
AM
233422002-01-23 Alan Modra <amodra@bigpond.net.au>
23343
23344 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
23345 "nonzero" as that might add "1" bits. Ensure "constop" is
23346 properly sign extened.
23347 (force_to_mode): Tweak for sign extended constop.
23348
1e7e480e
RH
233492002-01-22 Richard Henderson <rth@redhat.com>
23350
23351 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
23352 for_each_rtx instead of assuming we're already looking at the MEM.
23353 (split_small_symbolic_mem_operand): Likewise.
23354 * config/alpha/alpha.h (PREDICATE_CODES): Update.
23355 * config/alpha/alpha.md (small symbolic memory splitters): Update.
23356
233572002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
23358
23359 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
23360 sequence number for the literal.
23361 (divmoddi_internal_er): Likewise.
23362
b7f2fb96
CR
233632002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
23364
23365 PR java/4972
23366 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
23367 in LIBICONV variable.
23368 * configure: Regenerated.
23369
f66a0046
KW
233702002-01-22 Krister Walfridsson <cato@df.lth.se>
23371
23372 * dependence.c (build_def_use): Remove array_idx.
23373
e3b0efd1
KW
23374 * dwarfout.c (last_filename): Remove.
23375 (output_compile_unit_die): Remove last_filename.
23376
d8086cbb
RS
233772002-01-22 Roger Sayle <roger@eyesopen.com>
23378 Richard Henderson <rth@redhat.com>
23379
23380 PR opt/3640
23381 * fold-const.c (fold): Optimize unsigned comparisons against
23382 UINT_MAX (and similar unsigned constants).
23383
e8d52ba0
JJ
233842002-01-22 Janis Johnson <janis187@us.ibm.com>
23385
d8086cbb 23386 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 23387 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 23388 against the predicate.
11303d15 23389
e8d52ba0
JJ
23390 PR target/5379
23391 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
23392 for the address operand.
23393
cc7b420e
RH
233942002-01-22 Richard Henderson <rth@redhat.com>
23395
23396 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
23397
816e265a
CR
233982002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
23399
23400 PR other/5450
cc7b420e
RH
23401 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
23402 preprocessor flags.
816e265a 23403
7c884404
JT
234042002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
23405
23406 * config.gcc (x86_64-*-netbsd*): New target.
23407 * config/i386/netbsd64.h: New file.
23408
2b672c08
AH
234092002-01-22 Aldy Hernandez <aldyh@redhat.com>
23410
d8086cbb 23411 * regrename.c (kill_value): Fix typo.
2b672c08
AH
23412
234132002-01-22 Aldy Hernandez <aldyh@redhat.com>
23414
d8086cbb 23415 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 23416
d8086cbb 23417 * config/rs6000/rs6000.h: Same.
2b672c08 23418
d8086cbb
RS
23419 * function.c (instantiate_virtual_regs): Remove
23420 STARTING_FRAME_PHASE.
23421 (assign_stack_local_1): Same.
23422 Calculate frame phase.
2b672c08 23423
4b02997f
NC
234242002-01-22 Nick Clifton <nickc@redhat.com>
23425
23426 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
23427 variable declaration to outer scope in order to simplify
23428 future extensions.
23429 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
23430 arm_hard_regno_mode_ok.
23431 * config/arm/arm-protos.h: Add a prototype for
23432 arm_hard_regno_mode_ok.
23433 * config/arm/arm.c (soft_df_operand): Remove now redundant
23434 check for DImode values using IP_REGNUM.
23435 (nonimmediate_soft_df_operand): Remove now redundant check for
23436 DImode values using IP_REGNUM.
23437 (arm_hard_regno_mode_ok): New function. New check: make sure
23438 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
23439
23440 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
23441 note with a USE.
23442 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
23443
8a827ab2
JM
234442002-01-22 Jason Merrill <jason@redhat.com>
23445
23446 * c-semantics.c (genrtl_compound_stmt): Only check nesting
23447 consistency if this COMPOUND_STMT is scoped.
23448
cf403648
KH
234492002-01-22 Kazu Hirata <kazu@hxi.com>
23450
23451 * predict.c: Fix formatting.
23452 * print-tree.c: Likewise.
23453 * protoize.c: Likewise.
23454 * real.h: Likewise.
23455 * rtl.h: Likewise.
23456 * sbitmap.h: Likewise.
23457 * scan.c: Likewise.
23458 * sched-deps.c: Likewise.
23459 * sched-vis.c: Likewise.
23460 * sdbout.c: Likewise.
23461 * sibcall.c: Likewise.
23462 * ssa.c: Likewise.
23463 * ssa-ccp.c: Likewise.
23464 * ssa-dce.c: Likewise.
23465 * stmt.c: Likewise.
23466 * stor-layout.c: Likewise.
23467 * system.h: Likewise.
23468
aea9695c
RK
23469Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23470
a8765ae7
RK
23471 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
23472 if fits in bounds of base type.
23473
aea9695c
RK
23474 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
23475 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
23476 (add_bound_info, default): If can't find a context, make a
23477 SAVE_EXPR.
23478 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
23479
58bf601b
HPN
234802002-01-22 Hans-Peter Nilsson <hp@axis.com>
23481
23482 * c-typeck.c (parser_build_binary_op): If result from
23483 build_binary_op is ERROR_MARK just return error_mark_node without
23484 further processing.
23485
f982f805
JT
234862002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
23487
23488 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
23489 Split a.out-specific bits into...
23490 * config/netbsd-aout.h: ...this.
23491 * config/netbsd-elf.h: New file.
23492 * config/alpha/netbsd-elf.h: Remove.
23493 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
23494 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 23495 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
23496 (ENDFILE_SPEC): Likewise.
23497 (LINK_SPEC): Likewise.
23498 (CPP_SPEC): Likewise.
23499 (ASM_SPEC): Likewise.
23500 (LIB_SPEC): Likewise.
23501 (SWITCH_TAKES_ARG): Likewise.
23502 (TARGET_MEM_FUNCTIONS): Likewise.
23503 (CPP_PREDEFINES): Redefine.
23504 (ASM_FINAL_SPEC): Remove redefinition.
23505 (ASM_COMMENT_START): Redefine.
23506 (FUNCTION_PROFILER): Define.
23507 (TARGET_VERSION): Redefine.
23508 Comment and formatting cleanup.
23509 * config/i386/netbsd.h: Include <netbsd-aout.h>.
23510 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
23511 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
23512 big- or little-endian.
23513 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
23514 * config.gcc (*-*-netbsd*): Add definitions common to all
23515 NetBSD configs.
23516 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
23517 gnu_ld definitions. Add netbsd-elf.h to and remove
23518 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
23519 tmake_file, and don't lose previous tmake_file contents.
23520 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
23521 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
23522 gnu_ld definitions. Add netbsd-elf.h to tm_file.
23523 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
23524 (mipsel-*-netbsd*): Rename this to...
23525 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
23526 mips/little.h to tm_file for mips*el-*.
23527 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
23528 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
23529 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
23530
2e396476
JDA
235312002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
23532
23533 * pa-protos.h (reg_before_reload_operand): New function prototype.
23534 * pa.c (reg_before_reload_operand): New function implementation.
23535 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
23536 contraints to "*m".
23537
3b5708e7
FS
235382002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
23539
23540 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
23541
85e79f96
JDA
235422002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
23543
23544 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
23545 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
23546 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
23547 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
23548 (ENDFILE_SPEC): Undefine.
23549 (STARTFILE_SPEC): Redefine for PA.
23550
38abadee
FS
235512002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
23552
23553 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
23554
94f1d97c
DJ
235552002-01-21 Daniel Jacobowitz <drow@mvista.com>
23556
23557 * config.gcc: Add entries to supported PowerPC --with-cpu
23558 types.
23559
0333394e
JJ
235602002-01-21 Jakub Jelinek <jakub@redhat.com>
23561
23562 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
23563 true for 64-bit mode only SSE registers in 32-bit mode.
23564
e9d1b155
KH
235652002-01-21 Kazu Hirata <kazu@hxi.com>
23566
23567 * unwind-dw2.c: Fix formatting.
23568 * unwind-dw2-fde.c: Likewise.
23569 * unwind-dw2-fde.h: Likewise.
23570 * unwind-pe.h: Likewise.
23571 * varasm.c: Likewise.
23572 * varray.h: Likewise.
23573
07338cf8
HPN
235742002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
23575
23576 Remove workaround for register stack overwrite bug in mmix.
23577 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
23578 support for TARGET_REG_STACK_FILL_BUG.
23579 * config/mmix/mmix.h: Remove member has_call_without_parameters.
23580 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
23581 Delete.
23582 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
23583 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
23584 -mno-reg-stack-fill-bug-workaround.
23585 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
23586 machine member has_call_without_parameters.
23587 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
23588 -mreg-stack-fill-bug-workaround and
23589 -mno-reg-stack-fill-bug-workaround.
23590 (MMIX Options): Ditto.
23591
7192cbf1
KH
235922002-01-21 Kazu Hirata <kazu@hxi.com>
23593
23594 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
23595 as appropriate.
23596 Remove redundant code.
23597
d1552d7b
JM
235982002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
23599
23600 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
23601 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
23602 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
23603 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
23604 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
23605 out target macro definitions and non-target-specific comments
23606 mostly taken from old versions of the manual.
23607
ed168e45
KH
236082002-01-20 Kazu Hirata <kazu@hxi.com>
23609
23610 * config/h8300/h8300.h: Fix comment formatting.
23611 * config/ia64/aix.h: Likewise.
23612 * config/ia64/ia64-protos.h: Likewise.
23613 * config/ia64/ia64.c: Likewise.
23614 * config/ia64/ia64.h: Likewise.
23615 * config/ia64/ia64intrin.h: Likewise.
23616 * config/ia64/linux.h: Likewise.
23617 * config/ia64/unwind-aix.c: Likewise.
23618 * config/ia64/unwind-ia64.c: Likewise.
23619
005e3e05
KH
236202002-01-20 Kazu Hirata <kazu@hxi.com>
23621
23622 * config/h8300/h8300.c: Revise comments about shift code.
23623
64bead4c
KH
236242002-01-20 Kazu Hirata <kazu@hxi.com>
23625
23626 * config/h8300/h8300.c (function_arg): Update a comment.
23627
ed863595
KH
236282002-01-20 Kazu Hirata <kazu@hxi.com>
23629
23630 * config/h8300/h8300.md: Update the comments at the beginning
23631 of the file.
23632
5904dc87
KH
236332002-01-20 Kazu Hirata <kazu@hxi.com>
23634
23635 * config/i370/i370.c: Fix comment formatting.
23636 * config/i370/i370.h: Likewise.
23637 * config/i370/i370.md: Likewise.
23638 * config/i370/linux.h: Likewise.
23639
9702143f
RK
23640Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23641
cbafacd1
RK
23642 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
23643
9702143f
RK
23644 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
23645 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
23646 in incomplete case.
23647
6b6996b8
GS
236482002-01-20 Graham Stott <grahams@redhat.com>
23649
23650 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
23651
eab854f6
JDA
236522002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
23653
23654 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
23655
5b029315
TR
236562002-01-19 Tom Rix <trix@redhat.com>
23657
23658 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
23659
1d690052
AH
236602002-01-18 Aldy Hernandez <aldyh@redhat.com>
23661
d8086cbb 23662 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 23663
d8086cbb
RS
23664 * function.c (assign_stack_local_1): Adjust x_frame_offset with
23665 STARTING_FRAME_PHASE.
23666 (STARTING_FRAME_PHASE): New.
23667 (instantiate_virtual_regs): Check saneness of
23668 STARTING_FRAME_PHASE.
1d690052 23669
d8086cbb 23670 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 23671
4dd8c093
AO
236722002-01-19 Alexandre Oliva <aoliva@redhat.com>
23673
23674 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
23675
6f2a28d7
CR
236762002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
23677
23678 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
23679 be used for bootstrapping GCC 3.0.
23680
8763a465
KH
236812002-01-18 Kazu Hirata <kazu@hxi.com>
23682
23683 * config/h8300/h8300.md: Fix an insn length.
23684
3ef42a0c
KH
236852002-01-18 Kazu Hirata <kazu@hxi.com>
23686
23687 * bitmap.h: Fix comment formatting.
23688 * combine.c: Likewise.
23689 * cppfiles.c: Likewise.
23690 * c-pragma.h: Likewise.
23691 * c-typeck.c: Likewise.
23692 * df.c: Likewise.
23693 * dwarf2out.c: Likewise.
23694 * function.c: Likewise.
23695 * gcc.c: Likewise.
23696 * genattrtab.c: Likewise.
23697 * gthr-win32.h: Likewise.
23698 * haifa-sched.c: Likewise.
23699 * predict.c: Likewise.
23700 * rtlanal.c: Likewise.
23701 * rtl.h: Likewise.
23702 * unwind-dw2-fde.h: Likewise.
23703 * unwind-pe.h: Likewise.
23704 * vmsdbgout.c: Likewise.
23705
dd4dc3cd
RK
23706Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
23707
23708 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
23709 if type_required and passed decl.
23710
5fb4cf24
AH
237112002-01-17 Aldy Hernandez <aldyh@redhat.com>
23712
d8086cbb
RS
23713 * config.gcc (cpu_type): Include altivec.h in powerpc
23714 extra_headers.
23715 Same for darwin.
5fb4cf24 23716
d8086cbb 23717 * config/rs6000/altivec.h: New.
5fb4cf24 23718
2705baf5
DE
237192002-01-17 David Edelsohn <edelsohn@gnu.org>
23720
23721 * doc/install.texi (*-ibm-aix*): Update assembler and exception
23722 handling information.
23723 * doc/trouble.texi (Interoperation): Add libstdc++ information
23724 for AIX.
23725 (Misunderstandings): Add template instantiation and static template
23726 member information for AIX.
23727
dbd680e1
JM
237282002-01-17 Jason Merrill <jason@redhat.com>
23729
821adc5e
JM
23730 * dbxout.c (dbxout_type): Support const and volatile.
23731
dbd680e1
JM
23732 * except.c (add_partial_entry): Remove backwards compatibility code.
23733 (end_protect_partials): Likewise.
23734
d0e82870
JJ
237352002-01-17 Jakub Jelinek <jakub@redhat.com>
23736
23737 * config/ia64/ia64.md (prologue_use): New.
23738 * config/ia64/ia64.c (ia64_expand_prologue): Use
23739 gen_prologue_use instead of gen_rtx_USE.
23740 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
23741 as CODE_FOR_pred_rel_mutex.
23742 (ia64_sched_reorder2): Likewise.
23743
f9f45c65
EC
237442002-01-16 Eric Christopher <echristo@redhat.com>
23745
23746 * config/mips/r3900.h: Reformat.
23747 (SUBTARGET_CPP_SIZE_SPEC): Remove.
23748 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
23749 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
23750 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
23751 * config/mips/t-elf: Remove mips3 multilib.
23752
c66c8b0e
L
237532002-01-16 H.J. Lu <hjl@gnu.org>
23754
23755 * config/mips/linux.h: Include "mips/abi64.h".
23756
5f083b72
L
237572002-01-16 H.J. Lu <hjl@gnu.org>
23758
23759 * config/mips/t-linux: New.
23760
23761 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
23762
23763 * config/mips/linux.h: Don't include "gofast.h".
23764 (INIT_SUBTARGET_OPTABS): Removed.
23765
af3c90a6
KH
237662002-01-16 Kazu Hirata <kazu@hxi.com>
23767
23768 * config/h8300/h8300-protos.h: Replace emit_a_shift with
23769 output_a_shift.
23770 * config/h8300/h8300.c: Likewise.
23771 * config/h8300/h8300.md: Likewise.
23772
a1bf0a16
KH
237732002-01-16 Kazu Hirata <kazu@hxi.com>
23774
23775 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
23776 spaces after an opcode name.
23777 (pushqi1_h8300hs): Likewise.
23778 (pushhi1_h8300hs): Likewise.
23779
88ab0d1c
KH
237802002-01-16 Kazu Hirata <kazu@hxi.com>
23781
23782 * doc/extend.texi: Replace "option" with "attribute"
23783 appropriately.
23784
51c561e3
JJ
237852002-01-16 Jakub Jelinek <jakub@redhat.com>
23786
23787 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
23788 (and:DI () (const_int -8)).
23789 (split_small_symbolic_mem_operand): Split
23790 (mem (and:DI () (const_int -8)).
23791
b8c1a6b8
JJ
237922002-01-16 Jakub Jelinek <jakub@redhat.com>
23793
23794 PR target/5309:
d8086cbb 23795 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
23796 same way as TYPE_IMUL.
23797 (ultrasparc_sched_reorder): Likewise.
23798 * config/sparc/sparc.md (type): Add comment to update
23799 ultrasparc_sched_reorder when making changes.
23800
1e4e4df2
KH
238012002-01-16 Kazu Hirata <kazu@hxi.com>
23802
23803 * doc/invoke.texi: Change the dump file name of block
23804 reordering pass from 28.bbro to 29.bbro.
23805 Mention -dk option.
23806
14d920c0
JH
23807Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
23808
23809 * i386.md (minsf splitter): Fix pasto.
23810
2e99323f
NC
238112002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
23812
23813 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
23814 to frame pointer initialisation instruction.
23815 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
23816 initialisation instruction.
ab8081c1
NC
23817 (soft_df_operand): Do not accept the IP register.
23818 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 23819
c4031a04
JJ
238202002-01-16 Jakub Jelinek <jakub@redhat.com>
23821
23822 PR target/5357:
23823 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
23824 MASK_V8 being both set.
23825
44b8152b
UW
238262002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
23827
23828 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
23829 insn for GOT register; add REG_MAYBE_DEAD notes instead.
23830 config/s390/s390.md (call, call_value): Add GOT register to
23831 CALL_INSN_FUNCTION_USAGE where needed.
23832 (call_exp, call_value_exp): New.
23833
1d6e90ac
NC
238342002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
23835
23836 * config/arm/arm.c: General formatting tidy up.
23837
238382002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
23839
23840 * calls.c (try_to_integrate): Use "(size_t)" intermediate
23841 cast and when casting an integer literal to "rtx" pointer.
23842 (expand_call): Likewise.
23843 * flow.c (try_pre_increment): Likewise.
23844 (find_use_as_address): Likewise.
23845 * integrate.c (expand_iline_function): Likewise.
23846 * regmove.c (try_auto_increment): Likewise.
23847
1d6e90ac 238482002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
23849
23850 * sched-rgn.c (passed): Use sbitmap_free.
23851 (header): Likewise.
23852 (inner): Likewise.
23853 (in_queue): Likewise.
23854 (in_stack): Likewise.
23855
31fce3c4
EC
238562002-01-15 Eric Christopher <echristo@redhat.com>
23857
23858 * flow.c (propagate_one_insn): Change to use fatal_insn.
23859
c99d986a
KH
238602002-01-15 Kazu Hirata <kazu@hxi.com>
23861
23862 * expmed.c (extract_fixed_bit_field): Remove unused code.
23863 * system.h: Poison SLOW_ZERO_EXTEND.
23864 * doc/tm.texi: Remove.
23865 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
23866 * config/arm/arm.h: Likewise.
23867 * config/avr/avr.h: Likewise.
23868 * config/clipper/clipper.h: Likewise.
23869 * config/convex/convex.h: Likewise.
23870 * config/d30v/d30v.h: Likewise.
23871 * config/dsp16xx/dsp16xx.h: Likewise.
23872 * config/elxsi/elxsi.h: Likewise.
23873 * config/fr30/fr30.h: Likewise.
23874 * config/h8300/h8300.h: Likewise.
23875 * config/i370/i370.h: Likewise.
23876 * config/i386/i386.h: Likewise.
23877 * config/m68k/m68k.h: Likewise.
23878 * config/mips/mips.h: Likewise.
23879 * config/ns32k/ns32k.h: Likewise.
23880 * config/pdp11/pdp11.h: Likewise.
23881 * config/pj/pj.h: Likewise.
23882 * config/s390/s390.h: Likewise.
23883 * config/sh/sh.h: Likewise.
23884 * config/stormy16/stormy16.h: Likewise.
23885 * config/v850/v850.h: Likewise.
23886 * config/vax/vax.h: Likewise.
23887 * config/we32k/we32k.h: Likewise.
23888
acfab996
AH
238892002-01-15 Aldy Hernandez <aldyh@redhat.com>
23890
d8086cbb
RS
23891 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
23892 (altivec_lvsl): Change constraint to b.
23893 (altivec_lvsr): Same.
23894 (altivec_lvebx): Same.
23895 (altivec_lvehx): Same.
23896 (altivec_lvewx): Same.
23897 (altivec_lvxl): Same.
23898 (altivec_lvx): Same.
23899 (altivec_stvx): Add parallel.
23900 (altivec_stvxl): Same.
23901 (altivec_stvehx): Same.
23902 (altivec_stvebx): Same.
23903 (altivec_stvebx): Same.
acfab996 23904
5e505bc9
AH
239052002-01-15 Aldy Hernandez <aldyh@redhat.com>
23906
d8086cbb 23907 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 23908
d8086cbb 23909 * config/rs6000/altivec.h: Delete.
5e505bc9 23910
d8086cbb 23911 * config/rs6000/altivec-defs.h: Add.
5e505bc9 23912
5c41fdfb
JDA
239132002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
23914
23915 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
23916 and UMOD modes.
23917
23918 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
23919 less than or equal to eight bytes.
23920
23921 * vax.md (andsi3): Remove constraints and change SET destination
23922 operand type to nonimmediate_operand.
23923 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
23924 when it is a CONST_INT.
23925
de097a2d
JM
239262002-01-15 Jason Merrill <jason@redhat.com>
23927
23928 * c-common.def (FILE_STMT): New code.
23929 * c-common.c (statement_code_p): It's a statement.
23930 * c-common.h (stmt_tree_s): Add x_last_filename.
23931 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
23932 (last_expr_filename): New macro.
23933 * c-semantics.c (begin_stmt_tree): Initialize it.
23934 (add_stmt): If the filename changed, also insert a
23935 FILE_STMT.
23936 (expand_stmt): Handle seeing one.
23937
4a913dd6
EC
239382002-01-15 Eric Christopher <echristo@redhat.com>
23939
23940 * flow.c (propagate_one_insn): Add error message and print out
23941 insn for debugging.
23942
006946e4
JM
239432002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
23944
23945 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
23946 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
23947 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
23948 TRAMPOLINE_ALIGNMENT.
23949 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
23950 to be in bits.
23951 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
23952 PCC_BITFIELD_TYPE_MATTERS.
23953 * config/interix.h (STDC_VALUE): Remove. Use
23954 STDC_0_IN_SYSTEM_HEADERS.
23955 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
23956 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
23957 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
23958
751a1458
CR
239592002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
23960
23961 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
23962 not work on this platform currently.
23963
57771fe8
JM
239642002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
23965
23966 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
23967 readonly_warning in _().
23968
0e83ceb1 239692002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 23970
0e83ceb1 23971 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 23972
8e2e89f7
KH
239732002-01-15 Kazu Hirata <kazu@hxi.com>
23974
0e83ceb1
DR
23975 * config/h8300/h8300.c (print_operand): Remove support for
23976 unused operand characters.
23977
8e2e89f7
KH
23978 * read-rtl.c: Fix formatting.
23979 * real.c: Likewise.
23980 * recog.c: Likewise.
23981 * regclass.c: Likewise.
23982 * regmove.c: Likewise.
23983 * reg-stack.c: Likewise.
23984 * reload1.c: Likewise.
23985 * rtlanal.c: Likewise.
23986
b531087a
KH
239872002-01-15 Kazu Hirata <kazu@hxi.com>
23988
23989 * config/i386/i386.c: Fix formatting.
23990
7c94ce7f
JJ
239912002-01-15 Jakub Jelinek <jakub@redhat.com>
23992
23993 * c-typeck.c (process_init_element): Don't save_expr
23994 COMPOUND_LITERAL_EXPR if just its initializer will be used.
23995
6041bf2f
DE
239962002-01-15 David Edelsohn <edelsohn@gnu.org>
23997
23998 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
23999 emit optional traceback table if optimize_size or TARGET_ELF.
24000 * config/rs6000/rs6000.md (prefetch): New.
24001
8559c8c0
AJ
240022002-01-15 Andreas Jaeger <aj@suse.de>
24003
24004 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
24005
70f122f2
KH
240062002-01-15 Kazu Hirata <kazu@hxi.com>
24007
24008 * mips-tfile.c: Fix formatting.
24009
6a7b4ca6
JH
24010Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
24011
24012 * unroll.c (final_reg_note_copy): Fix previous commit.
24013
e7afe229
KH
240142002-01-14 Kazu Hirata <kazu@hxi.com>
24015
24016 * config/h8300/h8300-protos.h: Remove the prototype for
24017 eq_operator.
24018 * config/h8300/h8300.c (eq_operator): Remove.
24019
7d378549
RH
240202002-01-14 Richard Henderson <rth@redhat.com>
24021
24022 * config/i386/i386.md (prefetch): Tidy.
24023 (prefetch_3dnow): Fix locality operand.
24024
ab093b81
RH
240252002-01-14 Richard Henderson <rth@redhat.com>
24026
24027 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
24028 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
24029
d300f51f
HPN
240302002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
24031
24032 * reload1.c (reload_combine): Pass reg_sum replacement through
24033 copy_rtx in loop performing multiple changes.
24034
655dd289
JJ
240352002-01-14 Jakub Jelinek <jakub@redhat.com>
24036
24037 * except.c (remove_unreachable_regions): New.
24038 (free_eh_status): Clear exception_handler_labels.
24039 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
24040 (find_exception_handler_labels): Don't add the same label more than
24041 once.
24042 (remove_exception_handler_label): Don't die if
24043 find_exception_handler_labels hasn't been called for the current
24044 function yet.
24045
1fba46a7
JH
24046Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
24047
24048 * toplev.c (rest_of_compilation): Rebuild jump labels after
24049 gcse.
24050
0975678f
JM
240512002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
24052
24053 * doc/extend.texi: Move documentation of X86 built-in functions
24054 here.
24055 * doc/invoke.texi: From here.
24056 * doc/sourcebuild.texi: Document location of documentation for
24057 machine built-in functions.
24058
969815c7
CF
240592002-01-13 Christopher Faylor <cgf@redhat.com>
24060
24061 * cppfiles.c (TEST_THRESHOLD): New macro.
24062 (SHOULD_MMAP): Ditto.
24063 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
24064 be used.
24065
494c950b
JH
24066Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
24067
24068 * unroll.c (final_reg_note_copy): Properly handle
24069 REG_LABEL
24070 (unroll_loops): Fix LOOP_CONDITION heuristics.
24071
69a0611f
GK
240722002-01-14 Geoffrey Keating <geoffk@redhat.com>
24073
24074 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
24075 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
24076
b90e45ae
JH
24077Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
24078
24079 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
24080 threaded loop.
24081
8377288b
TR
240822002-01-14 Tom Rix <trix@redhat.com>
24083
24084 * config/rs6000/rs6000.md: Fix typo with sradi.
24085
9f37ccb1
UW
240862002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
24087
24088 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
24089 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
24090 (clrstrdi, clrstrsi): Adapt callers.
24091
24092 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
24093
8559c8c0 24094 (movti splitter): Never use register 0 as base register.
9f37ccb1 24095
6c2d03d0
HP
240962002-01-14 Hartmut Penner <hpenner@de.ibm.com>
24097
8559c8c0
AJ
24098 * combine.c (simplify_shift_const): Always generate new rtx
24099 for shift expression instead of reusing given expression.
6c2d03d0 24100
d3e98208
RK
24101Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24102
24103 * config/alpha/alpha.c (alpha_expand_mov): Don't call
24104 alpha_legitimize_address unless mode is Pmode.
24105
9f339dde
GK
241062002-01-13 Geoffrey Keating <geoffk@redhat.com>
24107
24108 * doc/md.texi (Modifiers): Document the '*' constraint for the
24109 user.
24110
24111 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
24112 * doc/extend.texi (Function Attributes): 'interrupt' is valid
24113 for xstormy16 too.
24114
02a10130
RH
241152002-01-13 Richard Henderson <rth@redhat.com>
24116
24117 * reload.c (find_reloads): Use a hard reg destination as reload reg
24118 for an input reload of the source.
24119
61d47787
GP
241202002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
24121
24122 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
24123 more generic.
24124
f0df8029
DR
24125Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
24126
24127 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
24128 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
24129
d2a37256
DR
24130 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
24131
a9e8a5ee
RK
24132Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24133
24134 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
24135
bc06712d
TR
241362002-01-12 Tom Rix <trix@redhat.com>
24137
8559c8c0 24138 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
24139 TARGET_POWERPC64.
24140
7cbe9bb7
RH
241412002-01-12 Richard Henderson <rth@redhat.com>
24142
38b29e64
RH
24143 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
24144
58605ba0
RH
24145 * doc/invoke.texi: Update Alpha options.
24146
7cbe9bb7
RH
24147 * doc/invoke.texi: Update i386 built-in function lists.
24148
9d560860
JH
24149Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
24150
24151 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
24152 referencing outside.
24153
bb93b973
RK
24154Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24155
24156 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
24157 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
24158 offsets, and change line folding.
24159 * optabs.c (expand_binop): Remove warnings.
24160 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 24161
f9f6b7df
GS
241622002-01-12 Graham Stott <grahams@redhat.com>
24163
24164 * attribs.c (handle_deprecated_attribute): constify WHAT.
24165 * diagnostic.c (warn_deprecated_use): Add braces, fixes
24166 dangling else warning and constify WHAT.
24167 * except.h (struct function, struct inline_remap): Move
24168 struct tag forward defs before all prototypes.
24169 (duplicate_eh_regions): Whitespace.
24170
4a692617
NC
241712002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
24172
24173 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
24174 MODE_BASE_REG_CLASS.
24175 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
24176
e37af218
RH
241772002-01-12 Richard Henderson <rth@redhat.com>
24178
24179 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
24180 (ix86_expand_vector_move): New.
24181 (bdesc_2arg): Remove andps, andnps, orps, xorps.
24182 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
24183 Remove old prefetch builtins. Special case the logicals removed above.
24184 (ix86_expand_builtin): Likewise.
24185 (safe_vector_operand): Use V4SFmode, not TImode.
24186 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
24187 (ix86_expand_timode_binop_builtin): New.
24188 * config/i386/i386-protos.h: Update.
24189 * config/i386/i386.h (enum ix86_builtins): Update.
24190 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
24191 Use ix86_expand_vector_move in vector move expanders.
24192 (movti_internal, movti_rex64): Add xorps alternative.
24193 (sse_clrv4sf): Rename and adjust from sse_clrti.
24194 (prefetch): Don't work so hard.
24195 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
24196 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
24197 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
24198
6f1a6c5b
RH
241992002-01-11 Richard Henderson <rth@redhat.com>
24200
24201 * config/i386/mmintrin.h: New file.
24202 * config/i386/xmmintrin.h: New file.
24203 * config.gcc (i?86-*-*): Add extra_headers.
24204 * simplify-rtx.c (simplify_unary_operation): Handle saturating
24205 truncation codes.
24206 (simplify_binary_operation): Handle saturating arithmetic codes.
24207 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
24208 not the lowpart subreg.
24209 (ix86_expand_builtin): Return a TImode dummy register instead of 0
24210 on error.
24211 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
24212
cdb574d3
MH
242132002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
24214
24215 * conflict.c (conflict_graph_compute): Free regsets when finished.
24216 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 24217
cf11ac55
HB
242182002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
24219
24220 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
24221 every where we allocate a register.
24222
76ac938b
MH
242232002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
24224
24225 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
24226 * lcm.c (compute_earliest, compute_farthest): Likewise.
24227
a84b4898
JJ
242282002-01-11 Janis Johnson <janis187@us.ibm.com>
24229
24230 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
24231
aaef1c12
JJ
242322002-01-11 Janis Johnson <janis187@us.ibm.com>
24233
24234 * doc/rtl.texi (Insns): Fix 2 typos.
24235
5d22c1a5
JM
242362002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
24237
24238 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
24239 options. Use @table @gcctabopt for MMIX options. Add index
24240 entries for MMIX options. Start new paragraph with first
24241 heading of the machine-dependent options.
24242
3e92902c
CR
242432002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
24244
24245 PR other/5299
24246 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
24247 * combine.c (force_to_mode): Same.
24248 * reload1.c (clear_reload_reg_in_use): Same.
24249
96ae8197
NC
242502002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
24251
24252 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
24253 and 'subtargets'.
24254
9b780582
AJ
242552002-01-11 Andreas Jaeger <aj@suse.de>,
24256 Brad Lucier <lucier@math.purdue.edu>
24257
24258 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
24259 mcpu.
24260
12300dad
DR
24261Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
24262
24263 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
24264 Protect with IN_LIBGCC.
24265 (LINK_EH_SPEC): Add required trailing space.
24266
27511a9a
NP
24267Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
24268
9b780582 24269 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
24270 under the filename which contains them.
24271 (check_identifier, finish_decl_top_level,
24272 lookup_name_current_level_global, shadow_record_fields): Remove.
24273
4daeab16
AJ
242742002-01-11 Andreas Jaeger <aj@suse.de>
24275
24276 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
24277 march.
24278
40571d67
RH
242792002-01-10 Richard Henderson <rth@redhat.com>
24280
24281 * config/alpha/alpha.c (print_operand): Add 'J'.
24282 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
24283 new operand with the sequence number for the lituse. When splitting
24284 the insns, use gen_movdi_er_high_g and generate a sequence number.
24285 (gen_movdi_er_high_g): Print the sequence number if non-zero.
24286
6525c0e7
AH
242872002-01-10 Aldy Hernandez <aldyh@redhat.com>
24288
d8086cbb
RS
24289 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
24290 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
24291 stvxl.
24292 (altivec_expand_builtin): Same.
24293 (altivec_expand_stv_builtin): New.
24294
24295 * config/rs6000/rs6000.h (rs6000_builtins): Same.
24296
24297 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
24298 ("altivec_lvehx"): New.
24299 ("altivec_lvewx"): New.
24300 ("altivec_lvxl"): New.
24301 ("altivec_lvx"): New.
24302 ("altivec_stvx"): New.
24303 ("altivec_stvebx"): New.
24304 ("altivec_stvehx"): New.
24305 ("altivec_stvewx"): New.
24306 ("altivec_stvxl"): New.
6525c0e7 24307
cda94cbb
RH
243082002-01-10 Richard Henderson <rth@redhat.com>
24309
24310 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
24311 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
24312 care not to delete instructions twice.
24313
df2c9a44
ZW
243142002-01-10 Zack Weinberg <zack@codesourcery.com>
24315
24316 * toplev.c: Don't declare environ (it's not used anywhere).
24317 * configure.in: Don't check for declaration of environ.
24318 * config/i386/xm-mingw32.h: Don't #define environ.
24319 * config.in, configure: Regenerate.
24320
5dd8a9b1
ZW
243212002-01-10 Zack Weinberg <zack@codesourcery.com>
24322
24323 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
24324 * configure: Regenerate.
24325
24326 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
24327 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
24328 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
24329 alpha/xm-vms.h.
24330 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
24331 LIMITS_H_TEST here, not in m68k/x-next.
24332 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
24333 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
24334
24335 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
24336 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
24337 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
24338
24339 * config/i386/x-djgpp: Renamed i386/t-djgpp.
24340 * config/m88k/x-dolph: Renamed m88k/t-dolph.
24341 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
24342 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
24343 replacement of quadlib.asm with quadlib.c.
24344
24345 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
24346 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
24347 config/rs6000/xm-beos.h: Delete file.
24348
24349 * config.gcc: Update to match above changes.
24350
d10dd44c
KH
243512002-01-10 Kazu Hirata <kazu@hxi.com>
24352
24353 * config/h8300/h8300.h: Fix comment typos.
24354 * config/h8300/h8300.md: Likewise.
24355 * config/h8300/lib1funcs.asm: Likewise.
24356
04894c5a
DJ
243572002-01-10 Dale Johannesen <dalej@apple.com>
24358
24359 PR optimization/5269
24360 * unroll.c (precondition_loop_p): Make *increment be the correct
24361 sign when n_iterations known, to avoid confusing caller.
24362
adc9fe67
KH
243632002-01-10 Kazu Hirata <kazu@hxi.com>
24364
24365 * doc/extend.texi (deprecated): Fix a typo.
24366
b446e5a2
JH
24367Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
24368
24369 * basic-block.h (update_br_prob_note): Declare.
24370 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
24371 (try_forward_edges): Care negative frequencies and update note.
24372 (outgoing_edges_match): Tweek conditional merging heuristics.
24373 (try_crossjump_to_edge): use update_br_prob_note.
24374 * cfglayout.c (fixup_reorder_chain): Likewise.
24375 * cfrtl.c (update_br_prob_note): New.
24376 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
24377
24378 * i386.c (ix86_decompose_address): Return -1 if address contains
24379 shift.
24380 (legitimate_address_p): Require ix86_decompose_address to return 1.
24381
24382 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
24383 (cprop_insn): Likewise.
24384
a01da83b
KH
243852002-01-10 Kazu Hirata <kazu@hxi.com>
24386
24387 * toplev.c: Fix formatting.
24388 * tree.c: Likewise.
24389 * tree-dump.c: Likewise.
24390 * unroll.c: Likewise.
24391 * unwind-dw2.c: Likewise.
24392 * unwind-dw2-fde.c: Likewise.
24393 * unwind-dw2-fde-glibc.c: Likewise.
24394 * unwind-sjlj.c: Likewise.
24395
9f85bca7
JM
243962002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
24397
24398 * doc/invoke.texi: Document PDP-11 options.
24399
f48f56b1
KH
244002002-01-10 Kazu Hirata <kazu@hxi.com>
24401
24402 * config/h8300/h8300.h: Fix formatting.
24403
ead39bdf 244042002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
24405
24406 Add __attribute__ ((deprecated)).
24407 * extend.texi: Document __attribute__ ((deprecated)).
24408 * invoke.texi: Document -Wno-deprecated-declarations.
24409 * testsuite/g++.dg/other/deprecated.C: New C++ test.
24410 * testsuite/gcc.dg/deprecated.c: New C test.
24411 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
24412 (c_common_attribute_table): Add "deprecated" entry.
24413 (handle_deprecated_attribute): New function.
24414 * c-decl.c (deprecated_states): New enum.
24415 deprecated_state: State of "deprecated" handling.
24416 (start_decl): Set deprecated_state based on attributes.
24417 (grokdeclarator): Test for deprecated uses, propagate attribute.
24418 * c-typeck.c (build_component_ref): Test for deprecated fields.
24419 (build_external_ref): Test for deprecated primaries.
24420 * diagnostic.c (warn_deprecated_use) New function to issue
24421 warnings about __attribute__ ((depricated)) references.
24422 * flags.h (warn_deprecated_decl): Extern declared for
24423 -W[no-]deprecated-declarations option.
24424 * print-tree.c (print_node): Show deprecated flag status.
24425 * toplev.c (warn_deprecated_decl): Defined.
24426 (W_options): Added "deprecated-declaration".
24427 * toplev.h (warn_deprecated_use): Extern declared.
24428 * tree.h (struct tree_common): Define deprecated_flag.
24429 (TREE_DEPRECATED): New macro to access flag.
24430 * cp/call.c (build_call): Test for deprecated calls.
24431 * cp/class.c (add_implicitly_declared_members): Set global
24432 flag to tell grokdeclarator to not issue deprecated warnings.
24433 * cp/cp-tree.h: Add extern for adding_implicit_members.
24434 * cp/decl.c (deprecated_states): New enum.
24435 (start_decl): Set deprecated_state based on attributes.
24436 (grokdeclarator): Test for deprecated uses, propagate attribute.
24437 * cp/lex.c (do_identifier): Test for deprecated primaries.
24438 * cp/typeck.c (build_component_ref): Test for deprecated fields.
24439
ead39bdf 244402002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
24441
24442 Fix to assign attributes to inline member functions.
24443 * cp/decl.c (start_method): Handle attrlist.
24444
47073a38
KH
244452002-01-10 Kazu Hirata <kazu@hxi.com>
24446
24447 * combine.c (expand_field_assignment): Use subreg_lsb().
24448
d288e53d
DE
244492002-01-10 David Edelsohn <edelsohn@gnu.org>
24450
24451 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
24452 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
24453 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
24454 Recurse for any operand of AND as long as constant is non-zero.
24455
08a02ffa
KH
244562002-01-10 Kazu Hirata <kazu@hxi.com>
24457
24458 * config/h8300/h8300.md: Remove constraints from expanders.
24459
c203e7fe
KH
244602002-01-10 Kazu Hirata <kazu@hxi.com>
24461
24462 * varasm.c: Fix formatting.
24463 * varray.c: Likewise.
24464 * vmsdbgout.c: Likewise.
24465 * xcoffout.c: Likewise.
24466
bcb3bc6d
JH
24467Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
24468
24469 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 24470 update edge probabilities to match.
bcb3bc6d 24471
0a553c7e
JM
244722002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
24473
24474 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
24475 dependencies.
24476 * doc/languages.texi, doc/sourcebuild.texi: New files.
24477 * doc/configfiles.texi: Make a subsubsection. Update.
24478 * doc/configterms.texi: Add @node. Remove warning that this isn't
24479 instructions for building GCC.
24480 * doc/makefile.texi: Make a subsection.
24481 * doc/gccint.texi: Update.
24482
adc7fcb8
JH
24483Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
24484
24485 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
24486
5a4dd0b3
NP
24487Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
24488
24489 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
24490
3987b9db
JH
24491Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
24492
24493 * optabs.c (expand_fix): Look for wider integer modes first.
24494
24495 * i386.md (mov?f): Avoid the fake const double trick for medium
24496 memory model.
24497 (min?f*/max?f*): Prohibit memory operands for i387 variant.
24498 (fop_df_4): Disable for SSE compilation.
24499
ceb15948 245002002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
24501
24502 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 24503 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 24504
e1623399
RH
245052002-01-10 Richard Henderson <rth@redhat.com>
24506
24507 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
24508
c4abb293
RH
245092002-01-10 Richard Henderson <rth@redhat.com>
24510
24511 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
24512 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
24513
d2604ae9
KH
245142002-01-10 Kazu Hirata <kazu@hxi.com>
24515
24516 * combine.c (can_combine_p): Fix a comment typo.
24517
766c7ad1
ZW
245182002-01-09 Zack Weinberg <zack@codesourcery.com>
24519
24520 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
24521 empty list correctly. Change loop index $t to $f for
24522 consistency with rest of Makefile.
24523
95385cbb
AH
245242002-01-08 Aldy Hernandez <aldyh@redhat.com>
24525
24526 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
24527 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
24528
24529 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
24530 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
24531 (altivec_init_builtins): Same.
24532 (altivec_expand_unop_builtin): Return NULL_RTX on error.
24533 (altivec_expand_binop_builtin): Same.
24534 (altivec_expand_ternop_builtin): Same.
24535 (bdesc_dst): New.
24536
24537 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
24538 ("altivec_vctuxs"): Fix typo.
24539 ("altivec_vnmsubfp"): Same.
24540 ("altivec_dssall"): New.
24541 ("altivec_mfvscr"): New.
24542 ("altivec_dss"): New.
24543 ("altivec_lvsl"): New.
24544 ("altivec_lvsr"): New.
24545 ("altivec_dstt"): New.
24546 ("altivec_dstst"): New.
24547 ("altivec_dststt"): New.
24548 ("altivec_dst"): New.
24549
24550 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
24551 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
24552
e4ac76b4
RH
245532002-01-09 Richard Henderson <rth@redhat.com>
24554
24555 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
24556
c893e4a4
HPN
245572002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
24558
24559 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
24560 function.
24561 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
24562 prototype.
7387c700 24563 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 24564
f4f4d0f8
KH
245652002-01-09 Kazu Hirata <kazu@hxi.com>
24566
24567 * read-rtl.c: Fix formatting.
24568 * real.c: Likewise.
24569 * regclass.c: Likewise.
24570 * regrename.c: Likewise.
24571 * reg-stack.c: Likewise.
24572 * reload1.c: Likewise.
24573 * reload.c: Likewise.
24574 * rtl.c: Likewise.
24575
cc863bea
KH
245762002-01-09 Kazu Hirata <kazu@hxi.com>
24577
24578 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
24579 to extract items in the expr_list chain.
24580
7b4dfe3d
RH
245812002-01-09 Richard Henderson <rth@redhat.com>
24582
24583 * config/vax/vax.c (vax_rtx_cost): Never abort.
24584
1d969638
RH
24585 * config/vax/vax.h (REAL_ARITHMETIC): Define.
24586
7d5ab30e
JH
245872002-01-09 Jan Hubicka <jh@suse.cz>
24588
24589 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
24590
9503f3d1
RH
245912002-01-09 Richard Henderson <rth@redhat.com>
24592
24593 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
24594 Unify code from various alternatives.
24595
42bd17b7
RH
245962002-01-09 Richard Henderson <rth@redhat.com>
24597
24598 * regrename.c (copy_value): Ignore the copy if the source register
24599 is present in the value chain with a narrower mode.
24600
bdca3c33
HB
246012002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
24602
cda94cbb
RH
24603 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
24604 for the c4x target. Also improve layout.
bdca3c33 24605
c73a5e94
RH
246062002-01-09 Richard Henderson <rth@redhat.com>
24607
24608 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
24609 * config/m32r/m32r.md (and ior xor splitters): Swap operands
24610 to match insn patterns.
24611
dd0a18c0
RH
246122002-01-09 Richard Henderson <rth@redhat.com>
24613
24614 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
24615 (copyprop_hardreg_forward_1): Likewise.
24616
1fd9ac1e
JDA
246172002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
24618
24619 * pa.md (decrement_and_branch_until_zero): Change predicate for
24620 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
24621
5cb265ec
BM
246222002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
24623
24624 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
24625 gets undefined. For Darwin.
24626
fcd8fa8b
HB
246272002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
24628
24629 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
24630
bd3ab23a
MH
246312002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
24632
24633 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
24634
21e16bd6
RH
246352002-01-08 Richard Henderson <rth@redhat.com>
24636
24637 * regrename.c (copy_value): Ignore overlapping copies.
24638
a5376276
RH
246392002-01-08 Richard Henderson <rth@redhat.com>
24640
24641 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
24642 as needed to avoid shared structure.
24643
18cf8dda
KH
246442002-01-08 Kazu Hirata <kazu@hxi.com>
24645
24646 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
24647 H8/300H and H8/S.
24648
16c484c7
JM
246492002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
24650
24651 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
24652 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
24653 documentation of obsolete macros.
24654 * system.h: Poison these macros.
24655 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
24656 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
24657 config/c4x/c4x.h, config/clipper/clipper.h,
24658 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
24659 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
24660 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
24661 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
24662 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
24663 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
24664 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
24665 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
24666 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
24667 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
24668 config/sparc/sparc.h, config/stormy16/stormy16.h,
24669 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
24670 definitions and commented out definitions of obsolete macros.
24671 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
24672 of MAX_INT_TYPE_SIZE.
24673
14b3e8ef
UW
246742002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
24675
24676 * config/s390/s390.c (s390_preferred_reload_class): Never
24677 return ADDR_REGS if it isn't a subset of the given class.
24678 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
24679 FP_REGS, but all superclasses as well.
24680
24681 * config/s390/s390.c (s390_function_profiler): Fix thinko.
24682
24683 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
24684 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
24685 must not be a const_int.
24686
a693284d
RH
246872002-01-08 Richard Henderson <rth@redhat.com>
24688
24689 * Makefile.in (toplev.o): Depend on options.h.
24690 (gcc.o): Depend on specs.h.
24691
b3ca30df
JJ
246922002-01-08 Jakub Jelinek <jakub@redhat.com>
24693
24694 * expr.c (store_expr): Convert VOIDmode constants back to target's
24695 mode.
24696
24dbb440
GP
246972002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
24698
24699 * doc/invoke.texi: Markup gcc as @command. Refer to
24700 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
24701 of http://gcc.gnu.org/thanks.html.
24702
234e114c
DJ
247032002-01-08 Dale Johannesen <dalej@apple.com>
24704
24705 * config/rs6000/rs6000.md: Add missing int register
24706 target case to movdf_low.
24707
0d24f4d1
ZW
247082002-01-08 Zack Weinberg <zack@codesourcery.com>
24709
24710 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
24711 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
24712 (cppinit.o): Depend on except.h.
24713 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
24714 s-specs): New rules.
24715
24716 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
24717 Don't create specs.h/options.h/gencheck.h here. Remove
24718 unnecessary variable settings from last argument of AC_OUTPUT.
24719 * config.in, configure: Regenerate.
24720 * intl.c: Hardcode package name as "gcc".
24721
24722 * cppinit.c: Include except.h.
24723 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
24724 appropriate.
24725 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
24726 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
24727 (!)USING_SJLJ_EXCEPTIONS.
24728 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
24729
ed722f66
JM
247302002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
24731
24732 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
24733 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
24734 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
24735 documentation of obsolete macros.
24736 * system.h: Poison these macros.
24737 * config/d30v/d30v.h, config/ns32k/encore.h,
24738 config/stormy16/stormy16.h: Remove definitions and commented out
24739 definitions of obsolete macros.
24740
31e5e29a
NP
24741Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
24742
24743 * objc/objc-act.c (handle_class_ref): Mark the declaration of
24744 %sobjc_class_ref_%s as used - to prevent unwanted compiler
24745 warnings.
24746
bc1fa59c
UW
247472002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
24748
24749 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
24750 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
24751 to insn adjusting stack/frame pointer.
0d24f4d1 24752 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
24753 accept operands that cause the insn to be non-splittable.
24754
a8086abf
GS
247552002-01-08 Graham Stott <grahams@redhat.com>
24756
24757 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
24758 (C_TYPE_FIELDS_VOLATILE): Likewise.
24759 (C_TYPE_BEING_DEFINED): Likewise.
24760 (C_IS_RESERVED_WORD): Likewise.
24761 (C_TYPE_VARIABLE_SIZE): Likewise.
24762 (C_DECL_VARIABLE_SIZE): Likewise.
24763 (C_MISSING_PROTOTYPE_WARNED): Likewise.
24764 (C_SET_EXP_ORIGINAL_CODE): Likewise.
24765 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
24766 parenthesis.
24767 (C_DECL_ANTICIPATED): Likewise.
24768 (c_build_type_variant): Add parenthesis.
24769
3f595aa1
JM
247702002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
24771
24772 * gcc.c (option_map): Remove --version.
24773 (process_command): Handle -fversion following the GNU Coding
24774 Standards. Partially addresses PR other/704.
24775
5bc5a8f9
GS
247762002-01-08 Graham Stott <grahams@redhat.com>
24777
24778 * combine.c (combine_instructions): Fix typo.
24779
16ec4ebf
GS
247802002-01-08 Graham Stott <grahams@redhat.com>
24781
24782 * debug.h: Use "tree" and "rtx" throughout.
24783
24784 * debug.c: Likewise.
24785
4b69f385
NC
247862002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
24787
24788 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
24789 constant pool, use the pool's version of the symbol instead.
24790
57d1019b
RH
247912002-01-07 Richard Henderson <rth@redhat.com>
24792
24793 * regrename.c (find_oldest_value_reg): Ignore the value chain if
24794 the original register was copied in a mode with a fewer number of
24795 hard registers than the desired mode.
24796 (copyprop_hardreg_forward_1): Likewise.
24797 (debug_value_data): Fix loop test.
24798 * toplev.c (parse_options_and_default_flags): Reenable
24799 -fcprop-registers at -O1.
24800
248012002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 24802
0d24f4d1
ZW
24803 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
24804 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 24805
0d24f4d1
ZW
24806 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
24807 predicates.
fa066a23 24808
0d24f4d1 24809 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 24810
8f949e7e
JDA
248112002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
24812
24813 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
24814 (pa_output_function_prologue): Output local label at the beginning of
24815 the prologue when profiling.
24816 (hppa_profile_hook): Use the local label rather than the function label.
24817 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
24818
c62f2db5
AH
248192002-01-07 Aldy Hernandez <aldyh@redhat.com>
24820
0d24f4d1
ZW
24821 * config/rs6000/rs6000.c (print_operand): Remove extra space.
24822 (altivec_expand_unop_builtin): Fix thinko.
24823 (altivec_expand_binop_builtin): Same.
24824 (altivec_expand_ternop_builtin): Same.
24825 (altivec_expand_builtin): Same.
c62f2db5 24826
b5235ba7
RH
248272002-01-07 Richard Henderson <rth@redhat.com>
24828
24829 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
24830
7d8ac293
JM
248312002-01-07 Jason Merrill <jason@redhat.com>
24832
24833 * unwind-dw2.c (execute_cfa_program): Use < again.
24834
571a03b8
JJ
248352002-01-07 Jakub Jelinek <jakub@redhat.com>
24836
24837 * predict.c (combine_predictions_for_insn): Avoid division by zero.
24838
2e951384
JJ
248392002-01-07 Jakub Jelinek <jakub@redhat.com>
24840
24841 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
24842 Don't allow -1 - x -> ~x simplifications in the first pass.
24843
20e26713
AH
248442002-01-07 Aldy Hernandez <aldyh@redhat.com>
24845
0d24f4d1
ZW
24846 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
24847 arguments.
24848 (altivec_expand_binop_builtin): Same.
24849 (altivec_expand_unop_builtin): Same.
24850 (print_operand): Fix typo.
24851 (bdesc_1arg): Add vupk* variants.
20e26713 24852
0d24f4d1 24853 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 24854
0d24f4d1 24855 * rs6000.md: Add altivec_vupk* variants.
20e26713 24856
4dd57c18
JM
248572002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
24858
24859 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
24860 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
24861 and last update dates.
24862
0341c5d2
JJ
248632002-01-07 Janis Johnson <janis187@us.ibm.com>
24864
24865 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
24866
c7f3e0b0
MM
248672002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
24868
24869 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
24870 * config/avr/avr.h (CPP_SPEC): Likewise.
24871 (LINK_SPEC): Likewise.
24872 (CRT_BINUTILS_SPECS): Likewise.
24873 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
24874 * doc/invoke.texi (AVR Options): Document them.
24875
6ba4d630
JH
24876Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
24877
24878 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
24879 LABEL_NUSES.
24880
6253d571
GS
248812002-01-07 Graham Stott <grahams@redhat.com>
24882
0d24f4d1
ZW
24883 * config/i386/i386.h: Update copyright date.
24884 (HALF_PIC_PTR): Add parenthesis.
24885 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
24886 (CONSTANT_ALIGNMENT): Add parenthesis.
24887 (DATA_ALIGNMENT): Likewise.
24888 (LOCAL_ALIGNMENT): Likewise.
24889 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
24890 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
24891 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
24892 (HARD_REGNO_NREGS): Add paranethesis.
24893 (VALID_SSE_REG_MODE): Whitespace.
24894 (VALID_MMX_REG_MODE): Whitespace.
24895 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
24896 (ix86_hard_regno_mode_ok): Add parenthesis.
24897 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
24898 (RETURN_IN_MEMORY): Whitespace.
24899 (N_REG_CLASSES): Add parenthesis.
24900 (INTEGER_CLASS_P): Add parenthesis and wrap.
24901 (FLOAT_CLASS_P): Likewise.
24902 (SSE_CLASS_P): Likewise.
24903 (MMX_CLASS_P): Likewise.
24904 (MAYBE_INTEGER_CLASS_P): Likewise.
24905 (MAYBE_FLOAT_CLASS_P): Likewise.
24906 (MAYBE_SSE_CLASS_P): Likewise.
24907 (MAYBE_MMX_CLASS_P): Likewise.
24908 (Q_CLASS_P): Likewise.
24909 (GENERAL_REGNO_P): Uppercase macro parameter.
24910 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
24911 (FP_REGNO_P): Likewise.
24912 (ANY_FP_REGNO_P): Uppercase macro parameter.
24913 (SSE_REGNO_P): Likewise.
24914 (SSE_REGNO): Likewise.
24915 (SSE_REG_P): Likewise.
24916 (SSE_FLOAT_MODE_P): Likewise.
24917 (MMX_REGNO_P): Likewise.
24918 (MMX_REG_P):Likewise.
24919 (STACK_REG_P): Likewise.
24920 (NON_STACK_REG_P): Likewise.
24921 (STACK_TOP_P): Likewise.
24922 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
24923 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
24924 (SECONDARY_MEMORY_NEEDED): Likewise.
24925 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
24926 (MD_ASM_CLOBBERS): Whitespace and wrap.
24927 (MUST_PASS_IN_STACK): Whitespace and wrap.
24928 (RETURN_POPS_ARGS): Add parenthesis.
24929 (INIT_CUMULATIVE_ARGS): Likewise.
24930 (FUNCTION_ARG): Likewise.
24931 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
24932 (SETUP_INCOMING_VARARGS): Likewise.
24933 (BUILD_VA_LIST_TYPE): Add parenthesis.
24934 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
24935 parenthsis.
24936 (EXPAND_BUILTIN_VA_ARG): Likewise.
24937 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
24938 (INITIALIZE_TRAMPOLINE): Add parenthesis.
24939 (INITIAL_ELIMINATION_OFFSET): Likewise.
24940 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
24941 (REGNO_OK_FOR_BASE_P): Likewise.
24942 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
24943 (REGNO_OK_FOR_DIREG_P): Likewise.
24944 (REG_OK_FOR_INDEX_P): Whitespace.
24945 (REG_OK_FOR_BASE_P): Whitespace.
24946 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
24947 parenthesis.
24948 (FIND_BASE_TERM): Fix typo.
24949 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
24950 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
24951 (SYMBOLIC_CONST; Whitespace.
24952 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
24953 (ENCODE_SECTION_INFO): Whitespace.
24954 (FINALIZE_PIC): Remove do { ... } while (0).
24955 (PROMOTE_MODE): Wrap in do { ... } while (0).
24956 (CONST_COSTS): Whitespace.
24957 (RTX_COSTS): Add paramethesis, whitespace and wrap.
24958 (REGISTER_MOVE_COST): Add parenthesis.
24959 (MEMORY_MOVE_COST): Likewise.
24960 (EXTRA_CC_MODES): Whitespace.
24961 (SELECT_CC_MODE): Add parenthesis and whitespace.
24962 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
24963 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
24964 (ASM_OUTPUT_LABEL): Add paramethesis.
24965 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
24966 (ASM_OUTPUT_REG_POP): Likewise.
24967 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
24968 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 24969
07933f72
GS
24970 * config/i386/i386.c: Update copyright.
24971 (CHECK_STACK_LIMIT): Add parenthesis.
24972 (AT_BP): Uppercase macro parameter.
24973 (x86_64_int_parameter_registers): Constify.
24974 (x86_64_int_return_registers): Likewise.
24975 (ix86_compare_op0): Use rtx.
24976 (construct_container): Constify INTREG parameter.
24977 (function_arg): Use rtx.
24978
0b4d32c9
GS
24979 * diagnostic.h: Update copyright date.
24980 (output_buffer_state): Add parenthesis.
24981 (output_buffer_format_args): Likewise.
24982
6253d571
GS
24983 * combine.c (combine_instructions): Replace XEXP (links, 0)
24984 with link.
24985
68f3f6f1
L
249862002-01-06 H.J. Lu <hjl@gnu.org>
24987
24988 * cfgcleanup.c (thread_jump): Fix 2 typos.
24989
249902002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 24991
0d24f4d1 24992 * config.gcc: Add support for --enable-altivec.
480f7f3a 24993
13b8c631
CR
249942002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
24995
24996 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
24997
58ad89b1
JJ
249982002-01-06 Jakub Jelinek <jakub@redhat.com>
24999
25000 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
25001 __objc_class_name_*.
25002
e403b4bc
CR
250032002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
25004
25005 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
25006
e41c7831
RH
250072002-01-06 Richard Henderson <rth@redhat.com>
25008
25009 * reorg.c (emit_delay_sequence): Remove death notes, not merely
25010 nop them out. Increment label reference count for REG_LABEL.
25011 (fill_slots_from_thread): Frob label reference count around
25012 delete_related_insns.
25013
3b3b1e32
RH
250142002-01-05 Richard Henderson <rth@redhat.com>
25015
25016 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
25017 jump threading.
25018
c28abdf0
RH
250192002-01-05 Richard Henderson <rth@redhat.com>
25020
25021 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
25022 * integrate.c (output_inline_function): Likewise.
25023 * toplev.c (rest_of_compilation): Do it here instead. Move call
25024 to remove_unnecessary_notes after emitting abstract instance.
25025 Force an emitted nested function to have its parent emited as well.
25026 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
25027 for null.
25028 (rtl_for_decl_location): Do not look at reload data structures
25029 before reload has run.
25030
c4f2c499
KH
250312002-01-05 Kazu Hirata <kazu@hxi.com>
25032
25033 * cse.c: Fix formatting.
25034 * dwarf2asm.c: Likewise.
25035 * dwarf2out.c: Likewise.
25036 * explow.c: Likewise.
25037 * expmed.c: Likewise.
25038 * function.c: Likewise.
25039 * gcov.c: Likewise.
25040 * gencheck.c: Likewise.
25041 * genrecog.c: Likewise.
25042 * ggc-common.c: Likewise.
25043 * ggc-page.c: Likewise.
25044 * global.c: Likewise.
25045
cf0d9408
KH
250462002-01-05 Kazu Hirata <kazu@hxi.com>
25047
25048 * combine.c: Fix formatting.
25049
bedca03a
CR
250502002-01-05 Craig Rodrigues <crodrigu@bbn.com>
25051
25052 PR middle-end/1557
25053 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
25054
0134bf2d
DE
250552002-01-05 David Edelsohn <edelsohn@gnu.org>
25056
25057 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
25058 as 1 for __powerpc64__ as well.
25059
25060 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
25061
25062 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
25063 return it.
25064
9ca88d5a
DB
250652002-01-05 Daniel Berlin <dan@dberlin.org>
25066
25067 * lcm.c: Revert change, due to performance regression it causes on
25068 SPEC because it's slightly more conservative (sigh, I hate
25069 edge-based LCM).
0d24f4d1 25070
1c570418
JH
25071Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
25072
25073 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
25074
d83bb9f7
NB
250752002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
25076
25077 * doc/cppinternals.texi: Update.
25078
3e0f61ac
HPN
250792002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
25080
25081 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
25082 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
25083 negatives.
25084 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
25085 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
25086 kludge for pre-october-14th mmix versions to handle new-found bug
25087 with PUSHJ/PUSHGO and the register stack.
25088 * config/mmix/mmix.h (struct machine_function): Rename member
25089 has_call_value_without_parameters to has_call_without_parameters.
25090 All referers changed.
25091 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
25092 TARGET_MASK_BRANCH_PREDICT): New macros.
25093 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
25094 -mno-reg-stack-fill-bug-workaround.
25095 * config/mmix/mmix.md ("call"): Set struct machine member
25096 has_call_without_parameters.
25097
4deaa2f8
JH
25098Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
25099
25100 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
25101
9f16e871
JH
25102Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
25103
25104 * cfgcleanup.c: Include tm_p.h
25105 (mark_effect): Fix handling of hard register; fix handling of SET
25106
96eb1157
KH
251072002-01-04 Kazu Hirata <kazu@hxi.com>
25108
25109 * config/h8300/h8300.md (anonymous patterns): Check that
25110 operands are registers before using REGNO on them.
25111
48180d68
RM
251122002-01-03 Roland McGrath <roland@frob.com>
25113
25114 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
25115
b0832fe1
JJ
251162002-01-04 Jakub Jelinek <jakub@redhat.com>
25117
25118 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
25119 * c-common.h (genrtl_expr_stmt_value): Likewise.
25120 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
25121 (expand_expr_stmt_value): Add maybe_last argument.
25122 Don't warn about statement with no effect if it is the last statement
25123 in expression statement.
25124 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
25125 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
25126 expand_expr_stmt_value.
25127 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
25128 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
25129 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
25130 as maybe_last to expand_expr_stmt_value.
25131
c1e14513
JL
25132Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
25133
0d24f4d1
ZW
25134 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
25135 be passed in, do not build it.
25136 (c_begin_if_stmt): New function.
25137 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
25138 * c-common.h (c_expand_start_cond): Update prototype.
25139 (c_begin_if_stmt): Prototype new function.
25140 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
25141 * c-parse.in (if_prefix): Use c_begin_if_stmt,
25142 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 25143
b6ec437a
WC
251442002-01-04 William Cohen <wcohen@redhat.com>
25145
25146 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
25147 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
25148 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
25149 * config/pa/som.h (ASM_FILE_START): Likewise.
25150
ead39bdf 251512002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
25152
25153 * lcm.c: Include df.h.
25154 Add available_transfer_function prototype.
25155 (compute_available): Rework to use iterative dataflow framework.
25156 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
25157 with bb_info in df.h
25158 (available_transfer_function): New function.
25159
25160 * Makefile.in (lcm.o): add df.h to dependencies.
25161
551cc6fd
RH
251622002-01-04 Richard Henderson <rth@redhat.com>
25163
25164 * config/alpha/alpha.c (some_operand): Accept HIGH.
25165 (input_operand): Likewise; accept simple references to globals.
25166 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
25167 (alpha_const_double_ok_for_letter_p): Likewise.
25168 (alpha_extra_constraint): Likewise.
25169 (alpha_preferred_reload_class): Likewise. Do not force
25170 symbolic constants to memory.
25171 (alpha_legitimate_address_p): Accept simple references
25172 to small_symbolic_operand.
25173 (alpha_legitimize_address): New arg scratch. Be prepared to be
25174 called when no_new_pseudos. Emit simple symbolic references.
25175 Split integers into low, high, and rest.
25176 (alpha_expand_mov): Use alpha_legitimize_address.
25177 (some_small_symbolic_mem_operand): New.
25178 (split_small_symbolic_mem_operand): New.
25179 * config/alpha/alpha-protos.h: Update.
25180 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
25181 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
25182 (EXTRA_CONSTRAINT): Likewise.
25183 (PREFERRED_RELOAD_CLASS): Likewise.
25184 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
25185 (PREDICATE_CODES): Update.
25186 * config/alpha/alpha.md: New post-reload splitters to convert
25187 simplfied symbolic operands to the form that references $29.
25188 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
25189 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
25190
1eaea054
RH
251912002-01-03 Richard Henderson <rth@redhat.com>
25192
25193 * local-alloc.c (function_invariant_p): Update commentary.
25194
c4cc12b7
L
251952002-01-04 H.J. Lu <hjl@gnu.org>
25196
25197 * toplev.c (rest_of_compilation): Fix a typo when calling
25198 cleanup_cfg.
25199
173bf5be
KH
252002002-01-03 Kazu Hirata <kazu@hxi.com>
25201
25202 * c-common.c: Fix formatting.
25203 * diagnostic.c: Likewise.
25204 * doloop.c: Likewise.
25205 * dwarf2out.c: Likewise.
25206
187462ac
KH
252072002-01-03 Kazu Hirata <kazu@hxi.com>
25208
25209 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
25210 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
25211
5d8ebbd8
NB
252122002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
25213
25214 * cpperror.c: Update comments and copyright.
25215 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
25216 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
25217
518c1311
JDA
252182002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
25219
25220 * collect2.c (main): Use strcmp when testing for "-shared".
25221
d15a58c0
NB
252222002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
25223
25224 * cppmacro.c: Don't include intl.h. Update comments.
25225 (new_number_token): Allocate enough buffer for 64-bit unsigned
25226 integers; update prototype.
25227 * cppmain.c: Update comments.
25228
70f4f91c
WC
252292002-01-03 William Cohen <wcohen@redhat.com>
25230
25231 * function.h (struct function): Add profile.
25232 (current_function_profile): New.
25233 doc/extend.texi: Update documentation.
25234 * final.c (final_start_function): Use current_function_profile
25235 instead of profile_flag.
25236 (profile_after_prologue): Likewise.
25237 * function.c (expand_function_start): Likewise.
25238 (expand_function_start): Likewise.
c4cc12b7 25239 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
25240 (alpha_does_function_need_gp): Likewise.
25241 (alpha_expand_prologue): Likewise.
25242 * config/arm/arm.c (arm_expand_prologue): Likewise.
25243 thumb_expand_prologue: Likewise.
25244 * config/d30v/d30v.c (d30v_stack_info): Likewise.
25245 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
25246 (fr30_expand_prologue): Likewise.
25247 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
25248 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
25249 * config/i386/i386.h (FINALIZE_PIC): Likewise.
25250 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
25251 * config/i960/i960.c (i960_output_function_prologue): Likewise.
25252 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
25253 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
25254 (m32r_expand_prologue): Likewise.
25255 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
25256 (m88k_expand_prologue): Likewise.
25257 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
25258 * config/mips/mips.c (compute_frame_size): Likewise.
25259 (mips_expand_prologue): Likewise.
25260 (mips_can_use_return_insn): Likewise.
25261 * config/pa/elf.h (ASM_FILE_START): Likewise.
25262 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
25263 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
25264 * config/pa/som.h (ASM_FILE_START): Likewise.
25265 * config/romp/romp.c (romp_using_r14): Likewise.
25266 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
25267 (rs6000_stack_info): Likewise.
25268 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 25269 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
25270 * config/v850/v850.c (compute_register_save_size): Likewise.
25271
cb1ac742
JJ
252722002-01-03 Jakub Jelinek <jakub@redhat.com>
25273
25274 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
25275 gen_lowpart_common fails, use gen_lowpart_SUBREG.
25276
61d951df 252772002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 25278
61d951df
TC
25279 * darwin.c (machopic_output_possible_stub_label): Don't generate
25280 stub routines for pseudo-stubs which we've just defined.
25281
505ddab6
KH
252822002-01-03 Kazu Hirata <kazu@hxi.com>
25283
25284 * builtins.c: Fix formatting.
25285 * c-typeck.c: Likewise.
25286 * combine.c: Likewise.
25287 * expr.c: Likewise.
25288 * loop.c: Likewise.
25289
b7e30d8a
AS
252902002-01-03 Andreas Schwab <schwab@suse.de>
25291
25292 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
25293 and return true if _cpp_push_next_buffer pushed a new include
25294 file.
25295 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
25296 _cpp_pop_file_buffer did not push a new file.
25297 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
25298
ff81832f
EC
252992002-01-02 Eric Christopher <echristo@redhat.com>
25300
25301 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
25302 FIND_REG_INC_NOTE call. Update copyright.
25303 * loop.c (canonicalize_condition): Ditto.
25304 * reorg.c (delete_scheduled_jump): Ditto.
25305
8e42ace1
KH
253062002-01-03 Kazu Hirata <kazu@hxi.com>
25307
25308 * gcse.c: Fix formatting.
25309
fb2bf631
GS
253102002-01-03 Graham Stott <grahams@redhat.com>
25311
25312 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
25313 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 25314 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
25315
25316 * system.h: Move forward defs for struct tags rtx_def, union_tree,
25317 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 25318 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
25319
253202002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
25321
25322 * tree.h: Update copyright date.
25323 (IS_EXPR_CODE_CLASS): Add parenthesis.
25324 (TREE_SET_CODE): Add whitespace.
25325 (TREE_CHECK): Add parenthesis.
25326 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
25327 (CST_OR_CONSTRUCTOR_CHECK):
25328 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
25329 (TREE_SYMBOL_REFERENCED): Whitespace.
25330 (INT_CST_LT): Likewise.
25331 (INT_CST_LT_UNSIGNED): Likewise.
25332 (tree_real_cst): Unwrap comment.
25333 (tree_string): Likewise.
25334 (tree_complex): Likewise.
25335 (IDENTIFIER_POINTER): correct cast.
25336 (SAVE_EXPR_CONTEXT): Whitespace.
25337 (EXPR_WFL_FILENAME_NODE): Likewise.
25338 (EXPR_WFL_FILENAME): Remove parenthesis.
25339 (DECL_ORIGIN): Add parenthesis.
25340 (DECL_FROM_INLINE): Use NULL_TREE.
25341 (build_int_2): Whitespace.
25342 (build_type_variant): Add parenthesis.
25343
25344 * gcc/jcf-parse.c: Update copyright date.
25345 (yyparse): Constify resource_filename.
25346
f52eda29
GS
253472002-01-03 Graham Stott <grahams@redhat.com>
25348
25349 * rtl.h: Update copyright date.
25350 (RTL_CHECK1): Wrap long line.
25351 (RTL_CHECK2): Likewise.
25352 (RTL_CHECKC1): Wrap long line and whitespace.
25353 (RTL_CHECKC2): Likewise.
25354 (XWINT): Whitespace.
25355 (XINT): Likewise.
25356 (XSTR): Likewise.
25357 (XEXP): Likewise.
25358 (XVEC): Likewise.
25359 (XMODE): Likewise.
25360 (XBITMAP): Likewise.
25361 (XTREE): Likewise.
25362 (XBBDEF): Likewise.
25363 (XTMPL): Likewise.
25364 (X0WINT): Likewise.
25365 (X0INT):Likewise.
25366 (X0UINT): Likewise.
25367 (X0STR): Likewise.
25368 (X0EXP): Likewise.
25369 (X0VEC): Likewise.
25370 (X0MODE): Likewise.
25371 (X0BITMAP): Likewise.
25372 (X0TREE): Likewise.
25373 (X0BBDEF): Likewise.
25374 (X0ADVFLAGS): Likewise.
25375 (X0CSELIB): Likewise.
25376 (X0MEMATTR): Likewise.
25377 (XCWINT): Likewise.
25378 (XCINT): Likewise.
25379 (XCUINT): Likewise.
25380 (XCSTR): Likewise.
25381 (XCEXP): Likewise.
25382 (XCVEC): Likewise.
25383 (XCMODE): Likewise.
25384 (XCBITMAP): Likewise.
25385 (XCTREE): Likewise.
25386 (XCBBDEF): Likewise.
25387 (XCADVFLAGS): Likewise.
25388 (XCCSELIB): Likewise.
25389 (XC2EXP): Likewise.
25390 (INSN_UID): Likewise.
25391 (PREV_INSN): Likewise.
25392 (PATTERN): Likewise.
25393 (INSN_CODE): Likewise.
25394 (PUT_REG_NOTE_KIND): Likewise.
25395 (CODE_LABEL_NUMBER): Likewise.
25396 (NOTE_SOURCE_FILE): Likewise.
25397 (NOTE_BLOCK): Likewise.
25398 (NOTE_EH_HANDLER): Likewise.
25399 (NOTE_RANGE_INFO): Likewise.
25400 (NOTE_LIVE_INFO): Likewise.
25401 (NOTE_BASIC_BLOCK): Likewise.
25402 (NOTE_EXPECTED_VALUE): Likewise.
25403 (NOTE_LINE_NUMBER): Likewise.
25404 (LABEL_NAME): Likewise.
25405 (LABEL_NUSES): Likewise.
25406 (LABEL_ALTERNATE_NAME): Likewise.
25407 (ADDRESSOF_DECL): Likewise.
25408 (JUMP_LABEL): Likewise.
25409 (LABEL_NEXTREF): Likewise.
25410 (REGNO): Likewise.
25411 (ORIGINAL_REGNO: Likewise.
25412 (HARD_REGISTER_NUM_P): Add parenthesis.
25413 (SUBREG_REG): Whitespace.
25414 (SUBREG_BYTE): Likewise.
25415 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
25416 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
25417 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
25418 (ASM_OPERANDS_INPUT_VEC): Likewise.
25419 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
25420 (ASM_OPERANDS_INPUT): Likewise.
25421 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
25422 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
25423 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
25424 (ASM_OPERANDS_INPUT_MODE): Likewise.
25425 (ASM_OPERANDS_SOURCE_FILE): Likewise.
25426 (ASM_OPERANDS_SOURCE_LINE): Likewise.
25427 (MEM_SET_IN_STRUCT_P): Minor reformat.
25428 (TRAP_CONDITION): Whitespace.
25429 (TRAP_CODE): Likewise.
25430 (COND_EXEC_TEST): Likewise.
25431 (COND_EXEC_CODE): Likewise.
25432 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
25433 (PHI_NODE_P): Add parenthesis.
25434 (plus_constant): Whitespace and add parenthesis.
25435
e03f5d43
KH
254362002-01-03 Kazu Hirata <kazu@hxi.com>
25437
25438 * config/avr/avr.c: Fix comment typos.
25439 * config/c4x/c4x.md: Likewise.
25440 * config/dsp16xx/dsp16xx.h: Likewise.
25441 * config/dsp16xx/dsp16xx.md: Likewise.
25442 * config/i386/i386.md: Likewise.
25443 * config/ia64/ia64.c: Likewise.
25444 * config/m32r/m32r.h: Likewise.
25445 * config/m68hc11/m68hc11.md: Likewise.
25446 * config/mmix/mmix.c: Likewise.
25447 * config/mn10200/mn10200.c: Likewise.
25448 * config/romp/romp.c: Likewise.
25449 * config/sh/sh.c: Likewise.
25450 * config/stormy16/stormy16.c: Likewise.
25451 * config/stormy16/stormy16.h: Likewise.
25452 * config/stormy16/stormy16.md: Likewise.
25453
97e300e9
GS
254542002-01-03 Graham Stott <grahams@redhat.com>
25455
25456 * loop.h: Update copyright date.
0d24f4d1
ZW
25457 (LOOP_MOVABLES): Fix typo.
25458 (LOOP_REGS): Likewise.
25459 (LOOP_IVS): Likewise.
ff81832f 25460
745b26b3
GS
254612002-01-03 Graham Stott <grahams@redhat.com>
25462
25463 * cppinit.c: Update copyright date.
25464 Don't include output.h
25465 * Makefile.in: Update copyright date.
25466 Update dependency.
25467
0a379b7a
CR
254682002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
25469
25470 PR c/5226
25471 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
25472 (-pthread) Add to RS/6000 options.
25473
a8154559
KH
254742002-01-02 Kazu Hirata <kazu@hxi.com>
25475
25476 * except.c: Fix comment typos.
25477 * loop.c: Likewise.
25478 * varasm.c: Likewise.
25479 * doc/tm.texi: Fix a typo.
25480
e6ecc89b
JJ
254812002-01-02 Jakub Jelinek <jakub@redhat.com>
25482
25483 * c-typeck.c (output_init_element): Allow initializing static storage
25484 duration objects with compound literals.
25485
d1094b40
RH
254862002-01-02 Richard Henderson <rth@redhat.com>
25487
25488 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
25489 after abusing it.
25490
0c5d8c82
KG
254912002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
25492
5e65297b
KG
25493 * gcc.c (default_compilers): Const-ify.
25494 * mips-tdump.c (stab_names): Likewise.
25495 * mips-tfile.c (map_coff_types, map_coff_storage,
25496 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
25497 pseudo_ops_t, pseudo_ops): Likewise.
25498 * protoize.c (default_include): Likewise
25499
0c5d8c82
KG
25500 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
25501 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
25502 Add array size in declaration.
25503 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
25504 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
25505 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
25506 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
25507 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
25508 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
25509 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
25510 emtens, make_nan): Const-ify.
25511 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
25512 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
25513
817e13c4
JM
255142002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
25515
25516 * config.gcc (ia64-*-*): Set extra_headers.
25517 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
25518 * config/alpha/t-osf: Remove.
25519 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
25520
98095e2b
DE
255212002-01-02 David Edelsohn <edelsohn@gnu.org>
25522
25523 * config/rs6000/t-aix43: Revert previous change.
25524
a4200657
JM
255252002-01-02 Jason Merrill <jason@redhat.com>
25526
25527 * c-decl.c (c_expand_body): Call outlining_inline_function when
25528 emitting an inline function out of line.
25529
54ba1f0d
RH
255302002-01-02 Richard Henderson <rth@redhat.com>
25531
25532 * dwarf2out.c (limbo_die_node): Add created_for member.
25533 (new_die): New argument created_for. Update all callers.
25534 (mark_limbo_die_list): New.
25535 (dwarf2out_init): Register limbo_die_list as a root.
25536 (dwarf2out_finish): Force insert limbo dies into their function
25537 context.
25538
323728aa
NS
255392002-01-02 Nathan Sidwell <nathan@codesourcery.com>
25540
25541 PR c++/5089
25542 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
25543
aefc5826
KH
255442002-01-02 Kazu Hirata <kazu@hxi.com>
25545
25546 * config/h8300/fixunssfsi.c: Update copyright.
25547 Fix comment typos.
25548 Fix formatting.
25549 * config/h8300/h8300.c: Update copyright.
25550 Eliminate warnings.
25551
b1c9bc51
KH
255522002-01-02 Kazu Hirata <kazu@hxi.com>
25553
25554 * config/romp/romp.c: Fix comment formatting.
25555 * config/romp/romp.h: Likewise.
25556 * config/romp/romp.md: Likewise.
25557 * config/s390/s390.c: Likewise.
25558 * config/stormy16/stormy16.c: Likewise.
25559 * config/stormy16/stormy16.h: Likewise.
25560
1574ef13
AO
255612002-01-02 Alexandre Oliva <aoliva@redhat.com>
25562
25563 * c-common.h (genrtl_expr_stmt_value): Declare.
25564 * c-semantics.c (genrtl_goto_stmt): Redirect to...
25565 (genrtl_goto_stmt_value): ... this new function. Pass new
25566 argument down to expand_expr_stmt_value, taking
25567 TREE_ADDRESSABLE into account.
25568 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
25569 STMT_EXPR as addressable, i.e., one whose result we want.
25570 * expr.c (expand_expr): Don't save expression statement value
25571 of labeled_blocks or loop_exprs.
25572 * stmt.c (expand_expr_stmt): Redirect to...
25573 (expand_expr_stmt_value): ... this new function. Use new
25574 argument to tell whether to save expression value.
25575 (expand_end_stmt_expr): Reset last_expr_type and
25576 last_expr_value if we don't have either.
25577 * tree-inline.c (declare_return_variable): Mark its use
25578 statement as addressable.
25579 * tree.h: Document new use of TREE_ADDRESSABLE.
25580 (expand_expr_stmt_value): Declare.
25581
252b88f7
TR
255822002-01-01 Tom Rix <trix@redhat.com>
25583
25584 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
25585 rs6000_emit_allocate_stack.
25586
29f7a208
JM
255872002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
25588
25589 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
25590 ${srcdir}/ginclude/ to every entry in extra_headers.
25591 * configure: Regenerate.
25592 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
25593 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
25594 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
25595 * ginclude/proto.h: Rename to config/convex/proto.h.
25596
2cc2d4bb
RK
25597Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25598
25599 * attribs.c (handle_vector_size_attribute): Use host_integerp
25600 and tree_int_cst; remove warnings.
25601 * caller-save.c (insert_restore): Add cast to get rid of warning.
25602 (insert_save): Likewise.
25603 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
25604 * regmove.c (find_matches): Add temporary var to kill a warning.
25605
f01c9bcd
DR
256062002-01-01 Douglas B Rupp <rupp@gnat.com>
25607
16b61764
DR
25608 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
25609 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
25610 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
25611 (vms-dwarf2eh.o): Add Makefile rule.
25612 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
25613 * config/alpha/vms-dwarf2eh.asm: New file.
25614
f01c9bcd
DR
25615 * gcc.c (delete_if_ordinary): Delete all versions.
25616
91312b81
HPN
256172002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
25618
25619 * config/mmix/mmix.md: Update FIXME to not mention
25620 define_constants.
25621 (MMIX_rJ_REGNUM): New define_constants constant.
25622 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
25623 "*movdicc_real"): Adjust contraints formatting.
25624 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
25625 for branch prediction.
25626 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
25627 output template.
25628 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
25629 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
25630 number. Delete related FIXMEs.
25631 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
25632 from number to MMIX_rJ_REGNUM.
25633 (TARGET_MASK_BRANCH_PREDICT): New.
25634 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
25635 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
25636 value. Add -mbranch-predict and -mno-branch-predict.
25637 (TARGET_VERSION): Drop date.
25638 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
25639 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
25640 for finding out global symbols.
25641 (mmix_asm_output_labelref): Revert condition for global symbol.
25642 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
25643 (mmix_print_operand_punct_valid_p): A '+' is valid.
25644
619acae7 25645See ChangeLog.6 for earlier changes.
This page took 3.324407 seconds and 5 git commands to generate.