1 2002-08-17 Richard Sandiford <rsandifo@redhat.com>
3 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
4 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
5 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
7 2002-08-16 Stan Shebs <shebs@apple.com>
9 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
10 for ObjC with -fnext-runtime.
11 * doc/cpp.texi: Document it.
13 2002-08-16 Janis Johnson <janis187@us.ibm.com>
15 * doc/install.texi (Final installation): Replace links to individual
16 build status pages with a link to a common page that lists them all.
18 2002-08-16 Sylvain Pion <pion@cs.nyu.edu>
20 * doc/invoke.texi: Fix typo.
22 2002-08-16 David Edelsohn <edelsohn@gnu.org>
24 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
26 2002-08-16 Andrew Haley <aph@redhat.com>
28 * tree-inline.c: Add includes for Java inliner.
29 (remap_decl): Don't handle anonymous types for Java.
30 (remap_block): Add handling for Java trees.
31 (copy_scope_stmt): Conditionalize for non-Java use only.
32 (copy_body_r): Handle Java trees. Add handling for
33 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
34 (initialize_inlined_parameters): Handle Java trees.
35 (declare_return_variable): Likewise.
36 (expand_call_inline): Handle Java trees.
37 (walk_tree): Likewise.
38 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
39 (add_stmt_to_compound): New function.
41 2002-08-15 Richard Henderson <rth@redhat.com>
43 * Makefile.in (LOOSE_WARN): Remove -fno-common.
44 (NOCOMMON_FLAG): New substitution point.
45 (GCC_WARN_CFLAGS): Include it.
46 * configure.in (ac_checking): Set nocommon_flag.
47 (nocommon_flag): New substitution point.
49 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
51 * c-tree.h (skip_evaluation): Move declaration...
52 * c-common.h: ... here.
53 * c-typeck.c (build_external_ref): Don't assemble_external nor
54 mark a tree as used if skip_evaluation is set.
55 * c-parse.in (typeof): New non-terminal to set skip_evaluation
57 (typespec_nonreserved_nonattr): Use it.
59 2002-08-15 Douglas B Rupp <rupp@gnat.com>
61 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
62 (xcoff_debug_hooks): Update end_prologue.
63 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
64 * debug.h (end_prologue): Add file arg.
65 (end_epilogue): Add line and file args.
66 (dwarf2out_end_epilogue): Add line and file args.
67 (vmsdbgout_after_prologue): Remove.
68 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
69 (dwarf2_debug_hooks): Update end_prologue.
70 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
71 (dwarfout_end_prologue): Add file arg.
72 * final.c (vmsdbgout_after_prologue): Remove
73 (final_end_function): Update end_epilogue call.
74 (final_scan_insn): Update end_prologue call.
75 * sdbout.c (sdbout_end_epilogue): Add line and file args.
76 (sdbout_end_prologue): Add file arg.
77 (sdb_debug_hooks): Update end_prologue.
78 (sdb_begin_prologue): Update sdbout_end_prologue call.
79 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
80 vmsdbgout_end_function.
81 (vmsdbgout_end_prologue): New function renamed from
82 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
83 (vmsdbgout_end_function): New function.
84 (vmsdbgout_end_epilogue): Add line and file args. Call
85 vmsdbgout_source_line.
86 (write_pclines): Write only valid line numbers.
87 (write_srccorr): Don't write source correlation records if 0 lines.
88 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
90 2002-08-15 Steve Ellcey <sje@cup.hp.com>
92 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
93 (_Unwind_Internal_Ptr): 32 bit version for use in
94 read_encoded_value_with_base.
95 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
96 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
99 2002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
101 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
102 signed/unsigned warnings.
104 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
105 record_reg_classes): Likewise.
107 * reload.c (reload_inner_reg_of_subreg, push_reload,
108 find_reloads_address_1): Likewise.
110 2002-08-15 David Edelsohn <edelsohn@gnu.org>
112 * rs6000.c (output_mi_thunk): Return to function section on
115 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
117 2002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
119 * config/s390/s390.c (legitimize_address): Optimize loading
120 of large displacements.
122 2002-08-14 Douglas B Rupp <rupp@gnat.com>
124 * config/alpha/alpha-protos.h: Update.
126 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
127 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
128 (alpha_linkage_symbol_p): New static function.
129 (print_operand_address): Print linkage operand.
131 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
133 (reloc_kind): New enum.
134 (struct alpha_funcs): New struct.
135 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
137 (alpha_need_linkage): Rewrite.
138 (alpha_use_linkage): New global function.
139 (alpha_write_linkage): Rewrite and make static.
140 (alpha_write_one_linkage): Rewrite
142 (alpha_start_function): Remove procedure descriptor output.
143 (alpha_end_function): Write linkages at end of each function.
145 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
146 (call_vms_1, call_value_vms_1): Rewrite.
148 * config/alpha/vms.h (ASM_FILE_END): Remove.
150 2002-08-14 Richard Henderson <rth@redhat.com>
152 * ggc-page.c (RTL_SIZE): New.
153 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
154 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
156 2002-08-14 Richard Henderson <rth@redhat.com>
158 * calls.c: Include target.h.
159 * Makefile.in (calls.o): Update.
161 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
162 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
164 2002-08-14 Richard Henderson <rth@redhat.com>
166 * Makefile.in (LOOSE_WARN): Add -fno-common.
167 * c-common.h (constant_string_class_name): Add missing extern.
169 2002-08-15 Neil Booth <neil@daikokuya.co.uk>
172 * c-opts.c (check_deps_environment_vars): Ignore main file
173 for SUNPRO_DEPENDENCIES.
174 * cppfiles.c (stack_include_file): Ignore main file if
176 * cpplib.h (struct cpp_options): New member in deps.
177 * doc/cppenv.texi: Update.
179 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
182 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
184 2002-08-14 Nathan Sidwell <nathan@codesourcery.com>
186 * doc/invoke.texi (-a): Remove documentation.
187 (-fprofile-arcs): Remove reference to -a, -ax options.
188 * doc/gcov.texi (Gcov Data Files): Data might be merged.
190 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
193 * c-semantics.c (genrtl_case_label): Don't (mis)use
196 2002-08-14 Dale Johannesen <dalej@apple.com>
198 * explow.c (emit_stack_restore): Emit memory clobbers
199 preceding the stack pop, to prevent the scheduler from
200 moving refs to variable arrays below this pop.
201 * reload1.c (reload): Preserve these clobbers for sched2.
202 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
204 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
206 * c-opts.c (c_common_post_options): Correct test.
208 2002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
210 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
211 order in call to fprintf.
213 2002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
215 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
217 2002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
219 * reload.c (find_reloads): Handle constraint letters marked by
220 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
221 (alternative_allows_memconst): Likewise.
222 * reload1.c (maybe_fix_stack_asms): Likewise.
223 * recog.c (asm_operand_ok, preprocess_constraints,
224 constrain_operands): Likewise.
225 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
226 * local-alloc.c (block_alloc, requires_inout): Likewise.
227 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
229 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
230 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
231 * doc/tm.texi: Document these two new target macros.
233 * config/s390/s390.c (s390_expand_plus_operand): Accept already
235 (q_constraint): New function.
236 config/s390/s390-protos.h (q_constraint): Declare it.
237 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
238 (EXTRA_MEMORY_CONSTRAINT): New macro.
240 * config/s390/s390.md: Throughout the machine description,
241 replace all instances of the constraint combinations 'Qo'
242 or 'oQ' with simply 'Q'.
244 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
246 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
247 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
248 (LIBGCC2_CFLAGS): Compile with -mrelax.
250 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
252 * doc/invoke.texi: Document -minmax for 68HC12.
254 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
255 ("uminqi3"): Likewise.
256 ("uminhi3", "umaxhi3"): Likewise.
258 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
259 (TARGET_MIN_MAX): Define.
260 (TARGET_SWITCHES): New option -minmax/-mnominmax.
262 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
264 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
265 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
267 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
268 (ret, declare, farsym): New gas macros.
269 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
270 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
271 and declare the symbol far when compiled with -mlong-calls.
272 (__far_trampoline): New for 68HC12 trampoline code to invoke a
273 far handler using jsr/bsr.
275 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
276 (jsr): New macro to transform a 'jsr' into a 'call'.
278 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
280 * doc/invoke.texi: Document -mlong-calls for 68HC12.
282 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
283 -mlong-calls is specified.
284 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
285 assembler directives.
286 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
287 (TARGET_SWITCHES): Add -mlong-calls options.
288 (current_function_far): Declare.
290 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
291 into account the page register saved on the stack.
292 (m68hc11_override_options): Take into account -mlong-calls option.
293 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
295 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
296 if the function is going to be in 68HC12 banked memory (-mlong-calls).
297 ("*return_16bit"): Likewise.
298 ("*return_void"): Likewise.
299 ("call", "call_value"): Use call for a far function call.
301 2002-08-14 Neil Booth <neil@daikokuya.co.uk>
303 * toplev.c (parse_options_and_default_flags): Don't call
305 (general_init): Initialize GC, pools and tree hash here,
306 instead of lang_independent_init.
307 (lang_independent_init): Rename backend_init.
308 (do_compile): Call post_options hook; exit early if there
309 have been errors after switch processing.
310 (toplev_main): Update.
312 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
314 * c-pretty-print.h: Guard against multiple inclusion.
316 (pp_c_attributes): Declare.
317 * c-pretty-print.c (pp_c_attributes): New function.
319 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
321 * m68k.c (m68k_output_function_prologue,
322 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
324 * genattrtab.c: Remove dpx2 comment.
325 * libgcc2.c (__enable_execute_stack): Delete versions for
326 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
327 sony_news/SYSTYPE_BSD.
328 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
329 __gmicro__, __i860__, __NeXT__ and __pyr__.
330 * rtl.h: Remove convex comment.
331 * varasm.c: Likewise.
333 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
335 * c-opts.c (lang_flags): Const-ify.
336 * ra-build.c (undef_table): Likewise.
337 * ra.c (eliminables): Likewise.
339 2002-08-14 Gabriel Dos Reis <gdr@nerim.net>
341 * tree.h: Guard against multiple inclusion.
343 2002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
345 * reload1.c (reload_cse_simplify): Before checking
346 REG_FUNCTION_VALUE_P, check REG_P.
348 2002-08-13 Geoffrey Keating <geoffk@redhat.com>
350 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
352 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
354 * c-opts.c (c_common_init_options): Extra braces needed.
356 Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
358 * sh.c (sh_init_builtins): Add PARAMS to declaration.
359 (sh_media_init_builtins, sh_expand_builtin): Likewise.
360 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
361 (sh_expand_binop_v2sf): Likewise.
362 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
363 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
364 (sh_initialize_trampoline): Likewise.
366 2002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
368 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
369 new condition code modes.
370 s390.c (s390_match_ccmode_set): Handle those new CC modes.
371 (s390_select_ccmode): Likewise.
372 (s390_branch_condition_mask): Likewise.
374 * s390-protos.h (s390_tm_ccmode): Declare.
375 s390.c (s390_tm_ccmode): New function.
376 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
378 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
379 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
380 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
382 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
383 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
384 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
385 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
386 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
388 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
389 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
390 "*cmpqi_ccs_0"): Remove, replace by ...
391 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
392 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
393 "*tstqi", "*tstqi_cconly"): ... these new patterns.
395 ("*cmpsidi_ccs"): Remove, replace by ...
396 ("*cmpsi_ccs_sign"): ... this new pattern.
397 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
399 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
400 ("*cli"): ... this new pattern.
402 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
403 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
405 ("adddi3_64"): Rename to "*adddi3_64".
406 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
407 ("adddi3"): Adapt expander.
409 ("*addsi3_cc"): Allow "general_operand" for operand 2.
410 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
411 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
413 ("addhi3", "addqi3"): Remove, replace by ...
414 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
416 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
417 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
418 ("subdi3"): Replace by insn and splitter "*subdi3_31".
419 ("subdi3"): New expander.
421 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
423 ("subhi3", "subqi3"): Remove, replace by ...
424 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
426 ("*muldi3_sign"): New pattern.
427 ("muldi3"): Do not clobber CC.
428 ("mulsi3"): Likewise.
429 ("mulsi_6432"): Likewise.
431 2002-08-13 Denis Chertykov <denisc@overta.ru>
433 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
434 which can change CC0.
436 Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
438 * gcse.c (adjust_libcall_notes): New function.
439 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
441 2002-08-13 Nathan Sidwell <nathan@codesourcery.com>
443 * libgcc2.c (L_bb): Remove unneeded #includes.
444 (__global_counters, __gthreads_active): Remove unused globals.
445 (__bb_exit_func): Merge counts into files rather than appending.
446 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
447 (ALL_CFLAGS): ... to here.
449 2002-08-13 Denis Chertykov <denisc@overta.ru>
451 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
452 (function_epilogue): Don't calculate function size.
453 (ip2k_set_compare): Don't use lookup_const_double.
454 (asm_file_start): Initialization of commands_in_file removed.
455 (asm_file_end): Output of commands_in_file removed.
457 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
460 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
462 * c-opts.c (c_common_init_options): Check option array is
463 sorted if checking enabled.
465 2002-08-13 Gabriel Dos Reis <gdr@nerim.net>
467 * c-pretty-print.c: #include "c-tree.h".
468 (pp_c_simple_type_specifier): Tweak.
469 (pp_c_storage_class_specifier): New.
470 (pp_c_function_specifier): Likewise.
471 (pp_c_declaration_specifiers): Likewise.
472 (pp_c_init_declarator): Likewise.
473 (pp_c_declaration): Likewise.
474 (pp_c_direct_declarator): Stub.
475 (pp_c_declarator): Likewise.
476 (pp_c_parameter_declaration): Likewise.
478 2002-08-13 Neil Booth <neil@daikokuya.co.uk>
480 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
481 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
482 struct deferred_opt): New.
483 (COMMAND_LINE_OPTIONS): Add -M*.
484 (missing_arg): Update.
485 (c_common_decode_option): Handle -M*.
486 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
487 don't call cpp_post_options.
488 (c_common_finish, check_deps_environment_vars): Update.
489 * cppfiles.c (stack_include_file, handle_missing_header): Update.
490 * cpphash.h (CPP_PRINT_DEPS): Remove.
491 * cppinit.c: Don't include version.h.
492 (cpp_create_reader): Don't call deps_init. Initialize
494 (cpp_read_main_file): Init deps if necessary.
495 (cpp_destroy): Conditionally free deps.
496 (cpp_finish): Update.
498 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
499 (cpp_post_options): Rename post_options.
500 * cpplib.h (struct cpp_options): Remove some dependency options;
501 move others to a new structure.
502 (cpp_post_options): Remove.
503 (cpp_finish): Comment.
504 * fix-header.c (read_scan_file): Don't call cpp_post_options.
506 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
508 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
509 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
510 MMIX_rR_REGNUM as clobbered.
511 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
513 2002-08-12 Gabriel Dos Reis <gdr@nerim.net>
515 * diagnostic.h (output_formatted_scalar): Rename from
516 output_formatted_integer.
517 * diagnostic.def: Add DK_DEBUG.
518 * diagnostic.c (output_decimal): Adjust.
519 (output_long_decimal): Likewise.
520 (output_unsigned_decimal): Likewise.
521 (output_octal): Likewise.
522 (output_long_octal): Likewise.
523 (output_hexadecimal): Likewise.
524 (output_long_hexadecimal): Likewise.
525 * c-pretty-print.c (pp_c_type_specifier): New function.
526 (pp_c_specifier_qualifier_list): Likewise.
527 (pp_c_abstract_declarator): Likewise.
528 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
530 2002-08-12 David Edelsohn <edelsohn@gnu.org>
532 * doc/trouble.texi (Disappointments): Add static constructor and
533 destructor dependency information for AIX.
535 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
537 * cpphash.h (struct printer): New from cppmain.c.
538 (cpp_reader): New member.
539 * cppmain.c (struct printer): Move to cpphash.h.
540 (options, print): Remove.
541 (account_for_newlines, print_line, maybe_print_line,
542 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
543 scan_translation_unit_trad, cb_line_change, cb_ident,
544 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
545 cb_def_pragma): Make reentrant.
547 2002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
549 * real.c (ieee_64): Always define.
550 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
551 (dec_h): Not used yet, hide it.
552 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
553 macro controlling use.
554 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
556 Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
558 * i386.md (tablejump): Sign extend the operand.
559 * i386.c (classify_argument): Fix missed case from previous patch.
561 2002-08-12 Neil Booth <neil@daikokuya.co.uk>
563 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
565 (warn_multichar): Die.
566 (cb_register_builtins): Export.
567 * c-common.h (warn_multichar, preprocess_file): Remove.
568 (cb_register_builtins): New.
569 * c-lang.c (c_init): Remove.
570 (LANG_HOOKS_INIT): Use c_objc_common_init.
571 * c-lex.c (init_c_lex): Don't canonicalize filename.
572 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
573 (preprocess_file): Make static. Update for cpplib.
574 (c_common_decode_option): Remove warn_multichar. Use in_fname.
575 (c_common_post_options): Set some cpp options here.
576 (c_common_init): Move from c-common.c.
577 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
578 * cpplib.h (struct cpp_options): Remove in_fname.
579 (cpp_preprocess_file): Update.
580 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
582 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
584 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
586 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
588 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
589 backslash in comment preceeding macro definition.
590 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
591 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
592 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
594 2002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
596 * expr.c (store_expr): In condition for checking if value is
597 generated in TARGET, move call to expr_size last.
599 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
601 * c-common.c (c_common_init): Call preprocess_file instead.
602 (c_common_finish): Move to c-opts.c.
603 * c-common.h (preprocess_file): new.
604 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
605 check_deps_environment_vars, c_common_finish): New.
606 (c_common_decode_option): Update for out_fname and dependencies.
607 * cppinit.c (init_dependency_output, output_deps): Remove.
608 (cpp_destroy): Update prototype.
609 (cpp_add_dependency_target): New.
610 (cpp_read_main_file): Don't overlay a buffer.
611 (cpp_finish): Take a deps output stream and write deps to it.
612 Return the error count.
613 (cpp_post_options): Don't canonicalize out_fname, or do anything
615 * cpplib.h (struct cpp_options): Remove out_fname and
617 (cpp_add_dependency_target): New.
618 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
619 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
620 set preprocess_only. Don't handle the output stream directly.
622 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
624 * dsp16xx.c (print_operand): Fix format specifier.
625 * dsp16xx.md: Avoid automatic aggregate initialization.
626 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
627 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
628 integer constant modifier.
629 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
630 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
632 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
633 * v850.c (v850_select_section): Mark parameter with
635 * global.c (global_alloc): Const-ify.
636 * ra-colorize.c (hardregset_to_string): Fix format specifier.
638 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
640 * darwin-c.c (darwin_pragma_options): Const-ify.
641 * darwin.c (machopic_non_lazy_ptr_name,
642 machopic_validate_stub_or_non_lazy_ptr): Likewise.
643 (machopic_indirect_data_reference): Wrap variables in macros
644 controlling their use.
645 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
646 (machopic_select_section): Use parentheses around && within ||.
647 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
649 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
651 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
652 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
653 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
654 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
655 mdr_try_remove_redundant_insns, track_w_reload,
656 mdr_try_wreg_elim): Make function static to match prototype.
657 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
658 parameter with ATTRIBUTE_UNUSED.
660 2002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
662 * arc.c (arc_init): Don't use ISO C style function definitions.
663 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
664 arm_get_strip_length, arm_strip_name_encoding): Likewise.
665 * avr.h (progmem_section): Likewise.
666 * h8300.c h8300_asm_insn_count): Likewise.
667 * m32r.c (init_idents): Likewise.
668 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
669 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
670 * xtensa.c (xtensa_build_va_list): Likewise.
672 2002-08-11 Neil Booth <neil@daikokuya.co.uk>
674 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
675 * c-opts.c (parse_option): Rename find_opt.
676 (set_std_c99): New function.
677 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
678 (missing_arg): Remove OPT_std_bad. Handle -o.
679 (c_common_decode_option): Handle input and output file names,
680 -o and -remap. Clean up -std= handling.
681 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
682 (cpp_handle_option): Similarly. Don't handle filenames.
684 Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
686 * i386.c (classify_argument): Fix computing of field's offsets.
688 2002-08-11 Andreas Jaeger <aj@suse.de>
691 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
693 2002-08-10 Ziemowit Laski <zlaski@apple.com>
695 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
696 reference to clk_objective_c with flag_objc.
697 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
699 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
701 2002-08-10 Neil Booth <neil@daikokuya.co.uk>
703 * c-opts.c (set_std_cxx98, set_std_c89): New.
704 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
705 (c_common_decode_option): Handle new switches from cppinit.c.
707 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
708 (no_arg, no_num): Remove.
709 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
710 switches apart from -lang-objc and lang-asm.
711 (cpp_handle_option): Similarly.
712 * cpplib.h (cpp_set_lang): New.
713 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
715 * objc/lang-specs.h: Remove -ansi.
717 Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
720 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
723 2002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
725 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
726 emit_jump_insn): Fix uninitialized variable.
727 * gcov.c (init_line_info): Likewise.
728 * genautomata.c (transform_3): Add braces around ambiguous
730 * ifcvt.c (cond_exec_process_insns): Mark parameter with
732 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
733 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
736 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
737 warnings in output files.
739 2002-08-09 Ziemowit Laski <zlaski@apple.com>
741 * c-common.c (flag_objc): New.
742 * c-common.h (c_language_kind): Get rid of clk_objective_c
744 (flag_objc): New extern declaration.
745 * c-decl.c (implicitly_declare): Call objc_check_decl
746 instead of maybe_objc_check_decl.
747 (finish_decl): Likewise.
748 (grokfield): Likewise.
749 (finish_struct): Likewise.
750 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
751 (maybe_objc_comptypes): Rename to objc_comptypes.
752 (maybe_building_objc_message_expr): Rename to
753 objc_message_selector.
754 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
755 replace with flag_objc as needed.
756 * c-opts.c (c_common_init_options): Likewise.
757 (c_common_decode_option): Likewise.
758 * c-parse.in (init_reswords): Likewise.
759 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
760 (maybe_objc_comptypes): Rename to objc_comptypes.
761 (maybe_building_objc_message_expr): Rename to
762 objc_message_selector.
763 * c-typeck.c (comptypes): Call objc_comptypes instead of
764 maybe_objc_comptypes, and/or objc_message_selector instead of
765 maybe_building_objc_message_expr.
766 (comp_target_types): Likewise.
767 (convert_for_assignment): Likewise.
768 (warn_for_assignment): Likewise.
769 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
770 independently of those for other languages.
771 * objc/objc-act.c (maybe_objc_comptypes): Delete.
772 (maybe_objc_check_decl): Delete.
773 (maybe_building_objc_message_expr): Rename to
774 objc_message_selector.
775 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
776 clk_objective_c; set flag_objc flag.
778 2002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
780 * ifcvt.c (find_if_case_2): Test correct basic block for size.
782 2002-08-09 Dale Johannesen <dalej@apple.com>
784 * config/rs6000/rs6000.md: Add sibcall patterns.
785 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
786 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
787 Rewritten to handle sibcalls.
788 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
789 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
791 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
793 * profile.c (da_file_name): New static var.
794 (init_branch_prob): Initialize it.
795 (end_branch_prob): Remove da file.
797 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
798 * configure.in (coverage_flags): Default to nothing.
799 * configure: Rebuilt.
801 2002-08-09 Neil Booth <neil@daikokuya.co.uk>
803 * Makefile.in (c-opts.o): Update
804 * c-opts.c: Include intl.h.
805 (print_help): Move from cppinit.c. Remove unused options.
806 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
807 (missing_arg): Complain for switches without an argument.
808 (c_common_decode_option): Reject missing joined arguments.
809 Handle new switches from cppinit.c.
810 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
811 (cpp_handle_option): Similarly.
812 (print_help): Moved to c-opts.c.
813 * cpplib.h (struct cpp_options): Remove help_only.
814 * gcc.c (cpp_unique_options): Remove -$.
815 * doc/cppopts.texi: Undocument -h.
817 2002-08-08 Jakub Jelinek <jakub@redhat.com>
819 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
821 (legitimate_pic_operand_p): Neither pic operand.
822 (legitimate_address_p): But legitimate address.
823 (get_thread_pointer): Generate MEM/u instead of CONST around
825 (print_operand): Remove printing of UNSPEC_TP.
826 (print_operand_address): And print it here.
828 2002-08-08 Devang Patel <dpatel@apple.com>
830 * objc/objc-act.c (build_selector_translation_table): Issue warning,
831 when -Wselector is used,if method for which selector is being
832 created does not exist.
834 2002-08-08 Stephen Clarke <stephen.clarke@superh.com>
836 * config/sh/sh.c (prepare_move_operands): Only call
837 target_reg_operand if TARGET_SHMEDIA.
839 2002-08-08 Jakub Jelinek <jakub@redhat.com>
841 * config/rs6000/rs6000.h, config/rs6000/aix.h,
842 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
844 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
846 2002-08-08 Lars Brinkhoff <lars@nocrew.org>
847 Richard Henderson <rth@redhat.com>
849 * emit-rtl.c (gen_rtx_REG): After reload, only return
850 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
852 2002-08-08 Jakub Jelinek <jakub@redhat.com>
854 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
855 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
856 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
859 2002-08-08 Adam Nemet <anemet@lnxw.com>
861 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
863 (thumb_expand_prologue): Likewise.
864 (thumb_output_function_prologue): Likewise.
865 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
866 the additional push of the PIC register.
868 2002-08-08 Nathan Sidwell <nathan@codesourcery.com>
870 * configure.in (enable_coverage): New enable switch.
871 * configure: Rebuilt.
872 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
873 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
874 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
875 (mostlyclean): Remove coverage files.
876 * doc/install.texi: Document enable_coverage.
878 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
879 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
880 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
881 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
882 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
883 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
886 2002-08-08 Neil Booth <neil@daikokuya.co.uk>
888 * c-opts.c (cpp_opts): New.
889 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
890 (c_common_decode_options): Handle cpplib switches.
891 (c_common_init_options): Set cpp_opts.
892 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
893 (cpp_handle_option): Similarly.
895 2002-08-08 David Edelsohn <edelsohn@gnu.org>
897 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
898 (TARGET_ALTIVEC_ABI): Same.
899 (TARGET_ALTIVEC_VRSAVE): Same.
901 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
902 icode not CODE_FOR_nothing. Change switch to if.
904 2002-08-08 Alan Modra <amodra@bigpond.net.au>
906 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
908 2002-08-08 Jakub Jelinek <jakub@redhat.com>
910 * stor-layout.c (place_union_field): For bitfields if
911 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
914 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
916 * pa.c (struct deferred_plabel): Constify name field.
918 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
920 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
922 2002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
924 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
925 local_prefix are the same.
926 * configure: Rebuilt.
928 2002-08-07 Jakub Jelinek <jakub@redhat.com>
929 Richard Henderson <rth@redhat.com>
931 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
932 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
933 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
934 (place_field): Likewise.
935 * config/i386/i386.c (x86_field_alignment): Don't check
936 DECL_USER_ALIGN here.
937 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
938 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
940 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
941 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
942 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
943 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
944 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
945 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
947 2002-08-07 Neil Booth <neil@daikokuya.co.uk>
949 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
950 * c-common.c: Don't include tree-inline.h.
951 (c_common_init_options, c_common_post_options): Move to c-opts.c.
952 * c-common.h (c_common_decode_option): New.
953 * c-decl.c (c_decode_option): Remove.
954 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
955 * c-opts.c: New file.
956 * c-tree.h (c_decode_option): Remove.
957 * doc/passes.texi: Update.
958 * objc/objc-act.c (objc_decode_option): Remove.
959 * objc/objc-act.h (objc_decode_option): Remove.
960 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
961 c_common_decode_option.
963 2002-08-07 Chris Demetriou <cgd@broadcom.com>
965 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
966 dependency on TARGET_DOUBLE_FLOAT.
968 2002-08-07 Stephen Clarke <stephen.clarke@superh.com>
970 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
971 overwrite callee-save registers. Fix comment.
973 2002-08-06 Chris Demetriou <cgd@broadcom.com>
975 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
976 in target_flags based on ISA, if it was not set on the command
977 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
978 support Branch Likely instructions.
979 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
980 (TARGET_BRANCHLIKELY): Likewise.
981 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
982 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
983 ISA_HAS_BRANCHLIKELY.
984 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
985 * doc/invoke.texi: Document new MIPS -mbranch-likely and
986 -mno-branch-likely options.
988 2002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
990 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
992 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
995 2002-08-06 Aldy Hernandez <aldyh@redhat.com>
997 * c-decl.c (duplicate_decls): Error out for incompatible TLS
1000 * testsuite/gcc.dg/tls/diag-3.c: New.
1002 2002-08-06 Jason Merrill <jason@redhat.com>
1004 * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
1005 a VAR_DECL with RTL that matches the target, just return that RTL.
1007 2002-08-06 Dale Johannesen <dalej@apple.com>
1008 * c-common.c (fname_decl): Use line number 0 for
1009 __func__, to avoid confusing debuggers.
1011 2002-08-06 Nathan Sidwell <nathan@codesourcery.com>
1014 (struct line_info, struct coverage): New structures.
1015 (gcov_file_name, gcov_file): Remove globals.
1016 (output_data): Take source file parameter. Fix memory leak. Break
1018 (init_line_info, output_line_info, make_gcov_file_name,
1019 accumulate_branch_counts): ... here.
1020 (calculate_branch_probs, function_summary): Adjust.
1022 (function_*): Remove global variables.
1024 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
1026 * dwarf2out.c: Remove unused macros.
1028 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
1030 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
1032 2002-08-06 Neil Booth <neil@daikokuya.co.uk>
1034 * cppinit.c (struct lang_flags): Rename trigraphs std.
1036 * cpplib.h (struct cpp_options): New member std.
1037 * cppmacro.c (_cpp_builtin_macro_text): Use std.
1038 (collect_args): Flag whether to swallow a possible future
1039 comma pasted with varargs.
1040 (replace_args): Use this flag.
1041 * doc/cpp.texi: Update varargs extension documentation.
1043 2002-08-06 Jakub Jelinek <jakub@redhat.com>
1045 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
1047 2002-08-06 Jakub Jelinek <jakub@redhat.com>
1049 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
1050 and MODE_CLASS_INT modes.
1052 2002-08-06 Jakub Jelinek <jakub@redhat.com>
1054 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
1055 --{enable,disable}-threads is given to configure.
1056 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
1057 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
1058 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
1059 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
1060 Remove thread_file setting here.
1062 2002-08-06 David Edelsohn <edelsohn@gnu.org>
1064 * doc/install.texi (Binaries): Update Bull Freeware URL.
1066 2002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1068 * doc/gcc.texi (Top): Rename Index to Keyword Index.
1070 2002-08-05 Nathan Sidwell <nathan@codesourcery.com>
1072 * gcov.c (output_data): Round to % to nearest, tweak formatting.
1074 2002-08-05 Jakub Jelinek <jakub@redhat.com>
1076 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
1077 of the operands into MINUS_EXPR if code is PLUS_EXPR.
1079 2002-08-05 Douglas B Rupp <rupp@gnat.com>
1081 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
1082 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
1083 drectve_section): Define.
1084 * config/i386/t-interix: Replace interix.o rule with winnt.o.
1085 * config/i386/interix.c: Remove.
1087 2002-08-05 Geoffrey Keating <geoffk@redhat.com>
1089 * attribs.c: Don't include obstack.h.
1090 * builtins.c: Likewise.
1091 * cfganal.c: Likewise.
1092 * cfgbuild.c: Likewise.
1093 * cfgcleanup.c: Likewise.
1094 * emit-rtl.c: Likewise.
1098 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
1100 2002-08-05 Gabriel Dos Reis <gdr@nerim.net>
1102 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
1104 2002-08-04 Chris Demetriou <cgd@broadcom.com>
1106 * doc/invoke.texi: Remove duplicated paragraph describing
1109 2002-08-04 Geoffrey Keating <geoffk@redhat.com>
1111 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
1112 * collect2.h (permanent_obstack): Delete declaration.
1113 * collect2.c (permanent_obstack): Delete definition.
1114 (main): Don't initialise permanent_obstack. Use xstrdup instead.
1115 * expr.c: Don't include obstack.h.
1116 (permanent_obstack): Delete declaration.
1117 * function.c: Don't include obstack.h.
1118 (permanent_obstack): Delete declaration.
1119 * integrate.c: Don't include obstack.h.
1120 (function_maybepermanent_obstack): Delete declaration.
1121 * print-tree.c (debug_tree): Use x*alloc not permalloc.
1122 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
1123 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
1124 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
1125 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
1126 of permalloc, expralloc, perm_calloc.
1127 * tree.c (permanent_obstack): Delete definition.
1128 (init_ttree): Rename from init_obstacks.
1129 (permalloc): Delete.
1130 (perm_calloc): Delete.
1131 (dump_tree_statistics): Don't print information about
1133 * varasm.c (assemble_start_function): Use xstrdup instead of
1135 (assemble_variable): Likewise.
1136 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
1138 (unicosmk_add_extern): Likewise.
1139 * config/c4x/c4x.c (c4x_external_ref): Likewise.
1140 (c4x_global_label): Likewise.
1141 * config/frv/frv.c (frv_encode_section_info): Likewise.
1142 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
1143 (i386_pe_record_exported_symbol): Likewise.
1144 * config/mips/mips.c (mips_output_external): Likewise.
1145 (mips_output_external_libcall): Likewise.
1146 * config/pa/pa.c: (permanent_obstack): Delete declaration.
1147 (output_call): Use ggc_strdup instead of allocating on
1149 * config/romp/romp.c: Include ggc.h.
1150 (get_symref): Don't declare permanent_obstack, use ggc_strdup
1151 intead of permanent_obstack.
1152 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
1153 instead of permalloc.
1154 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
1155 instead of permalloc
1156 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
1157 instead of permalloc.
1158 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
1161 2002-08-04 Bernd Schmidt <bernds@redhat.com>
1163 Contribute a port developed primarily by Michael Meissner,
1164 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
1165 * config.gcc: Add frv-elf target.
1166 * config/frv/cmovd.c: New file.
1167 * config/frv/cmovh.c: New file.
1168 * config/frv/cmovw.c: New file.
1169 * config/frv/frv-abi.h: New file.
1170 * config/frv/frv-asm.h: New file.
1171 * config/frv/frv-modes.def: New file.
1172 * config/frv/frv-protos.h: New file.
1173 * config/frv/frv.c: New file.
1174 * config/frv/frv.h: New file.
1175 * config/frv/frv.md: New file.
1176 * config/frv/frvbegin.c: New file.
1177 * config/frv/frvend.c: New file.
1178 * config/frv/lib1funcs.asm: New file.
1179 * config/frv/media.h: New file.
1180 * config/frv/modi.c: New file.
1181 * config/frv/t-frv: New file.
1182 * config/frv/uitod.c: New file.
1183 * config/frv/uitof.c: New file.
1184 * config/frv/ulltod.c: New file.
1185 * config/frv/ulltof.c: New file.
1186 * config/frv/umodi.c: New file.
1187 * config/frv/xm-frv.h: New file.
1189 * config/frv/media.h: Removed again.
1191 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
1193 * gcov.c (bb_file_time): New static variable.
1194 (object_directory): May also be object file.
1195 (preserve_paths): New static variable.
1196 (print_usage): Adjust.
1198 (process_args): Adjust.
1199 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
1200 file. Find modification date on bb file.
1201 (read_profile): Don't rewind a NULL file.
1202 (format_hwint): New static function.
1203 (function_summary): Use format_hwint.
1204 (output_data): SOURCE_FILE_NAME is never relative to
1205 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
1206 mangling. Adjust output format to make it more machine readable.
1207 * doc/gcov.texi: Document & clarify semantics.
1209 2002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
1211 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
1213 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
1215 * gcc.c (cc1_options): Pass output file as auxbase when
1217 * profile.c (init_branch_prob): FILENAME has already had ending
1219 * final.c (end_final): Likewise.
1220 * toplev.c (aux_base_name): New global.
1221 (compile_file): Pass aux_base_name to init init_branch_prob and
1223 (independent_decode_option, case 'a'): New auxinfo options.
1224 (case 'd'): Protect against mising basename.
1225 (do_compile): Initialize aux_base_name.
1226 * toplev.h (aux_base_name): New global.
1227 * doc/invoke.texi: Adjust documentation.
1229 2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
1231 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
1232 of TARGET_ALIGN_DOUBLE.
1234 2002-08-04 Gabriel Dos Reis <gdr@nerim.net>
1236 * diagnostic.c (inform): New function.
1237 * diagnostic.h (inform): Declare.
1239 2002-08-03 David Edelsohn <edelsohn@gnu.org>
1241 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
1242 (movhi_internal): Same.
1243 (movqi_internal): Same.
1244 (movdi_internal64): Same.
1246 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
1248 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
1249 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
1250 (COMMON_ASM_OP): Define.
1251 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
1252 Use ALIGN parameter.
1253 (LOCAL_COMMON_ASM_OP): Define.
1254 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
1256 2002-08-03 Roger Sayle <roger@eyesopen.com>
1258 * builtins.def: Define new builtin functions exp, expf, expl,
1259 log, logf and logl (and their __builtin_* variants).
1260 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
1261 Define exp_optab and log_optab.
1262 * optabs.c (init_optans): Initialize exp_optab and log_optab.
1263 * genopinit.c (optabs): Implement exp_optab and log_optab
1264 using exp?f2 and log?f2 patterns.
1265 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
1266 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
1267 (expand_builtin): Ignore the new builtins (and all cos and
1268 sin variants) when not optimizing. Expand new builtins via
1269 expand_builtin_mathfn when flag_unsafe_math_optimizations.
1271 * doc/extend.texi: Document new exp and log builtins.
1272 * doc/md.texi: Document new exp?f2 and log?f2 patterns
1273 (and previously undocumented cos?f2 and sin?f2 patterns).
1275 2002-08-03 Jason Merrill <jason@redhat.com>
1277 * explow.c (int_expr_size): New fn.
1278 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
1279 * expr.h: Declare it.
1281 2002-08-02 Krister Walfridsson <cato@df.lth.se>
1283 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
1284 gengtype-* dependencies.
1286 2002-08-02 Eric Christopher <echristo@redhat.com>
1288 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
1289 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
1291 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
1293 2002-08-02 David Edelsohn <edelsohn@gnu.org>
1296 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
1297 small if optimizing for size.
1299 2002-08-02 Daniel Jacobowitz <drow@mvista.com>
1301 * configure.in (FORBUILD): Use $build_alias.
1302 * configure: Regenerated.
1304 2002-08-02 Richard Sandiford <rsandifo@redhat.com>
1306 * config.gcc: Don't include mips/abi64.h in $tm_file.
1307 * hard-reg-set.h (call_really_used_regs): Declare.
1308 * config/mips/abi64.h: Remove file.
1309 * config/mips/linux.h,
1310 * config/mips/iris6.h: Don't include it.
1311 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
1312 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
1313 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
1314 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
1315 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
1316 Bring across definitions from abi64.h.
1317 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
1318 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
1319 (struct mips_args): Use it.
1320 * config/mips/mips.c (mips_conditional_register_usage): Define.
1322 2002-08-02 Jason Merrill <jason@redhat.com>
1324 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
1325 * langhooks.c (lhd_expr_size): Define default.
1326 * langhooks.h (struct lang_hooks): Add expr_size.
1327 * explow.c (expr_size): Call it.
1328 * expr.c (store_expr): Don't copy an expression of size zero.
1329 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
1331 * Makefile.in (builtins.o): Depend on langhooks.h.
1333 2002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1335 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
1336 * ra-debug.c: Include "tm_p.h".
1337 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
1339 2002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
1341 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
1342 when not honoring signalling NaNs.
1343 (simplify_ternary_operation): a == b has a definite value
1344 when not honoring NaNs.
1346 2002-08-02 Jason Merrill <jason@redhat.com>
1348 * gdbinit.in (pct): New macro.
1350 2002-08-01 Stan Shebs <shebs@apple.com>
1351 Andreas Tobler <toa@pop.agri.ch>
1353 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
1354 plays nice with Darwin headers.
1355 (_BSD_RUNE_T_DEFINED_): Likewise.
1357 2002-08-01 Zack Weinberg <zack@codesourcery.com>
1359 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
1360 * cppinit.c (cpp_post_options): Likewise.
1362 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
1363 warning about 'LL' suffix (but not 'ULL' etc) when
1364 -Wno-long-long is in effect.
1366 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
1367 Check for failing time()/localtime(), issue a warning, and
1368 make __TIME__ and __DATE__ expand to fallback strings.
1370 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
1371 and __TIME__ when the date and time cannot be determined.
1373 2002-08-02 Alan Modra <amodra@bigpond.net.au>
1375 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
1377 2002-08-01 Daniel Jacobowitz <drow@mvista.com>
1379 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
1381 2002-08-01 Chris Demetriou <cgd@broadcom.com>
1383 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
1384 (mipsisa64sb1el-*-elf*): Likewise.
1385 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
1386 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
1387 (TARGET_SB1, TUNE_SB1): New macros.
1388 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
1391 2002-08-01 David Edelsohn <edelsohn@gnu.org>
1393 * varasm.c (asm_emit_uninitialized): Return false if global BSS
1394 and ASM_EMIT_BSS not supported by target.
1395 (assemble_variable): Do not duplicate uninitialized logic.
1396 Fall through if asm_emit_uninitialized failed.
1398 2002-08-01 Chris Demetriou <cgd@broadcom.com>
1400 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
1402 2002-08-02 Alan Modra <amodra@bigpond.net.au>
1404 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
1405 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
1407 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
1408 HOST_BITS_PER_WIDE_INT == 64.
1410 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1412 * df.c (df_insn_table_realloc): Change parameter to unsigned.
1413 * optabs.c (expand_binop): Make variable unsigned.
1414 * simplify-rtx.c (simplify_subreg): Likewise.
1415 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
1417 2002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1419 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
1421 2002-08-01 Richard Henderson <rth@redhat.com>
1423 * toplev.c (parse_options_and_default_flags): Don't set
1424 flag_reorder_blocks for -Os.
1426 * config/avr/avr.c (avr_optimization_options): Remove.
1427 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
1428 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
1429 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
1431 2002-08-01 H.J. Lu <hjl@gnu.org>
1432 Richard Henderson <rth@redhat.com>
1434 * output.h (DECL_READONLY_SECTION): Remove.
1435 (decl_readonly_section): Declare.
1436 * varasm.c (decl_readonly_section): New.
1437 (default_section_type_flags, default_select_section): Use it.
1438 * config/arm/pe.c (arm_pe_unique_section): Likewise.
1439 * config/i386/interix.c (i386_pe_unique_section): Likewise.
1440 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
1441 * config/mcore/mcore.c (mcore_unique_section): Likewise.
1442 * config/mips/mips.c (mips_unique_section): Likewise.
1444 2002-08-01 Richard Henderson <rth@redhat.com>
1446 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
1447 refers to a subroutine parameter.
1449 2002-08-01 Jakub Jelinek <jakub@redhat.com>
1451 * varasm.c (assemble_visibility): Strip name encoding.
1453 2002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
1455 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
1456 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
1457 when there is no frame pointer.
1458 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
1460 * config/ns32k/__unorddf2.c: New file.
1461 * config/ns32k/__unordsf2.c: New file.
1462 * config/ns32k/t-ns32k: New file.
1463 * config.gcc (ns32k-*-netbsd*): Use it.
1465 2002-08-01 Aldy Hernandez <aldyh@redhat.com>
1467 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
1469 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
1471 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
1473 2002-08-01 Benjamin Kosnik <bkoz@redhat.com>
1475 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
1477 2002-08-01 Richard Sandiford <rsandifo@redhat.com>
1479 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
1481 2002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1483 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
1485 (expr_hash_table, set_hash_table): Type changed to ...
1486 (struct hash_table): New type.
1487 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
1488 insert_expr_in_table, insert_set_in_table, compute_hash_table,
1489 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
1490 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
1491 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
1492 (alloc_hash_table): New.
1493 (free_set_hash_table, free_expr_hash_table): Merged to ...
1494 (free_hash_table): New.
1495 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
1496 (compute_hash_table_work): New.
1497 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
1498 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
1499 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
1500 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
1501 hoist_code, one_code_hoisting_pass,
1502 trim_ld_motion_mems): Altered due to changed type of hash tables.
1504 2002-08-01 Zack Weinberg <zack@codesourcery.com>
1506 * final.c (output_alternate_entry_point):
1507 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
1509 2002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1511 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
1512 avoid ISO C style function definition.
1514 * expr.c (expand_assignment): Delete unused variable.
1516 2002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
1518 * c-common.c (cb_register_builtins): Set
1519 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
1520 is given, and to 0 otherwise.
1521 * combine.c (simplify_if_then_else): HONOR_NANS
1522 implies FLOAT_MODE_P.
1524 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
1526 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
1527 (cpp_handle_option): Don't handle it.
1528 (print_help): Update.
1529 * doc/cppopts.texi: Update.
1531 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
1533 * c-common.c (cb_register_builtins): If C++, define
1534 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
1535 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
1537 * lang-specs.h: Simplify in accordance with new code in
1540 2002-08-01 Neil Booth <neil@daikokuya.co.uk>
1542 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
1543 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
1544 * c-decl.c: Move all warning and flag variables to c-common.c.
1545 * c-format.c: Move all warning variables to c-common.c.
1546 * c-tree.h: Move all warning and flag declarations to c-common.h.
1547 * objc/objc-act.c: Move all warning variables to c-common.c.
1548 (flag_warn_protocol): Rename warn_protocol.
1550 2002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
1552 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
1554 2002-07-31 Graham Stott <grahams@btinternet.com>
1556 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
1559 2002-07-31 Stan Shebs <shebs@apple.com>
1561 * config.gcc (i[34567]86-*-darwin*): New configuration.
1562 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
1564 (TARGET_ENCODE_SECTION_INFO): Ditto.
1565 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
1566 * config/darwin.c (machopic_indirect_data_reference): Remove
1567 setting of RTX_UNCHANGING_P.
1568 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
1569 not to be applied to sums.
1570 * config/i386/t-darwin: New file.
1571 * config/i386/darwin.h: New file.
1572 * config/i386/i386.h (TARGET_MACHO): Add default definition.
1573 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
1574 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
1575 label and not the GOT add.
1576 (constant_address_p): For Mach-O, seeing a CONST is enough.
1577 (legitimate_pic_address_disp_p): Add a Mach-O case.
1578 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
1579 (legitimize_pic_address): Use generic Mach-O code to legitimize.
1580 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
1581 if outputting a difference.
1582 (ix86_output_addr_diff_elt): Add Mach-O case.
1583 (ix86_expand_move): Similarly.
1584 (ix86_expand_call): Similarly.
1585 (current_machopic_label_num): New global.
1586 (machopic_output_stub): New function.
1587 (ix86_value_regno): New function.
1588 (ix86_function_value): Use it instead of VALUE_REGNO.
1589 (ix86_libcall_value): Ditto.
1590 * config/i386/unix.h (VALUE_REGNO): Remove.
1592 2002-07-31 Graham Stott <grahas@btinternet.com>
1594 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
1595 hash for LABEL_REF's.
1597 2002-07-31 Graham Stott <grahams@btinternet.com>
1599 * config/rs6000/rs6000.c (spe_init_builtins,
1600 altivec_init_builtins, rs6000_common_init_builtins):
1601 Replace ANSI with K&R function def.
1603 2002-07-31 David Edelsohn <edelsohn@gnu.org>
1605 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
1608 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
1610 * config/mips/crtn.asm: Don't use __mips16 to determine the
1611 return-address offset. Define RA to a suitable temporary
1612 register for the return address.
1614 2002-07-31 Richard Sandiford <rsandifo@redhat.com>
1616 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
1619 2002-07-30 Chris Demetriou <cgd@broadcom.com>
1621 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
1622 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
1623 patch on 2002-07-29.)
1624 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1626 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1628 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
1629 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
1630 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
1631 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
1632 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
1633 (ASM_GLOBALIZE_LABEL): Delete.
1634 (GLOBAL_ASM_OP): Define.
1636 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
1638 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
1639 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
1641 2002-07-30 Geoffrey Keating <geoffk@redhat.com>
1643 * doc/extend.texi (Hints implementation): Document that GCC
1644 mostly ignores `register'.
1646 2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
1648 * flags.h: Declare flag_finite_math_only.
1649 Use it in definition of HONOR_NANS and
1651 * c-common.c (cb_register_builtins): Emit
1652 __FINITE_MATH_ONLY__ when flag_finite_math_only
1654 * combine.c (simplify_if_then_else): If
1655 flag_finite_math_only is set, a == b has a
1657 * toplev.c: Initialize flag_finite_math_only.
1658 (set_flags_fast_math): Set it on -ffast-math.
1659 (flag_fast_math_set_p): Test it.
1660 * doc/invoke.texi: Document -ffinite-math-only.
1662 2002-07-30 Richard Henderson <rth@redhat.com>
1664 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
1665 (noce_process_if_block): Likewise.
1667 2002-07-30 Bernd Schmidt <bernds@redhat.com>
1669 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
1670 Bail out early if false_expr is NULL and we'd crash due to this.
1671 * genemit.c (gen_expand): Recognize return insns even if the return
1672 appears in a parallel.
1673 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
1674 * config/fp-bit.c: Likewise.
1675 * doc/tm.texi: Document it.
1677 2002-07-30 David Edelsohn <edelsohn@gnu.org>
1678 Zack Weinberg <zack@codesourcery.com>
1680 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
1681 CODE_FOR_nothing. Change switch to if.
1682 (rs6000_expand_binop_builtin): Same.
1683 (rs6000_expand_builtin): Expand builtin if target support enabled.
1684 (rs6000_init_builtins): Init builtin if target support enabled.
1685 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
1687 2002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1689 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
1691 2002-07-30 Richard Sandiford <rsandifo@redhat.com>
1693 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
1695 Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
1697 * sh.md (cond_delay_slot): New attribute.
1698 (cbranch delay): Use it for anulled-true case.
1699 (stuff_delay_slot): New pattern.
1700 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
1702 (gen_far_branch): Emit stuff_delay_slot pattern.
1704 Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
1706 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
1708 2002-07-30 Kazu Hirata <kazu@cs.umass.edu>
1710 * fold-const.c: Fix comment typos.
1712 * reload1.c: Likewise.
1714 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
1716 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
1719 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
1721 * c-pretty-print.h (pp_c_statement): Declare.
1722 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
1723 (pp_c_statement): Define.
1725 2002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1727 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
1728 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
1729 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
1730 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
1731 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
1732 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
1734 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
1735 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
1737 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
1739 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
1740 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
1741 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
1742 (pp_c_expression): Update.
1744 2002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1746 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
1747 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
1748 * alpha/vms-ld.c (main): Likewise.
1749 * dsp16xx.c (double_reg_to_memory): Likewise.
1750 * mcore.c (mcore_expand_prolog): Likewise.
1751 * cppfiles.c (read_name_map): Likewise.
1752 * gensupport.c (process_rtx, identify_predicable_attribute,
1753 alter_test_for_insn): Likewise.
1754 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
1756 2002-07-29 Roger Sayle <roger@eyesopen.com>
1758 * builtins.c (expand_builtin): Change the default behavior to
1759 only issue an error if the builtin function doesn't have a
1760 fallback library call. Remove several cases handled by the
1763 2002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
1765 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
1766 floating point format of the target is IEEE.
1767 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
1768 format of the target is DEC.
1770 2002-07-29 Richard Henderson <rth@redhat.com>
1772 * unroll.c (verify_addresses): Remove.
1773 (find_splittable_givs): Never split DEST_ADDR givs.
1775 2002-07-29 Geoffrey Keating <geoffk@redhat.com>
1777 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
1779 (Files): Improve documentation on generated source files.
1781 * doc/extend.texi (Translation implementation): Document what
1782 diagnostics look like.
1783 (Identifiers implementation): Document that there's normally no
1784 limit on identifier names.
1785 (Integers implementation): Document two's complement.
1786 (Hints implementation): Document that GCC honours 'inline', mostly.
1787 (Preprocessing directives implementation): Document that GCC
1788 requires the current time.
1790 2002-07-30 Gabriel Dos Reis <gdr@nerim.net>
1792 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
1793 (pp_initializer): New macro.
1794 (pp_c_initializer): Declare.
1795 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
1796 (pp_c_initializer): Define.
1797 (pp_c_initializer_list): New function.
1798 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
1799 VECTOR_CST, CONSTRUCTOR.
1800 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
1802 (pp_c_cast_expression): Handle FLOAT_EXPR.
1803 (pp_c_assignment_expression): Handle INIT_EXPR.
1804 (pp_c_expression): Update.
1806 2002-07-30 Neil Booth <neil@daikokuya.co.uk>
1808 * objc/objc-act.c (objc_init): Return immediately if filename
1811 2002-07-29 Eric Christopher <echristo@redhat.com>
1813 * config/mips/elf.h: Remove ecoff.h and gofast includes.
1814 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
1815 (SDB_DEBUGGING_INFO): Undefine.
1816 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
1817 (PUT_SDB_SIZE): Remove.
1818 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
1819 (STARTFILE_SPEC): Add isa3264 define.
1820 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
1821 * config/mips/ecoff.h: Remove. and here...
1822 * config/mips/iris3.h: and here...
1823 * config/mips/sni-svr4.h: and here...
1824 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
1825 Add assembler -mmdebug options for non-dwarf debugging.
1826 * config/mips/r3900.h: Remove debug info defines.
1827 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
1828 * config/mips/isa3264.h: Ditto.
1829 * config/mips/t-isa3264: Fix up for file removal and gofast configure
1831 * config/mips/t-elf: Ditto.
1832 * config/mips/t-ecoff: Ditto.
1833 * config/mips/t-r3900: Ditto.
1834 * config/mips/t-iris5-6: Ditto.
1835 * config/mips/t-isa3264: Ditto.
1836 * config/mips/t-linux: Remove.
1837 * config/mips/t-netbsd: Remove.
1838 * config/mips/t-mips: New file.
1839 * config/mips/t-gofast: Ditto.
1840 * config/mips/netbsd.h: Remove unnecessary undefines.
1841 * config/mips/linux.h: Remove #include of mips.h.
1842 * config.gcc: Add mips.h include for elf targets. Remove tm_file
1843 for ecoff. Add gofast configure option for mips.
1845 2002-07-29 Chris Demetriou <cgd@broadcom.com>
1847 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
1848 linker scripts use STARTUP directives consistently.
1849 * configure: Regenerate.
1850 * config.in: Regenerate.
1851 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
1852 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
1853 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1854 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
1855 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
1858 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
1860 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
1862 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
1864 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
1866 2002-07-29 Aldy Hernandez <aldy@quesejoda.com>
1868 * config/rs6000/rs6000.md: Move altivec patterns from here...
1870 * config/rs6000/altivec.md: ...to here.
1872 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
1874 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
1876 2002-07-29 Richard Henderson <rth@redhat.com>
1878 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
1879 set_mem_attributes and add BITPOS argument. Subtract it from
1880 OFFSET when same is adjusted.
1881 (set_mem_attributes): New wrapper function.
1882 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
1883 remove offset adjustment hack.
1884 * expr.h (set_mem_attributes_minus_bitpos): Declare.
1886 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
1888 * Makefile.in (C_OBJS): Include c-pretty-print.o
1889 (c-pretty-print.o): Add depency rule.
1890 * pretty-print.h: Add more macros.
1891 * c-pretty-print.c: New file.
1892 * c-pretty-print.h: Likewise.
1894 2002-07-29 Aldy Hernandez <aldyh@redhat.com>
1896 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
1897 constants to __ev64_s32__.
1898 (__internal_ev_mwhgsmian): Same.
1899 (__internal_ev_mwhgsmfan): Same.
1900 (__internal_ev_mwhgssfan): Same.
1901 (__internal_ev_mwhgumiaa): Same.
1902 (__internal_ev_mwhgsmiaa): Same.
1903 (__internal_ev_mwhgsmfaa): Same.
1904 (__internal_ev_mwhgssfaa): Same.
1906 2002-07-29 David Edelsohn <edelsohn@gnu.org>
1908 * varasm.c (assemble_variable): Narrow test for uninitialized
1909 without BSS target support.
1911 2002-07-29 Nathan Sidwell <nathan@codesourcery.com>
1913 * profile.c: Add file comment describing the overall algorithm and
1915 (struct edge_info): Add comments.
1916 (struct bb_info): Add comments.
1917 * basic-block.h (EDGE_*): Add comments.
1918 * doc/gcov.texi (Gcov Data Files): Document bit flags.
1920 2002-07-29 Bob Wilson <bob.wilson@acm.org>
1922 * config/xtensa/elf.h, config/xtensa/linux.h
1923 (TARGET_OS_CPP_BUILTINS): Define.
1924 (CPP_PREDEFINES): Remove.
1925 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
1928 2002-07-29 Zack Weinberg <zack@codesourcery.com>
1930 * gensupport.c: Include hashtab.h.
1931 (insn_elision, condition_table, hash_c_test, cmp_c_test,
1932 maybe_eval_c_test): New routines and data structures to
1933 support insn elision.
1934 (init_md_reader): Read and initialize the condition_table.
1935 (read_md_rtx): Discard insn patterns whose C test is provably
1937 * gensupport.h: Declare new functions and data structures.
1939 * genconditions.c, dummy-conditions.c: New files.
1940 * Makefile.in: Build genconditions; run it to construct
1941 insn-conditions.c; build that and link it into most gen*
1943 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
1944 (GEN): Delete, unused.
1945 (STAGESTUFF): Update.
1947 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
1948 CODE_FOR_nothing for all elided patterns.
1949 (main): Tweaked to support this.
1950 * genflags.c (gen_proto): Emit a static inline generator
1951 function here for all elided patterns, which simply returns
1953 (gen_insn): Do not define HAVE_xxx for elided patterns.
1954 (main): Tweaked to support this. No need to forward-declare
1956 * genrecog.c: Do not bother emitting the C test if it's known
1957 to be true at compile time.
1959 2002-07-29 Mike Stump <mrs@apple.com>
1961 * config.gcc (target_gtfiles): Initialize, as otherwise cross
1962 compilers hosted on powerpc-apple-darwin6.0 won't even build.
1964 2002-07-29 Richard Earnshaw <rearnsha@arm.com>
1966 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
1967 remove clobber of LR.
1968 (sibcall_insn, sibcall_value_insn): Update accordingly.
1969 (sibcall_epilogue): Remove debugging comment from assembler stream.
1971 2002-07-29 Gabriel Dos Reis <gdr@nerim.net>
1973 * pretty-print.h: Define more macros.
1974 * diagnostic.h (output_formatted_integer): Moved from...
1975 * diagnostic.c: ... here.
1977 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1979 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
1981 2002-07-28 Zack Weinberg <zack@codesourcery.com>
1983 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
1984 arguments. Always use ".-symbol" as expression argument.
1985 * doc/tm.texi: Update to match. Document requirement for
1986 ".size symbol, .-symbol" to be acceptable to assembler.
1988 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
1989 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
1990 config/i386/freebsd-aout.h, config/i386/sco5.h,
1991 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
1992 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
1994 2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1996 * Makefile.in (gengtype-lex.c): Fix error in last change.
1998 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
2001 * Makefile.in (vmsdbgout.o): Depend on function.h.
2003 * vmsdbgout.c: Include function.h.
2005 2002-07-28 Alan Modra <amodra@bigpond.net.au>
2007 * prefix.c (update_path): Don't strip single `.' path components
2008 unless stripping a later `..' component. Exit loop as soon as
2009 a valid path is found.
2011 2002-07-27 Roger Sayle <roger@eyesopen.com>
2013 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
2014 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
2015 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
2016 floating point unordered comparisons (e.g. __builtin_isgreater)
2017 as const, and leave the remaining GCC_BUILTINs unchanged.
2019 * c-decl.c (builtin_function): No need to explicitly mark
2020 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
2022 2002-07-27 Roger Sayle <roger@eyesopen.com>
2024 * Makefile.in: rtlanal.o now depends upon real.h.
2026 * flags.h [flag_signaling_nans]: New flag.
2027 [HONOR_SNANS]: New macro.
2029 * toplev.c [flag_signaling_nans]: Initialize to false.
2030 (f_options): Add processing for "-fsignaling-nans".
2031 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
2032 (process_options): flag_signaling_nans implies flag_trapping_math.
2034 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
2035 when -fsignaling-nans. First step to implementing WG14's N965.
2037 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
2038 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
2039 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
2041 * simplify-rtx.c (simplify_relational_operation): Conditionalize
2042 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
2044 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
2045 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
2046 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
2047 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
2048 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
2050 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
2052 2002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2054 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
2055 * gengtype-lex.l (YY_USE_PROTOS): Undef.
2058 2002-07-27 Roger Sayle <roger@eyesopen.com>
2060 * doc/invoke.texi: Document that both -fno-builtin-foo and
2061 -fno-builtin are supported by the g++ front-end.
2063 2002-07-27 Stan Shebs <shebs@apple.com>
2065 * configure.in: Rename config_gtfiles to target_gtfiles.
2066 * configure: Regenerate.
2067 * doc/gty.texi: Update reference.
2068 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
2069 instead of appending to it.
2071 2002-07-25 Aldy Hernandez <aldyh@redhat.com>
2073 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
2074 vectors are split into two registers.
2075 (function_arg): Same.
2077 Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
2079 * pa.md (extv): Check predicates before emitting extv_32.
2081 2002-07-27 Alan Modra <amodra@bigpond.net.au>
2083 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
2084 (rs6000_traceback): New var.
2085 (rs6000_override_options): Set rs6000_traceback.
2086 (rs6000_output_function_epilogue): Implement traceback options.
2087 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
2088 (rs6000_traceback_name): Declare.
2090 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
2091 label reference when NO_PROFILE_COUNTERS.
2093 2002-07-26 Jason Merrill <jason@redhat.com>
2095 * function.c (assign_parms): Handle frontend-directed pass by
2096 invisible reference.
2098 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
2100 * doc/cppopts.texi: Update.
2102 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
2104 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
2105 warnings on assertions.
2107 2002-07-26 Neil Booth <neil@daikokuya.co.uk>
2109 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
2110 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
2112 * c-parse.in (rid_to_yy): Similarly.
2114 2002-07-26 Jason Merrill <jason@redhat.com>
2116 * c-dump.c: Resurrect.
2117 * tree-dump.c: Move C-specific stuff to c-dump.c.
2118 * c-common.h: Declare c_dump_tree.
2119 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
2120 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
2121 (c-dump.o): New rule.
2123 2002-07-26 Alan Modra <amodra@bigpond.net.au>
2125 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
2126 PowerPC64. Replace "T" and "S" constraints with "n" when the
2127 predicate will do. Formatting fixes.
2128 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
2129 as for extzvsi_internal1.
2131 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
2133 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
2134 DERIV_END_LABEL_FMT): Remove.
2135 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
2137 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
2139 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
2142 2002-07-25 Stan Shebs <shebs@apple.com>
2144 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
2146 (output_compiler_stub): Remove unused locals.
2147 (output_call): Always initialize line number.
2149 Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
2151 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
2152 * sh.md (truncdiqi2, movqi_media): Likewise.
2154 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
2156 * gcse.c (obstack_chunk_alloc): Remove.
2157 (gcse_alloc): Fix to count allocated bytes.
2158 * collect2.c (SYMBOL__MAIN): Remove.
2160 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
2162 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
2163 HAVE_TARGET_EXECUTABLE_SUFFIX.
2165 Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
2167 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
2168 SIZE, EXPR and OFFSET.
2170 2002-07-25 Richard Henderson <rth@redhat.com>
2172 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
2173 in ARRAY_REF of DECL_P case.
2175 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
2177 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
2178 description. Document -mips32, -mips64, and the associated -march
2179 values. Describe the "mipsN" arguments to -march. Say that the
2180 -mipsN options are equivalent to -march. Reword the description
2181 of default type sizes.
2182 * toplev.h (target_flags_explicit): Declare.
2183 * toplev.c (target_flags_explicit): New var.
2184 (set_target_switch): Update target_flags_explicit.
2185 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
2186 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
2187 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
2188 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
2189 * config/mips/mips.h (mips_cpu_info): New struct.
2190 (mips_cpu_string, mips_explicit_type_size_string): Remove.
2191 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
2192 (MIPS_CPP_SET_PROCESSOR): New macro.
2193 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
2194 Define _MIPS_ARCH and _MIPS_TUNE.
2195 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
2196 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
2197 MIPS_ISA_DEFAULT were already defined.
2198 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
2199 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
2200 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
2201 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
2202 (ABI_GAS_ASM_SPEC): Remove.
2203 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
2204 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
2205 Invoke %(asm_abi_default_spec) if no ABI was specified.
2206 (CC1_SPEC): Remove ISA -> register-size rules.
2207 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
2208 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
2209 (mips_cpu_string, mips_explicit_type_size_string): Remove.
2210 (mips_cpu_info_table): New array.
2211 (mips_set_architecture, mips_set_tune): New fns.
2212 (override_options): Rework to make -mipsN equivalent to -march.
2213 Detect more erroneous cases, including those removed from CC1_SPEC.
2214 Don't change the ABI based on architecture, or vice versa.
2215 Unify logic with GAS.
2216 (mips_asm_file_start): Get architecture name from mips_arch_info.
2217 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
2218 (mips_parse_cpu): Take the name of the option as argument. Handle
2219 'from-abi'. Raise an error if the option is wrong.
2220 (mips_cpu_info_from_isa): New fn.
2222 2002-07-25 Richard Sandiford <rsandifo@redhat.com>
2224 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
2225 (tablejump_mips162): Likewise.
2227 Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
2229 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
2232 2002-07-25 Gabriel Dos Reis <gdr@nerim.net>
2234 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
2236 * c-common.h (c_sizeof): Adjust definition.
2237 (c_alignof): Likewise.
2238 * c-tree.h (c_sizeof_nowarn): Now macro.
2239 * c-typeck.c (c_sizeof_nowarn): Remove definition.
2241 2002-07-25 Neil Booth <neil@daikokuya.co.uk>
2243 * c-decl.c (c_decode_option): No need to handle switches
2246 2002-07-24 Zack Weinberg <zack@codesourcery.com>
2248 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
2249 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
2250 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
2251 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
2253 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
2254 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
2255 config/cris/aout.h, config/i386/freebsd-aout.h,
2256 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
2257 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
2258 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
2259 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
2260 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
2261 config/xtensa/elf.h, config/xtensa/linux.h:
2263 Where possible, remove redundant definitions of SIZE_ASM_OP,
2264 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
2266 2002-07-24 Aldy Hernandez <aldyh@redhat.com>
2268 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
2269 TARGET_ISEL, and TARGET_FPRS.
2271 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
2272 -mabi=spe, -mabi=no-spe, and -misel=.
2274 * config/rs6000/rs6000-protos.h: Add output_isel.
2275 Move vrsave_operation prototype here.
2277 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
2281 (abssi2_nopower): Disallow when TARGET_ISEL.
2283 (negsf2): Change to expand and rename old pattern to *negsf2.
2284 (abssf2): Change to expand and rename old pattern to *abssf2.
2286 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
2289 Change patterns that check for TARGET_HARD_FLOAT or
2290 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
2292 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
2293 rs6000_isel, rs6000_fprs, rs6000_isel_string.
2294 (rs6000_override_options): Add 8540 case to
2295 processor_target_table.
2296 Set rs6000_isel for the 8540.
2297 Call rs6000_parse_isel_option.
2298 (enable_mask_for_builtins): New.
2299 (rs6000_parse_isel_option): New.
2300 (rs6000_parse_abi_options): Add spe and no-spe.
2301 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
2302 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
2303 for TARGET_HARD_FLOAT.
2304 Add case for SPE_VECTOR_MODE.
2305 (rs6000_legitimize_reload_address): Handle SPE vector modes.
2306 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
2308 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
2309 (rs6000_emit_move): Check for TARGET_FPRS.
2310 Add cases for SPE vector modes.
2311 (function_arg_boundary): Return 64 for SPE vector modes.
2312 (function_arg_advance): Check for TARGET_FPRS and
2314 (function_arg): Same.
2315 (setup_incoming_varargs): Check for TARGET_FPRS.
2316 (rs6000_va_arg): Same.
2317 (struct builtin_description): Un-constify mask field. Move up in
2319 (bdesc_2arg): Un-constify and add SPE builtins.
2321 (bdesc_spe_predicates): New.
2322 (bdesc_spe_evsel): New.
2323 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
2324 (rs6000_expand_binop_builtin): Same.
2325 (bdesc_2arg_spe): New.
2326 (spe_expand_builtin): New.
2327 (spe_expand_predicate_builtin): New.
2328 (spe_expand_evsel_builtin): New.
2329 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
2330 (rs6000_init_builtins): Initialize SPE builtins. Call
2331 rs6000_common_init_builtins.
2332 (altivec_init_builtins): Move all non-altivec builtin code to...
2333 (rs6000_common_init_builtins): ...here. New function.
2334 (branch_positive_comparison_operator): Allow NE code for SPE.
2335 (ccr_bit): Return correct ccr bit for SPE fp.
2336 (print_operand): Emit crnor in 'D' case for SPE.
2338 Add SPE code for 'y' case.
2339 (rs6000_generate_compare): Generate rtl for SPE fp.
2340 (output_cbranch): Handle SPE hard floats.
2341 (rs6000_emit_cmove): Handle isel.
2342 (rs6000_emit_int_cmove): New.
2344 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
2346 (debug_stack_info): Add SPE info.
2347 (gen_frame_mem_offset): New.
2348 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
2349 Change mode of frame pointer, when saving it, to Pmode.
2350 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
2351 Misc cleanups and use gen_frame_mem_offset when appropriate.
2353 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
2354 (TARGET_SPE_ABI): New.
2358 (FIXED_SCRATCH): New.
2359 (RTX_COSTS): Add PROCESSOR_PPC8540.
2360 (ASM_CPU_SPEC): Add case for 8540.
2361 (TARGET_OPTIONS): Add isel= case.
2362 (rs6000_spe_abi): New.
2365 (rs6000_isel_string): New.
2366 (UNITS_PER_SPE_WORD): New.
2367 (LOCAL_ALIGNMENT): Adjust for SPE.
2368 (HARD_REGNO_MODE_OK): Same.
2369 (DATA_ALIGNMENT): Same.
2370 (MEMBER_TYPE_FORCES_BLK): New.
2371 (FIRST_PSEUDO_REGISTER): Set to 113.
2372 (FIXED_REGISTERS): Add SPE registers.
2374 (REG_CLASS_NAMES): Same.
2375 (REG_CLASS_CONTENTS): Same.
2376 (REGNO_REG_CLASS): Same.
2377 (REGISTER_NAMES): Same.
2378 (DEBUG_REGISTER_NAMES): Same.
2379 (ADDITIONAL_REGISTER_NAMES): Same.
2380 (CALL_USED_REGISTERS): Same.
2381 (CALL_REALLY_USED_REGISTERS): Same.
2382 (SPE_ACC_REGNO): New.
2383 (SPEFSCR_REGNO): New.
2384 (SPE_SIMD_REGNO_P): New.
2385 (HARD_REGNO_NREGS): Adjust for SPE.
2386 (VECTOR_MODE_SUPPORTED_P): Same.
2387 (REGNO_REG_CLASS): Same.
2388 (FUNCTION_VALUE): Same.
2389 (LIBCALL_VALUE): Same.
2390 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
2391 (SPE_VECTOR_MODE): New.
2392 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
2393 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
2394 (rs6000_stack): Add spe_gp_size, spe_padding_size,
2396 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
2397 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
2398 (SPE_CONST_OFFSET_OK): New.
2399 (rs6000_builtins): Add SPE builtins.
2401 * testsuite/gcc.dg/ppc-spe.c: New.
2403 * config/rs6000/eabispe.h: New.
2405 * config/rs6000/spe.h: New.
2407 * config/rs600/spe.md: New.
2409 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
2410 __SIMD__ for TARGET_SPE.
2412 * config.gcc: Add powerpc-*-eabispe* case.
2413 Add spe.h to user headers for powerpc.
2415 2002-07-24 Chris Demetriou <cgd@broadcom.com>
2417 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
2418 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2419 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
2421 2002-07-24 Richard Henderson <rth@redhat.com>
2423 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
2424 form when not optimizing.
2426 2002-07-24 David Mosberger <davidm@hpl.hp.com>
2428 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
2429 thread_pointer_rtx as unchanging.
2431 2002-07-24 Michael Matz <matz@suse.de>
2433 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
2436 2002-07-24 Richard Earnshaw <rearnsha@arm.com>
2438 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
2440 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
2441 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
2443 2002-07-24 Chris Demetriou <cgd@broadcom.com>
2445 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
2446 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2447 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
2449 Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
2451 * toplev.c (rest_of_compilation): Dump loops before clobbering
2454 Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
2456 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
2458 2002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
2460 PR optimization/7291
2461 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
2464 2002-07-24 Gabriel Dos Reis <gdr@nerim.net>
2466 * pretty-print.h: Add macros from cp/error.c
2468 2002-07-24 Alan Modra <amodra@bigpond.net.au>
2470 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
2471 (mask64_2_operand): Declare.
2472 (build_mask64_2_operands): Declare.
2473 (and64_2_operand): Declare.
2474 (extract_MB): Declare.
2475 (extract_ME): Declare.
2476 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
2478 (mask_operand_wrap): New insn predicate.
2479 (mask64_2_operand): Likewise.
2480 (and64_2_operand): Likewise.
2481 (build_mask64_2_operands): New function.
2482 (extract_MB): New function.
2483 (extract_ME): New function.
2484 (print_operand <case m,M>): Use extract_MB and extract_ME.
2485 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
2486 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
2487 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
2488 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
2489 * config/rs6000/rs6000.md (andsi3_internal3): New
2490 (andsi3_internal3+1): Enable split for powerpc64.
2491 (andsi3_internal3+2): New split.
2492 (andsi3_internal4): Renamed old andsi3_internal3.
2493 (andsi3_internal5): New.
2494 (andsi3_internal5+1): Enable split for powerpc64.
2495 (andsi3_internal5+2): New split.
2496 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
2497 (anddi3): Handle 't' constraint.
2498 (anddi3+1): New split.
2499 (anddi3_internal2): Handle 't' constraint.
2500 (anddi3_internal2+1): New split.
2501 (anddi3_internal3): Handle 't' constraint.
2502 (anddi3_internal3+1): New split.
2504 2002-07-24 Alan Modra <amodra@bigpond.net.au>
2506 * config/rs6000/rs6000.md: Remove scratch reg on insns using
2507 addze and similar (plus (comparison r1 r2) r3) insns. Add
2508 missing scratch reg in one case. Formatting fixes.
2510 2002-07-24 Neil Booth <neil@daikokuya.co.uk>
2512 * cppexp.c (parse_defined): Mark macro used.
2513 * cpphash.h (struct cpp_macro): New member "used".
2514 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
2515 (struct cpp_reader): New member.
2516 * cppinit.c (cpp_finish_options): Set first_unused_line.
2517 (cpp_finish): Warn of unused macros if requested.
2518 (OPT_TABLE): New switches.
2519 (cpp_handle_option): Handle them.
2520 * cpplib.c (do_undef): Warn if macro unused.
2521 (do_ifdef, do_ifndef): Mark macro used.
2522 * cpplib.h (struct cpp_options): New member.
2523 * cppmacro.c (_cpp_warn_if_unused_macro): New.
2524 (enter_macro_context): Mark macro used.
2525 (_cpp_create_definition): Mark macro unused; warn if unused
2527 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
2529 * doc/cppopts.texi: Update.
2531 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
2533 * dwarf2out.c (SECTION_ASM_OP,
2534 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
2535 * system.h (SECTION_ASM_OP): Poison.
2536 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
2537 * config/alpha/alpha-interix.h, config/mips/linux.h
2538 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
2539 * config/mmix/mmix-protos.h, config/mmix/mmix.c
2540 (mmix_asm_output_define_label_difference_symbol): Remove.
2541 * config/mmix/mmix.h
2542 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
2543 * doc/tm.texi: Remove documentation.
2545 Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
2547 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
2548 (constrain_operands): Likewise.
2549 * regclass.c (record_reg_classes): Likewise.
2550 * reload.c (find_reloads): Likewise.
2551 * doc/md.texi: Likewise.
2553 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
2554 * simplify-rtx.c (simplify_subreg): When converting to a non-int
2555 mode, try to convert to an integer mode of matching size first.
2557 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
2558 from individual subregs, check that each subreg has been generated
2561 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
2563 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
2564 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
2565 FOR_EACH_BB_IN_SBITMAP): Remove.
2566 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
2567 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
2568 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
2569 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
2570 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
2571 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
2573 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
2575 * pretty-print.h: New file.
2577 2002-07-23 Paul Koning <pkoning@equallogic.com>
2579 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
2580 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
2581 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
2582 (TARGET_G_FLOAT): Default to 0 if not defined.
2583 (ieeetoe): New, common routine to convert target format floats
2585 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
2587 (e113toe): Change to use ieeetoe.
2589 2002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2591 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
2593 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
2594 (e64toe): Remove special cases for DEC and IBM. Remove support for
2595 ARM_EXTENDED_IEEE_FORMAT.
2596 (e24toe): Remove special cases for DEC.
2597 (significand_size): Simplify. Indent.
2598 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
2599 (etoieee, toieee): New.
2600 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
2601 etoieee and toieee for IEEE arithmetic.
2603 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
2605 * doc/extend.texi: Say ISO C90, not ISO C89.
2606 * doc/invoke.texi: Likewise.
2607 * doc/standards.texi: Likewise.
2609 2002-07-23 Steve Ellcey <sje@cup.hp.com>
2611 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
2612 Fix permutation of conversion and plus/mult.
2613 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
2614 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
2615 (expand_builtin_strncpy) Ditto.
2616 (expand_builtin_memset) Ditto.
2618 2002-07-23 Gabriel Dos Reis <gdr@nerim.net>
2621 * c-common.c (c_sizeof_or_alignof_type): New function.
2622 (c_alignof): Remove definition.
2623 * c-common.h (c_sizeof, c_alignof): Define as macros.
2624 (c_sizeof_or_alignof_type): Declare.
2625 (my_friendly_assert): Moved from cp/cp-tree.h
2626 * c-typeck.c (c_sizeof): Remove definition.
2628 2002-07-23 Jan Hubicka <jh@suse.cz>
2630 * gcse.c (try_replace_reg): Use num_changes_pending.
2631 * recog.c (num_changes_pending): New function.
2632 (validate_replace_src): Use validate_repalce_src_group.
2633 (validate_replace_src_group): New.
2634 * recog.h (validate_repalce_src_group): New.
2635 (num_changes_pending): Likewise.
2637 Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
2639 * calls.c (emit_library_call_value_1): If
2640 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
2641 libcall, const call nor pure call.
2643 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
2645 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
2647 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
2649 * vmsdbgout.c (SECTION_ASM_OP): Remove.
2651 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
2653 * config/i386/i386.c (AT_BP): Remove.
2655 2002-07-23 Neil Booth <neil@daikokuya.co.uk>
2657 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
2659 * gcse.c: Don't define obstack_chunk_free.
2660 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
2661 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
2662 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
2663 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
2664 Don't define obstack macros.
2666 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
2669 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
2670 ASM_OPERANDS instructions.
2672 2002-07-22 Stephane Carrez <stcarrez@nerim.fr>
2675 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
2676 constant addresses only on 68HC12.
2678 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
2680 * cppfiles.c (stack_include_file): Correct test of whether
2681 a dependency should be output.
2683 2002-07-22 David Edelsohn <edelsohn@gnu.org>
2685 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
2687 2002-07-22 Richard Earnshaw <rearnsha@arm.com>
2689 * arm.md (movqi): If optimizing and we can create pseudos, use
2690 a ZERO_EXTEND to load from memory, then copy the result into the
2692 (movhi): Likewise, but only for ARMv4.
2694 2002-07-22 Neil Booth <neil@daikokuya.co.uk>
2696 * ssa-ccp.c (PHI_PARMS): Remove.
2698 2002-07-22 Richard Sandiford <rsandifo@redhat.com>
2700 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
2701 on big-endian targets.
2703 2002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2705 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
2706 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
2707 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
2708 New formatting macros.
2710 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
2712 Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
2714 * rtlanal.c (subreg_regno_offset): Return correct offset for
2715 big endian paradoxical subregs.
2717 * optabs.c (expand_vector_unop): Don't expand using sub_optab
2718 if we got the wrong mode.
2720 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
2721 * genrecog.c (write_switch, write_cond): Use it.
2722 * genemit.c (gen_exp): Likewise.
2724 2002-07-22 Jakub Jelinek <jakub@redhat.com>
2726 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
2728 2002-07-22 Jakub Jelinek <jakub@redhat.com>
2730 * c-decl.c (build_compound_literal): Defer compound literal decls
2731 until until file end to emit them only if they are actually used.
2733 2002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2735 * ra-build.c (check_conflict_numbers): Hide unused function.
2736 (livethrough_conflicts_bb): Avoid automatic aggregate
2738 (parts_to_webs_1): Avoid `U' integer constant modifier.
2739 (conflicts_between_webs): Wrap a variable in the macro controlling
2741 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
2742 (dump_igraph, dump_graph_cost): Avoid string concatenation
2743 (dump_static_insn_cost): Avoid automatic aggregate
2745 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
2747 (dump_cost): Avoid string concatenation
2749 2002-07-21 Richard Henderson <rth@redhat.com>
2751 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
2752 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
2754 2002-07-21 Richard Henderson <rth@redhat.com>
2756 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
2757 that are not unrolled completely.
2759 2002-07-21 Richard Henderson <rth@redhat.com>
2761 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
2762 * loop.c (strength_reduce): Update.
2763 * toplev.c (rest_of_compilation): Do unrolling in the first
2764 loop pass, not the second.
2766 2002-07-21 Richard Henderson <rth@redhat.com>
2768 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
2769 when flag_argument_noalias == 2.
2770 * alias.c (nonoverlapping_memrefs_p): Handle that.
2771 * print-rtl.c (print_mem_expr): Likewise.
2773 2002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
2775 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
2776 instead of __negdi2 directly.
2778 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
2780 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
2781 * function.c (SYMBOL__MAIN): Remove definition.
2782 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
2783 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
2784 * profile.c (GCOV_INDEX_TO_BB): Remove.
2785 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
2786 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
2788 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
2790 * c-lex.c (GET_ENVIRONMENT): Remove.
2791 * collect2.c (GET_ENV_PATH_LIST): Remove.
2792 (prefix_from_env): Use GET_ENVIRONMENT.
2793 * cppinit.c (GET_ENV_PATH_LIST): Remove.
2794 (init_standard_includes): Use GET_ENVIRONMENT.
2795 * defaults.h (GET_ENVIRONMENT): Define here if not already.
2796 * gcc.c (GET_ENV_PATH_LIST): Remove.
2797 (make_relative_prefix, process_command): Update.
2798 * protoize.c (GET_ENV_PATH_LIST): Remove.
2799 (do_processing): Update.
2801 2002-07-21 Gabriel Dos Reis <gdr@nerim.net>
2803 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
2804 (grokdeclarator): Likewise.
2805 * c-format.c (C_STD_NAME): Likewise.
2806 * c-lex.c (interpret_integer): Likewise.
2807 * c-typeck.c (build_array_ref): Likewise.
2808 * cpplex.c (_cpp_lex_direct): Likewise.
2809 * toplev.c (documented_lang_options): Likewise.
2811 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
2813 * c-format.c (T99_I, T99_UI): Remove.
2815 2002-07-21 Neil Booth <neil@daikokuya.co.uk>
2817 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
2819 Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
2821 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
2824 2002-07-21 Andreas Jaeger <aj@suse.de>
2826 * reload1.c (fixup_abnormal_edges): Remove unused variable.
2828 2002-07-21 Bernd Schmidt <bernds@redhat.com>
2830 Improvements for the ifcvt pass from Michael Meissner, with patches
2831 by Richard Sandiford <rsandifo@redhat.com>
2832 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
2833 * ifcvt.c (cond_exec_changed_p): New static variable.
2834 (last_active_insn): New function, renamed from last_active_insn_p
2835 and changed to return the last active insn in a basic block. All
2837 (block_fallthru): New function.
2838 (cond_exec_process_insns): New argument CE_INFO. Pass it to
2839 IFCVT_MODIFY_INSN. All callers updated.
2840 Return false if START or END are NULL.
2841 Handle case where we're processing an insn that is already
2844 (noce_process_if_block): CE_INFO argument rather than
2845 multiple args containing the involved basic blocks. All callers
2847 (process_if_block, merge_if_block, find_if_block,
2848 cond_exec_process_if_block): Likewise.
2850 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
2852 Use new function last_active_insn to simplify some code.
2853 New code to handle multiple tests.
2854 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
2855 cond_exec_changed_p to TRUE.
2857 (process_if_block): New code to handle multiple tests.
2858 (merge_if_block): Likewise.
2859 (find_if_header): New arg PASS. Changed to return the currently
2860 processed basic block or NULL instead of true/false. All callers
2862 Call IFCVT_INIT_EXTRA_FIELDS.
2863 (block_jumps_and_fallthru_p): New function.
2864 (find_if_block): Discover opportunities to convert multiple tests.
2865 Add additional debugging output.
2866 Update the ce_info structure before returning.
2868 (if_convert): Run multiple passes of if-conversion.
2869 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
2870 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
2871 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
2874 Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
2876 * gcse.c: Include cselib.h
2877 (constptop_register): Break out from ...
2878 (cprop_insn): ... here; kill basic_block argument.
2879 (do_local_cprop, local_cprop_pass): New functions.
2880 (one_cprop_pass): Call local_cprop_pass.
2882 2002-07-20 Roger Sayle <roger@eyesopen.com>
2884 * simplify-rtx.c (simplify_relational_operation): Optimize
2885 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
2887 2002-07-20 Michae Matz <matz@suse.de>
2889 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
2891 2002-07-20 Neil Booth <neil@daikokuya.co.uk>
2893 * cppexp.c (struct op): Add token pointer.
2894 (check_promotion, CHECK_PROMOTION): New.
2896 (_cpp_parse_expr): Update, use token pointer of struct op.
2897 (reduce): Warn about change of sign owing to promotion.
2898 * cppinit.c (cpp_handle_option): New warning if -Wall.
2899 * cpplib.h (struct cpp_options): New member.
2901 2002-07-19 David Edelsohn <edelsohn@gnu.org>
2903 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
2904 fpu list. Separate Power4 compare and delayed_compare. Correct
2906 (fix_truncdfsi2_internal): Restore FPR preference.
2907 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
2908 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
2910 2002-07-19 Momchil Velikov <velco@fadata.bg>
2912 * reload1.c (reload_as_needed): Duplicate oldpat.
2914 2002-07-20 Alan Modra <amodra@bigpond.net.au>
2916 PR optimization/7130
2917 * loop.h (struct loop_info): Add "preconditioned".
2918 * unroll.c (unroll_loop): Set it.
2919 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
2921 2002-07-19 Zack Weinberg <zack@codesourcery.com>
2923 * rtl.def (CODE_LABEL): Remove slot 8.
2924 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
2925 (LABEL_ALTERNATE_NAME): Delete.
2926 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
2927 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
2929 * final.c (output_alternate_entry_point): New.
2930 (final_scan_insn): Use it instead of
2931 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
2932 of a case label being an alternate entry point.
2934 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
2935 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
2936 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
2938 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
2940 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
2941 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
2942 * doc/tm.texi: Delete documentation of
2943 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
2945 2002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2947 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
2948 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
2949 (LINK_SPEC): Define.
2950 (STARTFILE_SPEC): Define.
2951 (ENDFILE_SPEC): Define.
2953 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
2954 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
2956 * config/mips/iris6-o32-gas.h: New file.
2957 * config.gcc (mips-sgi-irix6*o32): Use it.
2959 * config/mips/t-iris5-gas: New file.
2960 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
2962 2002-07-19 Neil Booth <neil@daikokuya.co.uk>
2964 * cppexp.c (ALWAYS_EVAL): Remove.
2965 (optab, reduce): Always evaluate.
2966 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
2967 only if not skipping evaluation.
2969 2002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
2971 * config/avr/avr.c (debug_hard_reg_set): Remove.
2973 2002-07-19 Chris Demetriou <cgd@broadcom.com>
2975 * gcc.c (cpp_options): Include "%1" (cc1_spec).
2977 2002-07-19 Richard Henderson <rth@redhat.com>
2979 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
2981 2002-07-19 Alan Modra <amodra@bigpond.net.au>
2983 * prefix.c (update_path): Don't zap single `.' path components
2984 unless followed by another `.' and fix typo last patch.
2986 2002-07-18 Neil Booth <neil@daikokuya.co.uk>
2988 * cppexp.c (cpp_num_mul): Remove unused parameter.
2989 (UNARY, BINARY, OTHER, binary_handler): Remove.
2992 (reduce): Refactor to a large switch, don't use a function
2995 2002-07-18 Bo Thorsen <bo@berlioz.suse.de>
2997 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
2999 Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
3001 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
3002 (sh_expand_binop_v2sf): Likewise.
3003 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
3004 (int_gpr_dest, trunc_hi_operand): New functions.
3005 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
3007 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
3008 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
3009 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
3010 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
3011 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
3012 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
3013 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
3014 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
3015 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
3016 (movsf_ie+1): Likewise.
3017 (loaddi_trunc): Use int_gpr_dest predicate.
3018 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
3019 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
3020 (casesi_worker_0+[12], casesi_worker): Likewise.
3021 (shcompact_preserve_incoming_args): Likewise.
3022 (mov_nop): Use any_register_operand predicate.
3023 (mperm_w0): Use trunc_hi_operand predicate.
3025 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
3027 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
3028 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
3031 2002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
3033 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
3035 2002-07-18 Richard Henderson <rth@redhat.com>
3037 PR optimization/7147
3038 * ifcvt.c (noce_get_condition): Make certain that the condition
3041 Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
3043 * sh.c (barrier_align, push): Shut up compiler warnings.
3044 (initial_elimination_offset,sh_media_init_builtins): Likewise.
3045 (reg_no_subreg_operand): Delete.
3047 2002-07-17 Bo Thorsen <bo@suse.de>
3049 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
3050 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
3051 (STARTFILE_SPEC): Remove hardcoded library paths.
3052 (ENDFILE_SPEC): Likewise.
3054 Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
3056 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
3058 * gcse.c (try_replace_reg): Do not return false positives.
3060 2002-07-18 Alan Modra <amodra@bigpond.net.au>
3062 * prefix.c: (update_path): Strip ".." components when prior dir
3063 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
3065 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
3066 (ASM_OUTPUT_REG_POP): Likewise.
3068 2002-07-18 Alan Modra <amodra@bigpond.net.au>
3070 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
3071 adjustments to first_reg for profiling case.
3072 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
3073 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
3074 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
3075 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
3076 (ASM_OUTPUT_REG_POP): Define.
3077 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
3078 (ASM_OUTPUT_REG_POP): Undef.
3080 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
3082 * cpplib.c (do_sccs): Handle #sccs on all systems.
3083 * system.h (SCCS_DIRECTIVE): Poison.
3084 * config/darwin.h, config/freebsd.h, config/netbsd.h,
3085 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
3086 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
3087 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
3088 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
3089 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
3090 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
3091 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
3092 Remove all references to SCCS_DIRECTIVE.
3093 * doc/cpp.texi, doc/tm.texi: Update.
3095 Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
3097 * regrename.c (maybe_mode_change): New function.
3098 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
3100 2002-07-17 Rodney Brown <rbrown64@csc.com.au>
3102 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
3103 suppress addition when either ct or cf are zero.
3105 2002-06-17 Eric Botcazou <ebotcazou@multimania.com>
3106 Glen Nakamura <glen@imodulo.com>
3108 PR optimization/6713
3109 * loop.c (loop_givs_rescan): Explicitly delete the insn that
3110 sets a non-replaceable giv after issuing the new one.
3112 2002-07-17 Neil Booth <neil@daikokuya.co.uk>
3114 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
3115 eval_token): Clarify and correct use of "bool" variables.
3116 * cpplib.h (struct cpp_options): Similarly.
3117 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
3118 * cpptrad.c (recursive_macro): Similarly.
3120 Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
3122 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
3125 * sh.md (cmpgtudi_media): Remove spurious @.
3127 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
3128 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
3130 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
3131 * sh-protos.h (sh_initialize_trampoline): Declare.
3132 * sh.c (sh_initialize_trampoline): New function.
3133 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
3134 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
3135 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
3136 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
3137 * sh.md (initialize_trampoline, double_shori): New patterns.
3138 (initialize_trampoline_compact): Likewise.
3139 (shmedia32_initialize_trampoline_big): Remove.
3140 (shmedia32_initialize_trampoline_little): Likewise.
3142 * sh-protos.h (binary_float_operator): Remove declaration.
3143 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
3144 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
3145 (unary_float_operator, sh_expand_unop_v2sf): New functions.
3146 (sh_expand_binop_v2sf): Likewise.
3147 (zero_vec_operand): Delete.
3148 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
3149 all non-shared ones.
3150 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
3151 Enable nsb and byterev.
3152 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
3153 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
3155 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
3156 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
3158 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
3160 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
3161 lowpart fp regs - only for big endian for now.
3162 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
3164 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
3165 (LOAD_EXTEND_OP): NIL for SImode.
3166 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
3167 general and fp registers is 4.
3168 PREDICATE_CODES: Amend binary_float_operator entry.
3169 Remove zero_vec_operand. Add unary_float_operator.
3170 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
3172 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
3173 (truncdiqi2): Do sign extension.
3174 (movsi_media, movdi_media): Allow to use r63 to an fp register.
3175 (movdf_media, movsf_media): Likewise.
3176 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
3177 Collapse to one define_insn_and_split. Allow immediate sources.
3178 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
3179 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
3180 (movv4sf): Allow immediate sources.
3181 (movsf_media_nofpu+1): Don't split moves to FP registers.
3182 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
3183 (movv8qi_i+3): Check against CONST0_RTX.
3184 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
3185 for input and output operands. Fix argument 3 to gen_mextr_rl.
3186 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
3187 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
3188 (mshf0_w, fipr, ftrv): Likewise.
3189 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
3191 2002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3193 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
3194 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
3197 2002-07-17 Richard Sandiford <rsandifo@redhat.com>
3199 * config/mips/mips-protos.h (mips_sign_extend): Declare.
3200 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
3201 (TARGET_SWITCHES): Remove debugh.
3202 (ISA_HAS_TRUNC_W): New macro.
3203 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
3204 (PREDICATE_CODES): Remove se_nonimmediate_operand.
3205 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
3206 any SImode move_operand.
3207 (se_nonimmediate_operand): Remove.
3208 (mips_sign_extend): New.
3209 (mips_move_2words): Use it for sign-extended source operands.
3210 (override_options): Allow integers to be put into single FPRs.
3211 (mips_secondary_reload_class): Handle integers in float registers.
3212 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
3213 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
3214 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
3215 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
3216 (fix_truncdfdi2): Provide only a single alternative, in which the
3217 integer is in a float register. Depend on TARGET_FLOAT64 rather
3219 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
3220 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
3221 (movdi_internal2): Don't allow the source operand to be sign-extended.
3222 Add alternatives for float registers.
3223 (*movdi_internal2_extend): New. Version of movdi_internal2 that
3224 allows sign-extension.
3225 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
3226 (movsi_internal2): Rename to movsi_internal. Add alternatives for
3227 float registers. Remove TARGET_DEBUG_H_MODE test.
3228 (movhi_internal1): Rename to movhi_internal. Don't check
3229 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
3230 (movqi_internal1): Rename to movqi_internal and remove
3231 TARGET_DEBUG_H_MODE dependency.
3232 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
3234 2002-07-16 Jim Wilson <wilson@redhat.com>
3236 * toplev.c (lang_dependent_init): Create function context for
3239 2002-07-16 Hans-Peter Nilsson <hp@axis.com>
3241 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
3242 --gc-sections if -r.
3243 * config/cris/cris.h: Ditto.
3245 2002-07-16 Rodney Brown <rbrown64@csc.com.au>
3247 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
3248 the comparison directly gives a mask suppress addition when cf is
3249 zero by complementing the mask.
3251 2002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
3253 * Makefile.in: Delete references to enquire.
3254 * enquire.c: Move to contrib.
3256 2002-07-16 Stan Shebs <shebs@apple.com>
3258 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
3259 config/rs6000/darwin.h.
3260 (ASM_OUTPUT_SKIP): Ditto.
3261 (TEXT_SECTION_ASM_OP): Ditto.
3262 (DATA_SECTION_ASM_OP): Ditto.
3263 (ASM_APP_ON): Define.
3264 (ASM_APP_OFF): Define.
3265 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
3266 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
3268 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
3269 (machopic_function_base_name): Declare result to be const.
3270 (machopic_non_lazy_ptr_name): Ditto.
3271 (machopic_stub_name): Ditto.
3272 * config/darwin-protos.h: Ditto for the prototypes.
3274 Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
3276 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
3278 Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
3280 * i386.md (prefetch): Fix for 64bit mode.
3281 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
3283 Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
3285 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
3286 * i386.c (x86_machine_dependent_reorg): New function.
3287 * i386-protos.h (x86_machine_dependent_reorg): Declare.
3289 2002-07-16 Zack Weinberg <zack@codesourcery.com>
3291 * builtins.c (std_expand_builtin_va_start): Remove unused
3293 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
3294 std_expand_builtin_va_start with just two arguments.
3295 * expr.h: Update prototypes.
3297 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
3298 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
3299 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
3300 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
3301 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
3302 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
3303 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
3304 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
3305 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
3306 argument from all implementations of EXPAND_BUILTIN_VA_START
3307 and all uses of std_expand_builtin_va_start.
3309 Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
3311 * regrename.c (copy_value): Don't record high part copies.
3313 2002-07-16 Steve Ellcey <sje@cup.hp.com>
3315 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
3316 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
3317 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
3319 2002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
3321 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
3323 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
3324 into addsi3 using register class "x" and "y".
3326 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
3327 "earlyclobber" constraint modifier for some alternative.
3329 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
3330 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
3332 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
3334 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
3335 (TARGET_SWITCHES): Add -mieee-compare option.
3336 (OVERRIDE_OPTIONS): 32332 is a subset of
3337 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
3338 (TARGET_SWITCHES): Fix description of bitfield option.
3339 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
3340 -mieee-compare option. Remove 32332 flag.
3342 2002-07-16 Steve Ellcey <sje@cup.hp.com>
3344 * explow.c (convert_memory_address): Remove special handling
3345 when POINTERS_EXTEND_UNSIGNED < 0.
3346 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
3347 (movedi_symbolic): Fix typo.
3348 (load_fptr): Remove mode restriction so it works for SI and DI.
3349 (load_fptr_internal1): Ditto.
3350 (load_gprel): Ditto.
3351 (load_symptr_internal1): Ditto.
3353 * config/ia64.c (call_operand): Modify mode check.
3354 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
3355 (ia64_expand_move): Ditto.
3356 (ia64_assemble_integer): Handle SImode function pointers.
3357 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
3358 (ia64_expand_op_and_fetch): Ditto.
3359 (ia64_expand_compare_and_swap): Ditto.
3360 (ia64_expand_lock_test_and_set): Ditto.
3361 (ia64_expand_lock_release): Ditto.
3363 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3365 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
3367 2002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
3368 Richard Earnshaw <rearnsha@arm.com>
3370 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
3371 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
3373 2002-07-16 Richard Earnshaw <rearnsha@arm.com>
3375 * arm.md (stack_tie): New insn. Use an idiom that the alias code
3376 understands to be a memory clobber.
3377 * arm.c (arm_expand_prologue): Use it.
3379 2002-07-16 Daniel Berlin <dberlin@dberlin.org>
3381 * ra-rewrite.c: #include reload.h, insn-config.h
3382 * ra-build.c: #include reload.h
3383 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
3384 depend on reload.h, insn-config.h.
3386 Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
3388 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
3389 the same size as a word.
3391 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
3392 BYTES_BIG_ENDIAN into account.
3394 Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
3396 * i386.md (prefetch): Fix for 64bit mode.
3397 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
3399 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
3401 2002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
3403 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
3405 2002-07-15 Zack Weinberg <zack@codesourcery.com>
3407 * ginclude/varargs.h: Replace with stub which issues #error.
3408 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
3411 * builtins.def (BUILT_IN_VARARGS_START): Delete.
3412 (BUILT_IN_VA_START): New.
3413 * builtins.c (expand_builtin_va_start): Eliminate first
3414 argument and code to implement pre-ISO varargs.
3415 (std_expand_builtin_va_start): Ignore first argument; it is
3417 (expand_builtin): Handle BUILT_IN_VA_START and
3418 BUILT_IN_STDARG_START identically. Delete
3419 BUILT_IN_VARARGS_START case.
3421 * function.c (assign_parms): Delete hide_last_arg and all
3423 (mark_varargs): Delete function.
3424 * function.h (struct function): Delete 'varargs' bit.
3425 (current_function_varargs): Delete macro.
3426 * tree.h: Don't declare mark_varargs.
3428 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
3429 (c_expand_body): Don't call mark_varargs.
3430 * c-objc-common.c: Handle BUILT_IN_VA_START and
3431 BUILT_IN_STDARG_START identically. Delete
3432 BUILT_IN_VARARGS_START case.
3433 * c-tree.h: Don't declare c_mark_varargs.
3434 * c-parse.in: Remove grammar rules for '&...' (which has been
3435 commented out since before 2.7.2) and for '...' in K+R
3436 argument declarations.
3438 * builtins.c, function.c, integrate.c, sibcall.c,
3439 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
3440 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
3441 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
3442 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
3443 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
3444 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
3445 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
3446 config/stormy16/stormy16.c: Delete all references to
3447 current_function_varargs, and code predicated on that flag.
3449 * config/alpha/alpha.c (alpha_va_start),
3450 config/arc/arc.c (arc_va_start),
3451 config/i386/i386.c (ix86_va_start),
3452 config/mips/mips.c (mips_va_start),
3453 config/mn10300/mn10300.c (mn10300_va_start),
3454 config/rs6000/rs6000.c (rs6000_va_start),
3455 config/s390/s390.c (s390_va_start),
3456 config/sh/sh.c (sh_va_start),
3457 Ignore first argument; it is always 1.
3459 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
3460 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
3461 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
3462 Delete m68hc11_va_start.
3463 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
3464 No need to define EXPAND_BUILTIN_VA_START.
3466 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
3467 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
3469 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
3471 PR optimization/7153
3472 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
3473 dies in more than one insn.
3475 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
3477 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
3479 2002-07-15 Michael Matz <matz@suse.de>,
3480 Daniel Berlin <dberlin@dberlin.org>,
3481 Denis Chertykov <denisc@overta.ru>
3483 Add a new register allocator.
3487 * ra-build.c: New file.
3488 * ra-colorize.c: New file.
3489 * ra-debug.c: New file.
3490 * ra-rewrite.c: New file.
3492 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
3493 (ra-rewrite.o): New .o files for libbackend.a.
3494 (GTFILES): Add basic-block.h.
3496 * toplev.c (flag_new_regalloc): New.
3497 (f_options): New option "new-ra".
3498 (rest_of_compilation): Call initialize_uninitialized_subregs()
3499 only for the old allocator. If flag_new_regalloc is set, call
3500 new allocator, instead of local_alloc(), global_alloc() and
3503 * doc/invoke.texi: Document -fnew-ra.
3504 * basic-block.h (FOR_ALL_BB): New.
3505 * config/rs6000/rs6000.c (print_operand): Write small constants
3508 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
3509 (df_reg_table_realloc): Make size at least as large as max_reg_num().
3510 (df_insn_table_realloc): Size argument now is absolute, not relative.
3511 Changed all callers.
3513 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
3514 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
3516 2002-06-20 Michael Matz <matz@suse.de>
3518 * df.h (struct ref.id): Make unsigned.
3519 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
3521 2002-06-13 Michael Matz <matz@suse.de>
3523 * df.h (DF_REF_MODE_CHANGE): New flag.
3524 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
3525 involving subregs with invalid mode changes, when
3526 CLASS_CANNOT_CHANGE_MODE is defined.
3528 2002-05-07 Michael Matz <matz@suse.de>
3530 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
3532 2002-05-03 Michael Matz <matz@suse.de>
3534 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
3536 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
3538 * regclass.c (regclass): Work with all regs which have sets or
3540 (reg_scan_mark_refs): Count regs inside (clobber ...).
3542 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
3544 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
3545 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
3547 (df_bb_refs_update): Don't clear insns_modified here, ...
3548 (df_analyse): ... but here.
3550 * sbitmap.c (dump_sbitmap_file): New.
3551 (debug_sbitmap): Use it.
3553 * sbitmap.h (dump_sbitmap_file): Add prototype.
3555 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
3557 * df.c (df_insn_modify): Grow the UID table if necessary, rather
3558 than assume all emits go through df_insns_modify.
3560 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
3562 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
3563 increase REG_N_REFS (like flow does), so that regclass doesn't
3564 think a reg is useless, and thus, not calculate a class, when it
3567 2001-01-28 Daniel Berlin <dberlin@redhat.com>
3569 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
3572 2002-07-15 Jakub Jelinek <jakub@redhat.com>
3575 * config/i386/i386.c (const_int_1_31_operand): New.
3576 * config/i386/i386.h (PREDICATE_CODES): Add it.
3577 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
3578 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
3579 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
3581 2002-07-14 Alan Modra <amodra@bigpond.net.au>
3584 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
3585 (floatunssidf2): Likewise.
3586 (floatsidf_ppc64): New insn_and_split.
3587 (floatunssidf_ppc64): Likewise.
3589 2002-07-14 Andreas Jaeger <aj@suse.de>
3591 * config.gcc (sh64): Remove unused
3592 target_requires_64bit_host_wide_int.
3594 2002-07-12 Roger Sayle <roger@eyesopen.com>
3596 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
3597 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
3598 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
3599 whether clear_by_pieces should be used to clear storage.
3600 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
3602 * doc/tm.texi: Document these two new target macros.
3604 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
3606 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
3607 the scratch register.
3608 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
3609 of it, forbid reload to use it.
3611 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
3613 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
3614 usage on 64-bit hosts, return value was truncated to 32 bits.
3616 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
3618 * simplify-rtx.c (simplify_subreg): Handle floating point
3619 CONST_DOUBLEs. When an integer subreg of a smaller mode than
3620 the element mode is requested, compute a subreg with an
3621 integer mode of the same size as the element mode first.
3623 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3625 * combine.c (try_combine): When converting a paradoxical subreg
3626 to an extension, take LOAD_EXTEND_OP into account.
3628 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3630 * config.gcc (mips-sgi-irix6*o32): New configuration.
3632 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
3634 * configure: Regenerate.
3636 * config/mips/iris6-o32-as.h: New file.
3637 * config/mips/iris6-o32.h: New file.
3639 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
3641 (HAVE_AS_SHF_MERGE): Undefine.
3643 * config/mips/t-iris5-as: New file.
3644 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
3646 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
3647 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
3648 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
3649 dp-bit.c, fp-bit.c): Move ...
3650 * config/mips/t-iris5-6: ... here.
3651 New file, shared by IRIX 5 and IRIX 6.
3652 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
3653 mips-sgi-irix5*): Use it.
3655 * config/mips/iris6.h: Remove duplicate comment.
3657 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
3658 !TARGET_IRIX6]: Define.
3659 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
3661 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
3663 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3665 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
3666 and delete code to force constant to register.
3667 * pa-protos.h (adddi3_operand): Add prototype.
3668 * pa.c (adddi3_operand): New function.
3670 2002-07-11 Roger Sayle <roger@eyesopen.com>
3672 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
3673 non-ANSI builtin functions.
3675 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
3677 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
3678 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
3679 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
3680 (gen_const_vector_0): Use it.
3682 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
3684 * pa.md (adddi3): For 32-bit targets, force constants to a register
3685 if they don't fit in an 11-bit immediate. Change insn predicate to
3686 arith11_operand. Remove comment.
3687 * pa.c (cint_ok_for_move): Fix comment.
3688 (emit_move_sequence): Don't directly split DImode constants on 32-bit
3691 2002-07-11 Tim Josling <tej@melbpc.org.au>
3693 Remove front end hard coding from gengtype.c.
3696 (STAGESTUFF): add gtyp-gen.h
3697 (GTFILES): Remove front end specific files.
3698 (GTFILES_FILES_LANGS): New, from configure..
3699 (GTFILES_FILES_FILES): Likewise.
3700 (GTFILES_LANG_DIR_NAMES): Likewise.
3701 (GTFILES_SRCDIR): Likewise.
3702 (gtyp-gen.h): Build from configure information.
3703 (s-gtype): Remove command line parameters from gengtype.
3704 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
3705 (mostlyclean): Delete files generated by and for gengtype.
3707 * c-config-lang.in: New file.
3709 * configure.in (all_gtfiles_files_langs): New. Accumulate files
3711 (all_gtfiles_files_files): New. Accumulate language for each file
3713 (gtfiles): Pick up value for C.
3714 (srcdir): AC-SUBST this variable.
3715 (all_gtfiles_files_langs): AC-SUBST this variable.
3716 (all_gtfiles_files_files): AC-SUBST this variable.
3718 * configure: Regenerate.
3720 * gengtype-lex.l (parse_file): Make parameter const.
3722 * gengtype.c (toplevel): include gtyp-gen.h.
3723 (BASE_FILE_<language> unnamed enum): Delete.
3724 (lang_names): Delete (replaced by gtyp-gen.h)
3725 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
3727 (NUM_GT_FILES): New.
3728 (NUM_LANG_FILES): New.
3730 (NUM_BASE_FILES): Change calculation.
3731 (open_base_files): Change prototype to avoid warning.
3732 (startswith): Delete.
3733 (get_file_basename): Iterate through generated language list not
3735 (get_base_file_bitmap): Use generated list of files and languages.
3736 (close_output_files): Add prototype to rmove warning.
3737 (main): Iterate through list of generated files from gtyp-gen.h
3738 rather than command line paramaters. Ignore duplicated file
3741 * gengtype.h (parse_file): Amend prototype for const parameter.
3743 * doc/sourcebuild.texi: Document gtfiles variable.
3745 * doc/gty.texi: Document changes to gtfiles variable for front
3748 * objc/config-lang.in (gtfiles): Add files needed for objc front
3751 2002-07-10 Roger Sayle <roger@eyesopen.com>
3754 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
3755 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
3757 2002-07-10 Roger Sayle <roger@eyesopen.com>
3758 Zack Weinberg <zack@codesourcery.com>
3760 * builtins.def: Make the argument types of abort and exit
3761 independent of the front-end.
3763 2002-07-11 Alan Modra <amodra@bigpond.net.au>
3765 * config/rs6000/linux64.h (ASM_SPEC): Define.
3767 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
3769 * config/rs6000/rs6000.c (emit_frame_save): New.
3770 (rs6000_frame_related): Replace reg2 before reg.
3771 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
3772 and eh_return registers.
3774 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
3776 Revert all patches for optimization of Complex .op. Real.
3777 * complex_part_zero_p: Remove
3778 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
3780 * expand_cmplxdiv_wide: Ditto.
3781 * expand_binop: Ditto.
3783 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
3785 * config/avr/avr.md: Fix two 0x80000000 constants to make them
3786 negative also on 64-bit hosts.
3788 Default to -fno-reorder-blocks when optimizing for size.
3789 * config/avr/avr-protos.h (avr_optimization_options): Declare.
3790 * config/avr/avr.c (avr_optimization_options): New function.
3791 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
3793 Optimize returning from simple functions.
3794 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
3795 * config/avr/avr.c (avr_simple_epilogue): New function.
3796 * config/avr/avr.md (return): New insn.
3798 2002-07-10 Douglas B Rupp <rupp@gnat.com>
3800 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
3801 HAS_INIT_SECTION to protection.
3803 2002-07-10 Mark Mitchell <mark@codesourcery.com>
3805 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
3808 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
3810 * combine.c (gen_lowpart_for_combine): Handle vector modes.
3811 Supply non-VOID mode to simplify_gen_subreg.
3813 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
3815 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
3817 2002-07-10 Jeffrey A Law <law@redhat.com>
3819 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
3822 * mn10200.c (expand_epilogue): Fix test to determine which scratch
3825 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
3827 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
3829 If simplify_gen_subreg fails, try next equivalent.
3831 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
3833 * diagnostic.h: #include location.h
3834 (location_t): Move definition to..
3835 * location.h: ... here. New file.
3836 * tree.h: #include location.h
3837 (DECL_SOURCE_LOCATION): New macro.
3838 (DECL_SOURCE_FILE): Use.
3839 (DECL_SOURCE_LINE): Likewise.
3840 (struct tree_decl): REplace filename and linenum with locus.
3841 * Makefile.in (TREE_H): add location.h
3842 (diagnostic.o): Depends on gt-location.h
3843 (gt-location.h): Depends on s-gtype
3845 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
3847 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
3848 TARGET_OS_CPP_BUILTINS.
3849 * config/rs6000/aix31.h: Likewise.
3850 * config/rs6000/aix41.h: Likewise.
3851 * config/rs6000/aix43.h: Likewise.
3852 * config/rs6000/aix51.h: Likewise.
3853 * config/rs6000/beos.h: Likewise.
3854 * config/rs6000/darwin.h: Likewise.
3855 * config/rs6000/eabi.h: Likewise.
3856 * config/rs6000/eabisim.h: Likewise.
3857 * config/rs6000/linux.h: Likewise.
3858 * config/rs6000/linux64.h: Likewise.
3859 * config/rs6000/lynx.h: Likewise.
3860 * config/rs6000/mach.h: Likewise.
3861 * config/rs6000/rtems.h: Likewise.
3862 * config/rs6000/sysv4.h: Likewise.
3863 * config/rs6000/vxppc.h: Likewise.
3865 2002-07-09 Devang Patel <dpatel@apple.com>
3866 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
3867 Do not allow ObjC objects as a parameter type for Objective-C methods.
3868 My previous patch restricted 'struct' also.
3870 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
3872 * cpperror.c (cpp_error): Default to directive_line within
3874 * cppexp.c (cpp_interpret_integer): Only use traditional
3875 number semantics in directives.
3876 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
3877 (do_include_common): Similarly.
3878 * cpptrad.c (scan_out_logical_line): Implement accurate
3879 quoting of <> in #include.
3880 * doc/cpp.texi: Update.
3882 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
3883 J"orn Rennecke <joern.rennecke@superh.com>
3885 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
3886 * sh.md (attribute issues): Replace with:
3887 (attribute pipe_model). All users changed.
3888 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
3890 (function units sh5issue, sh5fds): New.
3891 (attribute is_mac_media): New.
3892 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
3893 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
3894 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
3895 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
3896 (call_media, call_value_media, sibcall_media): Likewise.
3897 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
3898 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
3899 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
3900 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
3901 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
3902 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
3903 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
3904 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
3905 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
3906 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
3907 (truncdfsf2_media): Likewise.
3908 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
3909 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
3911 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3913 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
3914 * sh.c (general_extend_operand, inqhi_operand): New functions.
3915 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
3916 alternatives using 'N' modifier. Add type.
3917 (adddi3z_media): Likewise. Enable generator function generation.
3918 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
3919 exact predicates / constraints. Add type.
3920 (subsi3): Allow 0 for SHMEDIA.
3921 (udivsi3_i4_media): Use match_operand for input values
3922 rather than hard registers.
3923 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
3924 unnecessarily through hard registers. Keep copies of pseudo
3925 registers outside of the libcall sequence.
3926 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
3927 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
3928 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
3929 (extendhidi2, extendqidi2): Likewise.
3930 (andsi3_compact): Name.
3931 (andcdi3): Enable generator function generation.
3932 (zero_extendhisi2, zero_extendqisi2): Rename to
3933 (zero_extendhisi2_compact, zero_extendqisi2_compact).
3934 (extendhisi2, extendqisi2): Rename to
3935 (extendhisi2_compact, extendqisi2_compact).
3936 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
3937 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
3938 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
3939 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
3940 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
3941 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
3942 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
3943 (shmedia32_initialize_trampoline_big): Likewise.
3944 (shmedia32_initialize_trampoline_little): Likewise.
3945 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
3946 (negdi2): Remove spurious T clobber.
3947 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
3948 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
3949 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
3950 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
3951 (ic_invalidate_line_media): Write back data cache before invalidating
3952 instruction cache. Add type.
3953 (movsf_media): Sign-extend when the destination is a general
3954 purpose register. Add type.
3955 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
3956 (casesi_worker_0+1): Only increment ref count for proper label.
3957 (casesi_worker_0+2): Likewise.
3959 2002-07-09 Mark Mitchell <mark@codesourcery.com>
3961 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
3963 2002-07-09 Steve Ellcey <sje@cup.hp.com>
3965 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
3966 from Pmode to ptr_mode.
3967 (get_exception_pointer): Ditto.
3968 (connect_post_landing_pads): Ditto.
3969 (dw2_build_landing_pads): Ditto.
3971 2002-07-08 Steve Ellcey <sje@cup.hp.com>
3972 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
3973 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
3974 (handle_pragma_redefine_extname): Change to use new function.
3976 2002-07-08 Roger Sayle <roger@eyesopen.com>
3978 * combine.c (combine_simplify_rtx): Add an explicit cast
3979 to avoid signed/unsigned comparison warning.
3980 (simplify_if_then_else): Likewise.
3981 (extended_count): Likewise.
3982 (simplify_shift_const): Likewise.
3983 (simplify_comparison): Likewise.
3985 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
3987 * config/mips/mips.md: Add imadd type. Update scheduler description
3988 to use imadd as well as imul.
3989 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
3990 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
3991 (*mul_sub_si): Likewise for first alternative. Change second
3992 alternative from imul to multi.
3994 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
3996 * c-common.c (c_common_post_options): Update prototype;
3997 don't init backends if preprocessing only.
3998 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
3999 * langhooks.h (struct lang_hooks): Update post_options to
4001 * toplev.c (parse_options_and_default_flags, do_compile,
4002 lang_independent_init): Update prototypes. Allow the
4003 front end to specify that there is no need to initialize
4005 (general_init): Move call to hex_init here...
4006 (toplev_main): ...from here. Pass flag for back end init
4009 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
4011 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
4012 (PREDICATE_CODES): Add entries for equality_comparison_operator,
4013 greater_comparison_operator and less_comparison_operator.
4014 * sh.c (print_operand): Add '\'' code. Make 'o' handle
4016 (equality_comparison_operator): New function.
4017 (greater_comparison_operator, less_comparison_operator): Likewise.
4018 * sh.md (beq_media_i): Disable generator function generation.
4019 Use match_operator to handle a whole class of comparisons. Add
4020 modifier in output template to provide branch prediction. Add type.
4021 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
4022 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
4023 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
4024 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
4026 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
4028 Emit MMIX function prologue and epilogue as rtl.
4029 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
4030 not unprototyped get_hard_reg_initial_val.
4031 ("call_value", "nonlocal_goto_receiver"): Ditto.
4032 ("return"): Make define_expand. Move real insn to...
4033 ("*expanded_return"): New pattern.
4034 ("prologue", "epilogue"): New define_expands.
4035 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
4036 (struct machine_function): New member in_prologue.
4037 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
4038 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.