mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
15904 lines
578 KiB
Groff
15904 lines
578 KiB
Groff
|
Tue May 18 03:53:37 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
Improve open-coding of complex divide:
|
|||
|
* flags.h: Declare new front-end-malleable flag.
|
|||
|
* toplev.c: Define new flag.
|
|||
|
* optabs.c (expand_cmplxdiv_straight): New function to do original
|
|||
|
open-coding.
|
|||
|
(expand_cmplxdiv_wide): New function to do new open-coding,
|
|||
|
from Toon Moene, with changes (call to emit_barrier, dropping
|
|||
|
of spurious `ok = 1;', plus the obvious `break;' -> `return 0;').
|
|||
|
(expand_binop): A bit of spacing fixing, while at it.
|
|||
|
Use new functions instead of inlining the open-coding code.
|
|||
|
|
|||
|
Tue May 18 00:51:46 1999 Krister Walfridsson <cato@df.lth.se>
|
|||
|
|
|||
|
* configure.in (arm*-*-netbsd*): Use collect2.
|
|||
|
(i[34567]86-*-netbsd*): Likewise.
|
|||
|
(m68k*-*-netbsd*): Likewise.
|
|||
|
(ns32k-*-netbsd*): Likewise.
|
|||
|
(sparc-*-netbsd*): Likewise.
|
|||
|
(vax-*-netbsd*): Likewise.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cppspec.c: Insert -no-gcc into command line unless -gcc was
|
|||
|
given by user.
|
|||
|
* gcc.c (default_compilers): Define __GNUC__ and
|
|||
|
__GNUC_MINOR__ only if -no-gcc was not given.
|
|||
|
* objc/lang-specs.h: Likewise.
|
|||
|
* cpp.texi: Document -x and -std options; explain that -lang
|
|||
|
is no longer supported. Minor related corrections.
|
|||
|
|
|||
|
Mon May 17 23:56:39 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to
|
|||
|
fixproto.
|
|||
|
* fixproto: Avoid unportable constructs such as `basename' and
|
|||
|
`mkdir -p'. Use mkinstalldirs from the environment if `mkdir -p'
|
|||
|
fails.
|
|||
|
|
|||
|
* fixinc/fixincl.c: Remove #error, it is not portable.
|
|||
|
|
|||
|
Mon May 17 23:50:41 1999 Marc Espie <espie@cvs.openbsd.org>
|
|||
|
|
|||
|
* collect2.c (main): Fix typo in COLLECT2_HOST_INITIALIZATION.
|
|||
|
|
|||
|
Mon May 17 19:45:41 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|||
|
|
|||
|
* fixinc/fixincl.c (process): Wait for children from chain_open()
|
|||
|
to avoid creating zombies.
|
|||
|
|
|||
|
* fixinc/inclhack.tpl: Removed no-op pipe.
|
|||
|
|
|||
|
* fixinc/inclhack.sh fixinc/fixincl.sh: regenerate
|
|||
|
|
|||
|
Mon May 17 07:23:34 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
|
|||
|
reality.
|
|||
|
* expr.c (init_noncopied_parts): Don't generate initializers for
|
|||
|
parts that don't need them.
|
|||
|
|
|||
|
Mon May 17 02:56:35 PDT 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Oct 31 05:08:34 CET 1998 Jan Hubicka (hubicka@freesoft.cz)
|
|||
|
|
|||
|
* reg-stack.c: Do not emit pop insns after cc0 setter.
|
|||
|
(emit_pop_insn): Do not emit insn in case WHEN is NULL.
|
|||
|
(compare_for_stack_reg): Update REG_DEAD note and
|
|||
|
do not emit push insn.
|
|||
|
|
|||
|
* i386.c: (output_float_compare): Handle new REG_DEAD notes.
|
|||
|
|
|||
|
Mon May 17 01:57:37 1999 David Daney <daney@ibw.com.ni>
|
|||
|
|
|||
|
* i386/sol2.h (LINK_SPEC): Do not pass "-z text" to the linker
|
|||
|
if -mimpure-text.
|
|||
|
|
|||
|
1999-05-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* m68k.c (standard_68881_constant_p): Don't accept -0.0 as valid
|
|||
|
68881 constant.
|
|||
|
|
|||
|
* fold-const.c (fold_truthop): When converting a one-bit
|
|||
|
comparison don't sign extend the constant.
|
|||
|
|
|||
|
* cse.c (cse_insn): Copy SRC_CONST before putting it in the
|
|||
|
REG_EQUAL note.
|
|||
|
|
|||
|
1999-05-17 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions.
|
|||
|
|
|||
|
Sat May 15 14:22:40 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc/hackshell.tpl: Fix mis-applied patch.
|
|||
|
* fixinc/inclhack.sh: Regenerated.
|
|||
|
|
|||
|
Thu May 13 21:05:55 1999 Mark Kettenis <kettenis@gnu.org>
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh: Add the Hurd (*-*-gnu*) to the list of
|
|||
|
targets that do not need any fixes.
|
|||
|
|
|||
|
Sat May 15 14:12:38 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (set_lo_sum+2): New splitter to load large
|
|||
|
const_ints.
|
|||
|
|
|||
|
Sat May 15 14:09:08 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (decrement_and_branch_on_count): Disabled.
|
|||
|
(doloop_begin, doloop_end): New patterns.
|
|||
|
(*rptb_init): Added extra operands.
|
|||
|
|
|||
|
Fri May 14 21:31:36 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (*umulqi3_highpart_clobber): Fix operand 2
|
|||
|
constraints order.
|
|||
|
|
|||
|
1999-05-14 Ulrich Drepper <drepper@cygnus.com>
|
|||
|
|
|||
|
* fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in
|
|||
|
asm input operands.
|
|||
|
|
|||
|
Thu May 13 15:34:18 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (mask_constant): Delete.
|
|||
|
(mask_operand): Move mask_constant() body to here.
|
|||
|
* rs6000.h (mask_constant): Delete declaration.
|
|||
|
* rs6000.md (nabsdi2): Reverse subtraction in splitter.
|
|||
|
|
|||
|
Thu May 13 02:25:01 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* cpp.texi: Fix some typos.
|
|||
|
|
|||
|
Thu May 13 01:49:55 1999 Graham Stott <GrahamS@RCP.co.uk>
|
|||
|
|
|||
|
* loop.c (maybe_eliminate_biv): Check regno against
|
|||
|
max_reg_before_loop.
|
|||
|
|
|||
|
* i386.c (memory_address_info): Correct the scale
|
|||
|
factor test.
|
|||
|
|
|||
|
Thu May 13 01:31:19 1999 Nick Burrett <nick.burrett@btinternet.com>
|
|||
|
|
|||
|
* arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is
|
|||
|
applied to each register.
|
|||
|
* aof.h (ASM_FILE_START): Define register `r0'.
|
|||
|
|
|||
|
1999-05-12 20:22 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* configure.in: Make --enable-cpp and --with-cpp-install-dir
|
|||
|
documented options. Enable the cpp driver by default.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Wed May 12 18:08:48 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* rs6000.c (print_operand) [w]: Calculate signed constant more clearly.
|
|||
|
(rs6000_allocate_stack_space): Print as hexadecimal value.
|
|||
|
* rs6000.h (CONST_OK_FOR_LETTER_P): 'L' checks for a signed,
|
|||
|
16-bit shifted constant. Fix typo for 'P'.
|
|||
|
(EXTRA_CONSTARINT): 'T' checks for a 32-bit mask operand.
|
|||
|
* rs6000.md (movsi, addsi3_internal1, movdi, adddi3_internal1):
|
|||
|
Use 'L' for shifted constant.
|
|||
|
(anddi3_internal3): Fix typo.
|
|||
|
(32-bit mask patterns): Use 'T'.
|
|||
|
|
|||
|
Wed May 12 07:30:31 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixinc/fixincl.c(quoted_file_exists): new procedure to ensure that
|
|||
|
a file exists before trying to copy it into the destination
|
|||
|
(extract_quoted_files): use that routine.
|
|||
|
|
|||
|
Wed May 12 07:27:31 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
Allow front end (like g77's) to override maintenance of errno:
|
|||
|
* expr.c (expand_builtin): Bother with errno only if
|
|||
|
flag_errno_math.
|
|||
|
* flags.h: Declare flag_errno_math.
|
|||
|
* toplev.c: Define flag_errno_math.
|
|||
|
|
|||
|
Tue May 11 23:55:49 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixproto: Change "mkdir" calls to "mkdir -p"
|
|||
|
|
|||
|
* fixinc/inclhack.def (io_def_quotes): Consistently allow multiple
|
|||
|
whitespace characters between the "define" and the name of the macro.
|
|||
|
* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
|
|||
|
|
|||
|
Tue May 11 20:46:37 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_expand_block_move): Handle TImode registers
|
|||
|
used with ADDRESSOF.
|
|||
|
(alpha_expand_block_clear): Handle ADDRESSOF specially.
|
|||
|
|
|||
|
1999-05-11 Ulrich Drepper <drepper@cygnus.com>
|
|||
|
|
|||
|
* fixinc/fixinc.x86-linux-gnu (FD_ZERO): Remove unneccessary
|
|||
|
memory output operand which irritates gcc.
|
|||
|
|
|||
|
Tue May 11 11:45:16 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (documented_lang_options): Add -MD, -MMD, -M and -MM for
|
|||
|
cpplib-enabled compilers.
|
|||
|
|
|||
|
Tue May 11 11:34:56 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
|
|||
|
|
|||
|
* config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Add parentheses
|
|||
|
around &&.
|
|||
|
|
|||
|
Mon May 10 13:51:24 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* tm.texi (FUNCTION_ARG): Stack element of PARALLEL must come
|
|||
|
first.
|
|||
|
|
|||
|
Tue May 11 01:32:01 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc/inclhack.def (sun_auth_proto): Apply to all targets.
|
|||
|
(sysz_stdlib_for_sun): Similarly.
|
|||
|
* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
|
|||
|
|
|||
|
Mon May 10 20:34:10 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* config/mips/elf.h (UNIQUE_SECTION_P): Undef.
|
|||
|
* config/mips/elf64.h (UNIQUE_SECTION_P): Undef.
|
|||
|
* config/mips/mips.h (UNIQUE_SECTION_P): Define to 0.
|
|||
|
|
|||
|
1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppfiles.c (initialize_input_buffer): New function.
|
|||
|
(finclude): Call it, if pfile->input_buffer is NULL. Accept
|
|||
|
any character device as an input file.
|
|||
|
(read_and_prescan): Use pfile->input_buffer and
|
|||
|
pfile->input_speccase.
|
|||
|
* cppinit.c (cpp_cleanup): Free pfile->input_buffer and
|
|||
|
pfile->input_speccase.
|
|||
|
* cpplib.h (cpp_reader): Add input_buffer, input_speccase, and
|
|||
|
input_buffer_len members. Use memcpy in CPP_PUTS_Q.
|
|||
|
|
|||
|
* cppmain.c: Buffer output in the token_buffer; throttle
|
|||
|
number of calls to fwrite; check for errors from fwrite.
|
|||
|
|
|||
|
1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cppspec.c: Treat two non-option arguments as input and
|
|||
|
output file. Three or more non-option args is an error.
|
|||
|
Clean up.
|
|||
|
* gcc.c (default_compilers): Pass -$ to the preprocessor.
|
|||
|
* objc/lang-specs.h: Likewise.
|
|||
|
|
|||
|
Mon May 10 12:59:20 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* optabs.c (emit_cmp_and_jump_insns): Handle the case where both
|
|||
|
operands to the comparison are constants.
|
|||
|
|
|||
|
Mon May 10 07:28:10 1999 Bruce Korb <autogen@autogen.freeservers.com>
|
|||
|
|
|||
|
* fixinc/inclhack.def(arm_norcroft_hint): check before fixing
|
|||
|
(no_double_slash): portability
|
|||
|
(math_exception): added reminder comment
|
|||
|
|
|||
|
Mon May 10 01:28:10 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
From Fri May 7 9:31:41 1999 Donn Terry (donn@interix.com):
|
|||
|
* varasm.c (mark_constant_pool): Add some transitive closure.
|
|||
|
|
|||
|
Sun May 9 22:51:04 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
Fix gcc.dg/990506-0.c:
|
|||
|
* c-typeck.c (require_complete_type): Handle ERROR_MARK input.
|
|||
|
|
|||
|
Sun May 9 13:19:12 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* gcse.c (cprop_insn): Do not try to simplify a simple jump.
|
|||
|
|
|||
|
Sun May 9 11:12:19 1999 Philip Blundell <bp@nexus.co.uk>
|
|||
|
|
|||
|
* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Add (PLT) to branch if
|
|||
|
necessary. Reported by jim@federated.com.
|
|||
|
|
|||
|
Sat May 8 23:05:35 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.h (PRINT_OPERAND_ADDRESS): Output "%r0", not "r0" for the
|
|||
|
base register in an absolute memory address.
|
|||
|
* pa.md (conditional moves): Avoid using immediate zero for
|
|||
|
register zero.
|
|||
|
|
|||
|
Sat May 8 06:23:21 1999 Philip Blundell <pb@nexus.co.uk>
|
|||
|
|
|||
|
Based on patch by Scott Bambrough:
|
|||
|
* config/arm/arm.h (NEED_PLT_GOT): New macro. Set to 0 if not
|
|||
|
already defined.
|
|||
|
* config/arm/elf.h (NEED_PLT_GOT): Define to flag_pic.
|
|||
|
* config/arm/arm.md (call_symbol, call_value_symbol et al.): If
|
|||
|
NEED_PLT_GOT is true, add explicit "(PLT)" to generated branches.
|
|||
|
* config/arm/arm.c (output_func_epilogue,
|
|||
|
output_return_instruction): Likewise for calls to abort.
|
|||
|
|
|||
|
Sat May 8 01:57:58 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* calls.c (rtx_for_function_call): Extend function pointer being
|
|||
|
passed to chkr_check_exec_libfunc, if needed.
|
|||
|
|
|||
|
Sat May 8 01:51:50 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* ginclude/stdarg.h (__va_rounded_size): Use long type for
|
|||
|
rounding on AIX.
|
|||
|
* ginclude/varargs.h: Likewise.
|
|||
|
|
|||
|
Sat May 8 01:47:20 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* invoke.texi: Remove duplicates in the description of -d
|
|||
|
letters. Fix use of @item vs. @itemx.
|
|||
|
|
|||
|
Sat May 8 01:43:02 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
|||
|
|
|||
|
* rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
|
|||
|
(CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
|
|||
|
* rs6000.c (setup_incoming_varargs): Fix typo last change.
|
|||
|
(init_cumulative_args): Remove varargs_offset references.
|
|||
|
|
|||
|
* rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
|
|||
|
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.
|
|||
|
|
|||
|
Sat May 8 01:34:19 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* reload1.c (gen_mode_int): New function.
|
|||
|
(reload_cse_move2add): Use it to generate the new constants.
|
|||
|
|
|||
|
Sat May 8 01:25:09 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* varasm.c (output_constant): Do nothing if -fsyntax-only.
|
|||
|
|
|||
|
Fri May 7 19:10:15 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
|
|||
|
|
|||
|
* sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing
|
|||
|
for TFmode when there are no instructions which accept REG+REG
|
|||
|
instructions.
|
|||
|
|
|||
|
Fri May 7 12:38:54 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
|
|||
|
* mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use
|
|||
|
function_section instead of text_section.
|
|||
|
* mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P
|
|||
|
in TARGET_MIPS16 STRING_CST handling.
|
|||
|
|
|||
|
Fri May 7 09:54:11 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
Patch from: Nick Burrett <nick.burrett@btinternet.com>
|
|||
|
|
|||
|
* arm.c (arm_poke_function_name): New function to implement
|
|||
|
-mpoke-function-name.
|
|||
|
* aof.h (ASM_DECLARE_FUNCTION_NAME): Call it.
|
|||
|
* aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
|
|||
|
* elf.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
|
|||
|
* arm.h: Prototype it.
|
|||
|
(TARGET_SWITCHES): Add `no-poke-function-name'.
|
|||
|
|
|||
|
Fri May 7 14:19:31 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|||
|
|
|||
|
* fixinc/server.c (load_data): Cast text_size to long, adapt
|
|||
|
format.
|
|||
|
* fixinc/server.c (read_pipe_timeout): Declare volatile, modified
|
|||
|
in signal handler.
|
|||
|
(sig_handler): Add debug code.
|
|||
|
* fixinc/server.c (run_shell): Don't \-escape cd, it breaks the
|
|||
|
Ultrix V4.3 /bin/sh.
|
|||
|
* fixinc/server.c (def_args): Use static instead of STATIC to
|
|||
|
avoid redefinition error from linker iff DEBUG.
|
|||
|
|
|||
|
* fixinc/hackshell.tpl: Don't strip trailing directory from
|
|||
|
DESTDIR - that is already done
|
|||
|
|
|||
|
* fixinc/fixincl.c (run_compiles): fix memory leak
|
|||
|
|
|||
|
Thu May 6 20:34:00 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* resource.c (mark_referenced_resources): Make volatil
|
|||
|
monotonically increasing.
|
|||
|
(mark_set_resources): Likewise.
|
|||
|
|
|||
|
Thu May 6 20:02:33 1999 Fred Fish <fnf@be.com>
|
|||
|
|
|||
|
* rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined.
|
|||
|
(HAVE_PUTENV, HAVE_ATEXIT, HAVE_RENAME): Likewise.
|
|||
|
|
|||
|
Wed May 5 20:28:32 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* install.texi (Header Dirs): s/GPLUS/GPLUSPLUS/.
|
|||
|
|
|||
|
Wed May 5 23:44:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* unroll.c (copy_loop_body): Don't copy VTOP notes from copy_notes_from.
|
|||
|
|
|||
|
Wed May 5 16:26:13 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
|
|||
|
|
|||
|
* function.c (purge_addressof_replacements): Rename into
|
|||
|
purge_bitfield_addressof_replacements.
|
|||
|
(purge_addressof_replacements): New variable.
|
|||
|
(purge_addressof_1): Add code for changing addressof in notes for
|
|||
|
field values which are extracted by usage MEM with narrower mode.
|
|||
|
(purge_addressof): Initialize purge_bitfield_addressof_replacements.
|
|||
|
|
|||
|
Wed May 5 07:40:02 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
Patch from: Nick Burrett <nick.burrett@btinternet.com>
|
|||
|
* config/arm/arm.h (ARM_MCOUNT_NAME): Define.
|
|||
|
(FUNCTION_PROFILER): Remove assembler dialect dependency and use
|
|||
|
ARM_MCOUNT_NAME.
|
|||
|
(TRAMPOLINE_TEMPLATE): Remove assembler dialect dependency.
|
|||
|
|
|||
|
* config/arm/aof.h (ARM_MCOUNT_NAME): Define.
|
|||
|
|
|||
|
1999-05-05 09:58 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* gcc.c (default_compilers): Fix brace nesting bug.
|
|||
|
* objc/lang-specs.h: Use %i, not %g.mi, for the input file
|
|||
|
when processing an .mi file.
|
|||
|
|
|||
|
Tue May 4 13:17:55 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* resource.c (mark_set_resources): Handle UNSPEC_VOLATILE,
|
|||
|
ASM_INPUT, TRAP_IF, and ASM_OPERANDS just like in
|
|||
|
mark_referenced_resources.
|
|||
|
|
|||
|
Mon May 3 22:38:41 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Change non-PowerPC
|
|||
|
and AIX64 combination to warning. Add warning for disabling
|
|||
|
PowerPC64 support when using 64-bit mode.
|
|||
|
(LIB_SPEC): Do not link with libg.a in 64-bit mode.
|
|||
|
(LINK_SPEC): Do not export libg.exp symbols in 64-bit mode.
|
|||
|
* rs6000/rs6000.h (MY_ISCOFF): Treat import/export files as valid
|
|||
|
XCOFF files.
|
|||
|
(read_only_data_section, private_data_section,
|
|||
|
read_only_private_data_section): Always align CSECTs to doubleword
|
|||
|
boundary regardless of mode.
|
|||
|
(TEXT_SECTION_ASM_OP): Align text CSECT on doubleword boundary in
|
|||
|
64-bit mode.
|
|||
|
(DATA_SECTION_ASM_OP): Always align CSECT to doubleword boundary.
|
|||
|
(ASM_OUTPUT_LOCAL): Use rounded size in 64-bit mode to
|
|||
|
maintain doublword alignment.
|
|||
|
|
|||
|
Mon May 3 14:45:23 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10200.md (btst insns): btst does not leave cc0 in a usable
|
|||
|
state for redundant tst eliminatino.
|
|||
|
* mn10300.md (btst insns): Likewise.
|
|||
|
|
|||
|
Mon May 3 16:14:32 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* mips.h (Pmode): Revert Oct 14th change which added a cast.
|
|||
|
|
|||
|
Sun May 2 14:02:21 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* tree.h (struct tree_decl): Add comdat_flag.
|
|||
|
(DECL_COMDAT): Define it.
|
|||
|
* toplev.c (wrapup_global_declarations): Don't output a
|
|||
|
DECL_COMDAT function just because it's public.
|
|||
|
|
|||
|
Sun May 2 15:16:42 1999 Joseph S. Myers <jsm28@cam.ac.uk>
|
|||
|
|
|||
|
* pdp11.h (TARGET_SWITCHES): Fix error in previous change.
|
|||
|
(ASSEMBLER_DIALECT): Define.
|
|||
|
(CONDITIONAL_REGISTER_USAGE): Rename floating point registers if
|
|||
|
required for the UNIX assembler.
|
|||
|
(ASM_OUTPUT_INT): Remove. The compiler will synthesise it.
|
|||
|
(ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove.
|
|||
|
(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]".
|
|||
|
(TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT.
|
|||
|
* pdp11.c (output_addr_const_pdp11): Copy of output_addr_const
|
|||
|
adapted to output constants in octal.
|
|||
|
* pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead
|
|||
|
of output_addr_const. Output constants in octal. Use assembler
|
|||
|
dialect alternatives where DEC and UNIX assemblers use different
|
|||
|
instruction names.
|
|||
|
|
|||
|
Sun May 2 01:15:06 PDT 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Fri Apr 30 13:55:43 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.
|
|||
|
* rs6000.c (expand_builtin_saveregs): For V4, initialize a private
|
|||
|
va_list struct, and return a pointer to it.
|
|||
|
(setup_incoming_varargs): V4 save area based off virtual_stack_vars
|
|||
|
instead of frame_pointer.
|
|||
|
|
|||
|
Thu Apr 29 23:02:22 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* emit-rtl.c (start_sequence): Expand comments.
|
|||
|
(start_sequence_for_rtl_expr): Likewise.
|
|||
|
(push_to_sequence): Likewise.
|
|||
|
(end_sequence): Likewise.
|
|||
|
* expr.c (inhibit_defer_pop): Likewise.
|
|||
|
* expr.h (inhibit_defer_pop): Likewise.
|
|||
|
(NO_DEFER_POP): Likewise.
|
|||
|
(OK_DEFER_POP): Likewise.
|
|||
|
|
|||
|
Thu Apr 29 22:13:46 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* configure.in (i?86-UnixWare7*-sysv): Set thread_file to 'posix'
|
|||
|
--enable-threads[={yes,pthreads,posix}] is passed as a command
|
|||
|
line parameter to configure.
|
|||
|
* config/i386/sysv5.h (LIB_SPEC): Add support for '-pthread'.
|
|||
|
(CPP_SPEC): Likewise.
|
|||
|
|
|||
|
Thu Apr 29 17:23:59 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* emit-rtl.c (operand_subword): Religiously mask and sign-extend
|
|||
|
from 32-bits to HOST_WIDE_INT.
|
|||
|
|
|||
|
Thu Apr 29 15:58:52 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* fixinc/regex.c, fixinc/regex.h: Removed. Replace with...
|
|||
|
* fixinc/gnu-regex.c, fixinc/gnu-regex.h: Imported from GDB 4.18.
|
|||
|
* fixinc/Makefile.in (OBJ, HDR): Handle name changes from above.
|
|||
|
(gnu-regex.o): Define REGEX_MALLOC to avoid memory leak.
|
|||
|
* fixinc/fixincl.c: new regex.h header name
|
|||
|
* Makefile.in: new regex.[ch] file names
|
|||
|
|
|||
|
Thu Apr 29 12:53:33 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* calls.c (emit_call_1): Pass rounded_stack_size to emit_call
|
|||
|
instead of the unrounded size.
|
|||
|
|
|||
|
1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh: Makesure the result shell script is writable
|
|||
|
|
|||
|
Wed Apr 28 10:36:39 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.md (cmpsi+1): Use cmp.w when comparing a 16 bit
|
|||
|
constant with an address register.
|
|||
|
|
|||
|
Wed Apr 28 00:14:41 PDT 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Tue Apr 27 19:50:25 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* rtl.h (REG_EH_REGION): Update comment to indicate a value of -1
|
|||
|
indicates no throw and no nonlocal gotos.
|
|||
|
* optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value
|
|||
|
of -1 instead of 0 to indicate a nonlocal goto won't happen either.
|
|||
|
* flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall
|
|||
|
blocks, look for REG_EH_REGION note exclusively.
|
|||
|
(make_edges): Check for REG_EH_REGION > 0 for specified handlers.
|
|||
|
|
|||
|
Tue Apr 27 15:33:42 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (read_only_data_section, private_data_section,
|
|||
|
read_only_private_data_section, toc_section): Align CSECT on
|
|||
|
doubleword boundary for 64-bit target.
|
|||
|
(DATA_SECTION_ASM_OP): Likewise.
|
|||
|
* rs6000.c (rs6000_stack_info): Leaf procedure stack limit is 288.
|
|||
|
|
|||
|
Tue Apr 27 20:19:47 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (insv): Use copy_addr_to_reg.
|
|||
|
|
|||
|
* final.c (insn_lengths_max_uid): New variable.
|
|||
|
(init_insn_lengths, shorten_branches): Set it.
|
|||
|
(get_attr_lengths): Test insn uid against insn_lengths_max_uid.
|
|||
|
|
|||
|
1999-04-27 08:32 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
|
|||
|
(compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK.
|
|||
|
|
|||
|
Tue Apr 27 01:33:43 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (ORDINARY_FLAGS_TO_PASS): Renmaed from FLAGS_TO_PASS.
|
|||
|
Remove "CC".
|
|||
|
(FLAGS_TO_PASS): New variable.
|
|||
|
|
|||
|
Tue Apr 27 00:36:44 1999 Nick Burrett <nick.burrett@btinternet.com>
|
|||
|
|
|||
|
* arm.md (nop): Output instruction using output_asm_insn to fix
|
|||
|
assembler dialect problems.
|
|||
|
|
|||
|
Mon Apr 26 23:55:50 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* Makefile.in (fixinc.sh): Fix dependencies.
|
|||
|
|
|||
|
* fixinc/inclhack.def (avoid_bool): Enable match if typedefs are
|
|||
|
prepended by spaces.
|
|||
|
(sco5_stat_wrappers): New fix. Make sys/stat.h C++ safe.
|
|||
|
* fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
|
|||
|
|
|||
|
Mon Apr 26 23:28:54 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* function.c (put_var_into_stack): Change ptr_mode to Pmode
|
|||
|
in setup for chkr_set_right_libfunc calls.
|
|||
|
(assign_params): Likewise.
|
|||
|
* expr.c (emit_push_insn): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls.
|
|||
|
(expand_assignment): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
|
|||
|
(store_expr): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
|
|||
|
(expand_expr): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_check_addr_libfunc.
|
|||
|
(expand_builtin): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and
|
|||
|
chkr_check_addr_libfunc.
|
|||
|
* calls.c (rtx_for_function_call): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_check_exec_libfunc.
|
|||
|
(expand_call): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_set_right_libfunc.
|
|||
|
(expand_call): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_set_right_libfunc.
|
|||
|
(store_one_arg): Change ptr_mode to Pmode in
|
|||
|
setup for chkr_set_right_libfunc.
|
|||
|
|
|||
|
* c-parse.in (absdcl1): Allow attributes in explicit typespecs.
|
|||
|
(%expect): Update.
|
|||
|
* c-parse.y: Regenerate.
|
|||
|
* c-parse.c: Likewise.
|
|||
|
* objc/objc-parse.c: Likewise.
|
|||
|
* objc/objc-parse.y: Likewise.
|
|||
|
|
|||
|
Mon Apr 26 21:17:41 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* c-pragma.c (push_alignment): Don't ignore alignments greater than
|
|||
|
4 bytes.
|
|||
|
(handle_pragma_token): Likewise.
|
|||
|
|
|||
|
* c-pragma.c: Support for #pragma pack (push, <id>, <n>).
|
|||
|
(struct align_stack): Add id field.
|
|||
|
(push_alignment, pop_alignment): Take id parameter.
|
|||
|
(handle_pragma_token): Add necessary states.
|
|||
|
* c-pragma.h (enum pragma_state): Add necessary states.
|
|||
|
|
|||
|
Tue Apr 27 13:58:23 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (*cmpqf, *cmpqf_noov, *cmpqi_test,
|
|||
|
*cmpqi_test_noov): Remove ? modifier from constraints list.
|
|||
|
(*smulqi3_highpart_clobber, *umulqi3_highpart_clobber): Swap
|
|||
|
output strings to match new constraint ordering.
|
|||
|
|
|||
|
1999-04-26 19:16 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpphash.c (dump_definition): New function.
|
|||
|
* cpphash.h: Prototype it.
|
|||
|
|
|||
|
* cpplib.c (handle_directive): Don't output anything here.
|
|||
|
Streamline.
|
|||
|
(pass_thru_directive): Take a length, not a pointer to the
|
|||
|
end. All callers changed.
|
|||
|
(do_define): Handle -dD, -dN, -g3 entirely here. Streamline.
|
|||
|
(do_include): Handle -dI here.
|
|||
|
(do_ident): Correct to match cccp.
|
|||
|
(do_pragma): Copy the pragma through here.
|
|||
|
(do_assert, do_unassert): Tidy.
|
|||
|
|
|||
|
* cppinit.c (cpp_finish): If -dM was specified, walk the macro
|
|||
|
hash table and call dump_definition on all the entries.
|
|||
|
* cppmain.c: cpp_finish may produce output.
|
|||
|
|
|||
|
Mon Apr 26 15:27:33 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* toplev.c (compile_file): Move call to check_global_declarations
|
|||
|
after output_exception_table to restore behavior as it was before
|
|||
|
1999-04-22 change.
|
|||
|
|
|||
|
1999-04-26 10:50 -0700 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixinc/fixincl.c: Improve the handling of child process exits
|
|||
|
* fixinc/server.[ch]: Export the interface for shutting down
|
|||
|
the server process
|
|||
|
* fixinc/inclhack.tpl: Remove unnecessary character quote
|
|||
|
* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate
|
|||
|
|
|||
|
Mon Apr 26 10:41:42 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (builtin_setjmp_receiver): Use a label_ref instead of
|
|||
|
a code label.
|
|||
|
|
|||
|
1999-04-26 09:47 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* rtl.texi: Document the rtl classes and their relation to
|
|||
|
formats.
|
|||
|
|
|||
|
Mon Apr 26 01:02:38 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (fix_trunc patterns): Use reg_no_subreg_operand on op0
|
|||
|
for less work in reload.
|
|||
|
(movsf and movdf patterns): Put fp reg alternatives first.
|
|||
|
|
|||
|
Mon Apr 26 01:55:56 1999 Marc Espie <espie@cvs.openbsd.org>
|
|||
|
|
|||
|
* configure.in (openbsd): Factorize xmake_file.
|
|||
|
(ix86 openbsd): Trim obsolete comment.
|
|||
|
(vax openbsd): Fix typo.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Mon Apr 26 01:30:59 1999 Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* expr.c (expand_assignment): Improve test for pointer type.
|
|||
|
|
|||
|
Mon Apr 26 00:26:18 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (print_operand_address): Account for the subreg word.
|
|||
|
|
|||
|
Mon Apr 26 01:08:36 1999 Toshiyasu Morita (tm@netcom.com)
|
|||
|
|
|||
|
* fold-const.c (make_range): Always initialize arg0 and arg1.
|
|||
|
(fold): Similarly for alt0 and alt1.
|
|||
|
* function.c (fixup_var_refs_insns): Initialize insn_list.
|
|||
|
(instantiate_virtual_regs_1): Initialize offset.
|
|||
|
* optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
|
|||
|
and op1_xhigh.
|
|||
|
* stmt.c (expand_end_case): Initialize minval and maxval.
|
|||
|
|
|||
|
Mon Apr 26 01:02:34 1999 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* toplev.c (report_error_function): Reorder file stack and
|
|||
|
function name printing. Ignore FILE parameter.
|
|||
|
|
|||
|
Mon Apr 26 00:58:54 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
|||
|
|
|||
|
* pa.h (architecture_type): New enum.
|
|||
|
(pa_arch_string, pa_arch): Declare.
|
|||
|
(MASK_PA_10, MASK_PA_20): New flags.
|
|||
|
(TARGET_SWITCHES): Add pa-risc-2-0. Update docs for PA1.0 codegen.
|
|||
|
(TARGET_OPTIONS): Add -march= option.
|
|||
|
* pa.c (pa_arch, pa_arch_string): Define.
|
|||
|
(override_options): Set them.
|
|||
|
* pa/pa-hpux10.h (ASM_FILE_START): Output LEVEL 2.0 asm directive for
|
|||
|
2.0 architecture.
|
|||
|
* invoke.texi (Option Summary, HPPA Options): Document new
|
|||
|
architecture flags.
|
|||
|
|
|||
|
* pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux9.h, pa/pa-osf.h, pa.h,
|
|||
|
pa.c, pa.md, configure.in, configure: Replace TARGET_SNAKE by
|
|||
|
TARGET_PA_11 and MASK_SNAKE by MASK_PA_11.
|
|||
|
|
|||
|
Mon Apr 26 00:28:25 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
|||
|
|
|||
|
* flags.h (inline_max_insns): Declare.
|
|||
|
* integrate.c (inline_max_insns): New variable.
|
|||
|
(function_cannot_inline_p): Use it.
|
|||
|
* toplev.c (main): Add the flag -finline-limit-n.
|
|||
|
(display_help): Document -finline-limit-n.
|
|||
|
* invoke.texi: Document -finline-limit-n
|
|||
|
|
|||
|
Sun Apr 25 23:03:32 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* stmt.c (expand_asm_operands): Reload in-out reg-only memory operands.
|
|||
|
|
|||
|
Sun Apr 25 13:06:13 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* function.c (assign_parms/STACK_BYTES): Revert last change,
|
|||
|
and that of 19 Nov.
|
|||
|
|
|||
|
Sun Apr 25 12:30:50 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* calls.c (emit_call_1): New arg rounded_stack_size; update callers.
|
|||
|
Update pending_stack_adjust based on this value.
|
|||
|
(compute_argument_block_size): Include pending_stack_adjust in
|
|||
|
PREFERRED_STACK_BOUNDARY alignment.
|
|||
|
* function.c (assign_parms): Don't round to PREFERRED_STACK_BOUNDARY.
|
|||
|
|
|||
|
Sun Apr 25 14:38:10 EDT 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* stupid.c (stupid_mark_refs): Generate a REG_UNUSED note
|
|||
|
for a register which is clobbered even if the register
|
|||
|
was used by an earlier instruction.
|
|||
|
|
|||
|
* i386.md (fix_truncsfdi2, fix_truncdfdi2,
|
|||
|
fix_truncxfdi2): Don't bother with the gen_reg_RTX.
|
|||
|
(fix_truncsfsi2, fix_truncsfdi2, fix_truncdfsi2,
|
|||
|
fix_truncdfdi2, fix_truncxfsi2, fix_truncxfdi2): Update
|
|||
|
operand constraints and modes.
|
|||
|
* i386.c (output_fix_trunc): Use HImode register to avoid
|
|||
|
memory stalls. Call output_move_double instead of output_to_reg.
|
|||
|
(output_to_reg): Remove.
|
|||
|
* i386.h: Likewise.
|
|||
|
|
|||
|
* i386.md (negsf2, negdf2, negxf2): Set the type
|
|||
|
attribute to fpop.
|
|||
|
|
|||
|
Sat Apr 24 23:15:57 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* alpha.md (call_value_nt): Correct subscripts.
|
|||
|
|
|||
|
Sat Apr 24 20:49:20 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.h (PRINT_OPERAND_ADDRESS): Break out to ...
|
|||
|
* alpha.c (print_operand_address): here. Handle subregs.
|
|||
|
|
|||
|
Fri Apr 23 22:35:41 EDT 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* acconfig.h (HAVE_GAS_FILDS_FISTS): Add.
|
|||
|
* configure.in: Check assembler instructions.
|
|||
|
* configure: Rebuild.
|
|||
|
* config.in: Likewise.
|
|||
|
* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
|
|||
|
* i386.c (print_operand): Use the proper suffix for a 387 HImode
|
|||
|
operand. Abort if a 387 operand has an unsupported size.
|
|||
|
|
|||
|
Fri Apr 23 16:57:40 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_write_verstamp): Mark `file' unused.
|
|||
|
* alpha.h (FUNCTION_VALUE): Use gen_rtx_REG not gen_rtx.
|
|||
|
(LIBCALL_VALUE): Likewise.
|
|||
|
(GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Handle normal subregs.
|
|||
|
|
|||
|
Fri Apr 23 14:57:33 1999 Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right.
|
|||
|
|
|||
|
* alpha.c (alpha_initialize_trampoline): Add covert_memory_address
|
|||
|
calls as needed.
|
|||
|
|
|||
|
Fri Apr 23 14:36:47 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_expand_prologue): Don't negate frame size
|
|||
|
for use with subq.
|
|||
|
|
|||
|
Fri Apr 23 09:43:18 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* print-rtl.c (print_rtx): Display LABEL_NUSES for labels.
|
|||
|
|
|||
|
Thu Apr 22 23:08:37 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* toplev.h (wrapup_global_declarations): Declare.
|
|||
|
(check_global_declarations): Likewise.
|
|||
|
* toplev.c (wrapup_global_declarations): New function, split out
|
|||
|
from ...
|
|||
|
(check_global_declarations): Likewise...
|
|||
|
(compile_file): Here.
|
|||
|
|
|||
|
Thu Apr 22 22:34:41 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* c-parse.in (expr_no_commas): Verify we've an expr before
|
|||
|
calling C_SET_EXP_ORIGINAL_CODE.
|
|||
|
|
|||
|
Thu Apr 22 22:22:15 EDT 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Always set
|
|||
|
current_function_uses_only_leaf_regs appropriately.
|
|||
|
|
|||
|
Thu Apr 22 14:39:43 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/xm-cygwin.h (HAVE_BCOPY): Delete unneeded macro.
|
|||
|
(HAVE_BZERO): Likewise.
|
|||
|
(HAVE_BCMP): Likewise.
|
|||
|
(HAVE_RINDEX): Likewise.
|
|||
|
(HAVE_INDEX): Likewise.
|
|||
|
(DIR_SEPARATOR_2): Define.
|
|||
|
(GET_ENV_PATH_LIST): Turn path lists into POSIX.
|
|||
|
(PATH_SEPARATOR): Use ':'.
|
|||
|
|
|||
|
1999-04-22 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* configure.in: enable disabling of fast fixincludes
|
|||
|
* configure: regenerate
|
|||
|
|
|||
|
1999-04-21 14:55 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* gen-protos.c: #undef abort after including system.h.
|
|||
|
Delete defns of fancy_abort and fatal.
|
|||
|
* fix-header.c: Delete defn of fancy_abort.
|
|||
|
|
|||
|
Wed Apr 21 12:09:38 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* cccp.c (simplify_filename): Always preserve leading double slash.
|
|||
|
|
|||
|
Wed Apr 21 18:15:55 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md: Add new peepholes to remove redundant loads.
|
|||
|
|
|||
|
Wed Apr 21 17:41:29 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (binary patterns): Reorder alternatives
|
|||
|
so that two operand instructions are chosen before three operand
|
|||
|
instructions.
|
|||
|
|
|||
|
Tue Apr 20 23:38:58 1999 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct
|
|||
|
order.
|
|||
|
|
|||
|
* Makefile.in (c-parse.c): Put BISON parameters in correct
|
|||
|
order.
|
|||
|
|
|||
|
Tue Apr 20 16:38:11 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (nt_lda): New pattern.
|
|||
|
* alpha.c (alpha_expand_prologue): Use it for large frames
|
|||
|
under windows nt.
|
|||
|
|
|||
|
Tue Apr 20 17:57:14 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.md (movhi): Add check for odd offset.
|
|||
|
|
|||
|
Tue Apr 20 13:14:58 EDT 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.c (output_move_double): Abort if a non-offsettable
|
|||
|
memory operand is encountered. Delete unused code.
|
|||
|
(find_addr_reg): Remove.
|
|||
|
|
|||
|
Mon Apr 19 21:13:02 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
* tree.def (BLOCK): Fix typo in comment.
|
|||
|
|
|||
|
1999-04-19 14:51 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (output_line_command): Drop CONDITIONAL argument.
|
|||
|
We can omit unnecessary line commands if file_change ==
|
|||
|
same_file and pfile->lineno != 0. All callers changed.
|
|||
|
(cpp_get_token [case '\n']): Don't bump pfile->lineno if
|
|||
|
CPP_OPTIONS (pfile)->no_line_commands is set.
|
|||
|
* cpplib.h: Fix prototype of output_line_command.
|
|||
|
|
|||
|
1999-04-18 17:46 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppfiles.c (find_position, read_and_prescan): Use `unsigned
|
|||
|
long' variables consistently to count line and column numbers.
|
|||
|
|
|||
|
Sun Apr 18 15:50:33 EDT 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* output.h (current_function_is_leaf,
|
|||
|
current_function_uses_only_leaf_regs): Declare.
|
|||
|
* function.c (current_function_is_leaf,
|
|||
|
current_function_uses_only_leaf_regs): Define.
|
|||
|
(init_function_start): Initialize current_function_is_leaf
|
|||
|
and current_function_uses_only_leaf_regs.
|
|||
|
* final.c (leaf_function): Don't define.
|
|||
|
(final_start_function): Replace uses of leaf_function with
|
|||
|
current_function_uses_only_leaf_regs.
|
|||
|
* toplev.c (rest_of_compilation): Set current_function_is_leaf
|
|||
|
prior to invoking local register allocation.
|
|||
|
(rest_of_compilation): Replace uses of leaf_function with
|
|||
|
current_function_uses_only_leaf_regs.
|
|||
|
* dbxout.c (dbxout_symbol, dbxout_parms): Likewise.
|
|||
|
* dwarf2out.c (add_location_or_const_vaule_attribute): Likewise.
|
|||
|
* dwarfout.c (add_location_or_const_value_attribute): Likewise.
|
|||
|
* sdbout.c (sdbout_symbol): Likewise.
|
|||
|
* sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
|
|||
|
* sparc.c (eligible_for_epilogue_delay, output_return,
|
|||
|
sparc_return_peephole_ok): Likewise.
|
|||
|
* sparc.md (leaf_function attribute, untyped_return): Likewise.
|
|||
|
* i386.c (ix86_compute_frame_size): Don't align the stack
|
|||
|
for leaf functions which don't allocate any stack slots.
|
|||
|
* tm.texi: Update documentation.
|
|||
|
|
|||
|
Sun Apr 18 02:15:09 PDT 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Apr 18 00:08:45 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
|
|||
|
make sure FP_BASE_P registers are only used with an integer.
|
|||
|
|
|||
|
Sat Apr 17 22:54:17 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.h (REG_OK_FP_BASE_P): New macro.
|
|||
|
(GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it.
|
|||
|
* alpha.md (adddi3+1): New insn to handle large constants off
|
|||
|
the soft frame pointer.
|
|||
|
(adddi3+2): Don't split soft frame pointer or arg pointer additions.
|
|||
|
|
|||
|
Sun Apr 18 17:24:10 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (legitimize_operands): Use rtx_cost
|
|||
|
to determine if it is worthwhile forcing a constant into a register.
|
|||
|
* config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535
|
|||
|
used with a logical and or an integer value of 16 or 24 used with
|
|||
|
a right shift has zero cost on the C40.
|
|||
|
|
|||
|
Sat Apr 17 21:30:11 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* gcse.c (compute_local_properties): If setp is nonzero, clear
|
|||
|
TRANSP instead of setting it to all ones.
|
|||
|
|
|||
|
Sat Apr 17 21:10:10 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.c (i386_preferred_stack_boundary_string): New global variable.
|
|||
|
(i386_preferred_stack_boundary): New global variable.
|
|||
|
(override_functions): Set it. Tidy option setting code.
|
|||
|
* i386.h (TARGET_OPTIONS): New command line option.
|
|||
|
(i386_preferred_stack_boundary_string): Declare it.
|
|||
|
(i386_preferred_stack_boundary): Likewise.
|
|||
|
(PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary.
|
|||
|
|
|||
|
Sat Apr 17 19:22:38 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.c (k6_cost): Take into account the decoding time.
|
|||
|
|
|||
|
Sat Apr 17 19:13:22 1999 Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _.
|
|||
|
* i386.c (print_operand): New %_ operator.
|
|||
|
(load_pic_register): Proper number of leading _ in GOT literal.
|
|||
|
* i386.md (prologue_get_pc_and_set_got): Likewise.
|
|||
|
* i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise.
|
|||
|
|
|||
|
Sat Apr 17 19:13:07 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of
|
|||
|
emit_move_insn+plus_constant. For NT, don't use the stack probe
|
|||
|
loop pointer to allocate stack space.
|
|||
|
* alpha.md (adddi3): Always use lda to set the stack pointer.
|
|||
|
|
|||
|
1999-04-17 20:11 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
|
|||
|
haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
|
|||
|
toplev.h for real declaration of trim_filename.
|
|||
|
* Makefile.in: Update dependencies.
|
|||
|
|
|||
|
Sat Apr 17 14:36:19 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
* tree.c (chainon): Check for circularity only if
|
|||
|
ENABLE_CHECKING is defined.
|
|||
|
|
|||
|
1999-04-17 10:15 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cccp.c: Make fatal non-static.
|
|||
|
|
|||
|
Sat Apr 17 23:47:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber):
|
|||
|
New logical and patterns using C40 bit-field insert instructions.
|
|||
|
(*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber,
|
|||
|
*ashrqi3_16_clobber): New shift patterns using C40 bit-field insert
|
|||
|
instructions.
|
|||
|
|
|||
|
1999-04-16 22:44 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* system.h: Always prototype abort. Prototype fatal. Define
|
|||
|
abort to call fatal, not fprintf/exit. Define a stub macro
|
|||
|
for trim_filename.
|
|||
|
* toplev.c: Define DIR_SEPARATOR. (trim_filename): New
|
|||
|
function.
|
|||
|
* toplev.h: Prototype trim_filename, and #undef system.h's stub.
|
|||
|
|
|||
|
* gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
|
|||
|
genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
|
|||
|
genpeep.c, genrecog.c: Make fatal non-static.
|
|||
|
* gcov.c, gengenrtl.c, protoize.c: #undef abort after
|
|||
|
including system.h.
|
|||
|
|
|||
|
* config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
|
|||
|
relating to abort.
|
|||
|
|
|||
|
Sat Apr 17 11:25:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber):
|
|||
|
New patterns to support parallel multiply and load of zero.
|
|||
|
|
|||
|
Fri Apr 16 01:23:47 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* tree.c (valid_machine_attribute): If we're modifying the
|
|||
|
FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl,
|
|||
|
update the POINTER_TYPE.
|
|||
|
|
|||
|
Fri Apr 16 00:19:31 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.c (x86_adjust_cost): Move break statement to correct place.
|
|||
|
|
|||
|
Thu Apr 15 23:17:33 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
|||
|
|
|||
|
* pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT,
|
|||
|
HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from
|
|||
|
8000 to PROCESSOR_8000.
|
|||
|
|
|||
|
Thu Apr 15 20:46:57 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* expr.c (expand_assignment): Force pointers to proper mode if
|
|||
|
POINTERS_EXTEND_UNSIGNED is defined.
|
|||
|
|
|||
|
* xm-alpha.h (alloca.h): Add Interix to list of special machines
|
|||
|
that don't like alloca.h, pending using autoconf results.
|
|||
|
|
|||
|
* except.c (start_catch_hadler): Be sure rtime_address is Pmode
|
|||
|
if POINTERS_EXTEND_UNSIGNED.
|
|||
|
|
|||
|
* except.c (expand_eh_return): Force pointers to proper mode if
|
|||
|
POINTERS_EXTEND_UNSIGNED.
|
|||
|
|
|||
|
Thu Apr 15 23:13:35 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h: Tweaked comment formatting.
|
|||
|
* config/c4x/c4x.c: Likewise.
|
|||
|
|
|||
|
Thu Apr 15 02:45:19 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define.
|
|||
|
* configure.in: Use.
|
|||
|
* configure: Rebuilt.
|
|||
|
* acconfig.h (MKDIR_TAKES_ONE_ARG): Add.
|
|||
|
* config.in: Rebuilt.
|
|||
|
* system.h: Use.
|
|||
|
|
|||
|
Thu Apr 15 01:03:21 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
Jeff Law <law@cygnus.com>
|
|||
|
|
|||
|
* i386.md (QImode add pattern): Support lea instruction.
|
|||
|
(HImode add pattern): Likewise.
|
|||
|
|
|||
|
* i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3.
|
|||
|
(ashlqi): Use expander, separate LEA and SAL / ADD patterns; call
|
|||
|
output_ashl.
|
|||
|
(ashlhi): Likewise.
|
|||
|
* i386.h (output_ashl): Renamed from output_ashlsi3.
|
|||
|
* i386.c (output_ashl): Likewise; support HImode and QImode operands
|
|||
|
as well.
|
|||
|
|
|||
|
* i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call
|
|||
|
memory_address_displacement_length instead of memory_address_length.
|
|||
|
* i386.c (memory_address_info): Renamed from memory_address_length.
|
|||
|
Accept new argument DISP_LENGTH. All callers changed. If DISP_LENGTH,
|
|||
|
then return the displacement length. Else return length of the
|
|||
|
entire memory address. Handle MULT case correctly.
|
|||
|
* i386.h (memory_address_info): Update declaration.
|
|||
|
|
|||
|
* i386.md (memory_bit_test): Fix paren error.
|
|||
|
|
|||
|
Wed Apr 14 21:29:18 1999 Andrew Haley <aph@cygnus.com>
|
|||
|
|
|||
|
* flow.c: (make_edges): Always make edges from a basic block
|
|||
|
to its exception handlers, even if the block ends with a jump.
|
|||
|
|
|||
|
1999-04-14 23:26 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* graph.c (node_data): Return void. Ignore result of
|
|||
|
print_rtl_single. Change caller to match.
|
|||
|
* integrate.c (subst_constants): Initialize op0_mode to an
|
|||
|
invalid mode, and abort before use if it's still invalid.
|
|||
|
(Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
|
|||
|
* objc/objc-act.c (get_objc_string_decl,
|
|||
|
build_selector_translation_table, generate_protocol_list,
|
|||
|
synth_id_with_class_suffix, build_keyword_selector,
|
|||
|
build_selector_expr, gen_declarator): Abort when the tree
|
|||
|
structure is corrupted.
|
|||
|
|
|||
|
Wed Apr 14 19:57:49 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (alpha interix): Use symbolic names to set
|
|||
|
target_cpu_default.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* explow.c (allocate_dynamic_stack_space): Undo last change. Use
|
|||
|
convert_memory_address instead.
|
|||
|
|
|||
|
Wed Apr 14 19:42:02 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* alpha/lib1funcs.asm: New file.
|
|||
|
* alpha/t-interix (lib1funcs.asm): Add to build.
|
|||
|
|
|||
|
* explow.c (allocate_dynamic_stack_space): Correctly convert TARGET
|
|||
|
to Pmode.
|
|||
|
|
|||
|
Wed Apr 14 14:26:36 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (truncxfdf): Output the template supplied
|
|||
|
by output_move_double with the correct operands.
|
|||
|
|
|||
|
* i386.md (extendsfdf, extendsfxf, extenddfxf): Use
|
|||
|
output_float_extend instead specifying '#' as the template.
|
|||
|
* i386.c (output_float_extend): Define.
|
|||
|
* i386.h (output_float_extend): Declare.
|
|||
|
|
|||
|
Wed Apr 14 10:48:03 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/mips/elf.h, config/mips/elf64.h
|
|||
|
(CTORS_SECTION_ASM_OP): Define.
|
|||
|
(DTORS_SECTION_ASM_OP): Define.
|
|||
|
(EXTRA_SECTIONS): Define.
|
|||
|
(INVOKE__main): Define.
|
|||
|
(NAME__MAIN): Define.
|
|||
|
(SYMBOL__MAIN): Define.
|
|||
|
(EXTRA_SECTIONS_FUNCTIONS): Define.
|
|||
|
(SECTION_FUNCTION_TEMPLATE): Define.
|
|||
|
(ASM_OUTPUT_CONSTRUCTOR): Define.
|
|||
|
(ASM_OUTPUT_DESTRUCTOR): Define.
|
|||
|
(CTOR_LIST_BEGIN): Define.
|
|||
|
(CTOR_LIST_END): Define.
|
|||
|
(DTOR_LIST_BEGIN): Define.
|
|||
|
(DTOR_LIST_END): Define.
|
|||
|
(LIB_SPEC): Define.
|
|||
|
(STARTFILE_SPEC): Define.
|
|||
|
(ENDFILE_SPEC): Define.
|
|||
|
* config/mips/linux.h: Undefine all of the above.
|
|||
|
* config/mips/rtems64.h: Likewise.
|
|||
|
* config/mips/t-r3900: Likewise.
|
|||
|
* config/mips/t-elf: New file.
|
|||
|
* config/mips/vxworks.h: New file.
|
|||
|
* configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
|
|||
|
(mips*-*-*elf*): Use t-elf instead of t-ecoff.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
Wed Apr 14 09:59:38 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (emit_reload_insns): Also find equivalent mems
|
|||
|
for subregs of pseudos.
|
|||
|
|
|||
|
* alpha.c (aligned_memory_operand): Recognize the output of
|
|||
|
LEGITIMIZE_RELOAD_ADDRESS. Examine reg_equiv_memory_loc in
|
|||
|
the event of a pseudo.
|
|||
|
(unaligned_memory_operand): Likewise. Don't otherwise accept
|
|||
|
completely illegal addresses.
|
|||
|
(normal_memory_operand): Likewise. Handle subregs of pseudos.
|
|||
|
(get_aligned_mem): Revert previous change. Abort if we don't have a
|
|||
|
mem. During reload, call find_replacement on all illegal memories.
|
|||
|
(get_unaligned_address): Likewise.
|
|||
|
* alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand
|
|||
|
instead of unaligned_memory_operand.
|
|||
|
* alpha.md: Revert extra argument to get_aligned_mem.
|
|||
|
(reload_inqi): Use any_memory_operand in constraints. Abort if
|
|||
|
we're not given some sort of mem.
|
|||
|
(reload_inhi): Likewise.
|
|||
|
(reload_outqi, reload_outhi): Likewise.
|
|||
|
|
|||
|
Wed Apr 14 09:39:20 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.md (neghi): Use the whole register when widening the op.
|
|||
|
|
|||
|
1999-04-14 12:37 -0400 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpperror.c, cppexp.c, cpplib.c: Never call abort.
|
|||
|
* cpphash.c: Only call abort when we detect corruption of the
|
|||
|
malloc arena.
|
|||
|
* cppmain.c: Don't define fatal or fancy_abort.
|
|||
|
|
|||
|
Wed Apr 14 09:19:39 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst
|
|||
|
requires value to be ready one extra cycle.
|
|||
|
|
|||
|
Wed Apr 14 11:28:34 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* config/i386/i386.c (memory_address_length): Add missing parenthesis.
|
|||
|
|
|||
|
Wed Apr 14 13:59:27 1999 Martin von Loewis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* extend.texi (Deprecated Features): New node.
|
|||
|
* invoke.texi (-Wdeprecated): Document.
|
|||
|
|
|||
|
Wed Apr 14 00:18:22 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.md (SImode logical compare): Avoid outputing non-pariable testw
|
|||
|
and testl on Pentium.
|
|||
|
(register and memory bit tests): Likewise.
|
|||
|
(setcc, normal and reversed conditional branches): Use shorter
|
|||
|
sequence for testing flags stored in EAX.
|
|||
|
|
|||
|
* i386.md (xorsi3): Do not output NOT instrctions on Pentium.
|
|||
|
(xorqi3): Likewise.
|
|||
|
(xorhi3): Likewise.
|
|||
|
(notsi2): Likewise.
|
|||
|
(notqi2): Likewise.
|
|||
|
(nothi2): Likewise; do not output prefixed opcodes when possible.
|
|||
|
|
|||
|
* i386.md (neghi2): Do not output prefixed opcode when possible.
|
|||
|
(ashlhi3): Likewise.
|
|||
|
|
|||
|
Wed Apr 14 00:08:46 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.c (memory_address_length): New function.
|
|||
|
* i386.h (memory_address_length): Declare it.
|
|||
|
|
|||
|
Tue Apr 13 22:52:04 1999 Donn Terry (donn@interix.com)
|
|||
|
Martin Heller (Ing.-Buero_Heller@t-online.de)
|
|||
|
|
|||
|
* configure.in (interix Alpha): Add.
|
|||
|
(winnt Alpha): Use alpha32.h
|
|||
|
(interix i386): Parallel Alpha32.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* config/interix.h: Move common elements from i386-interix.h.
|
|||
|
* config/i386/i386-interix.h: Delete same.
|
|||
|
* config/alpha/alpha-interix.h: New file.
|
|||
|
|
|||
|
* config/alpha/alpha32.h: New file, part fron win-nt.h.
|
|||
|
* config/alpha/win-nt.h: Deletions (-> alpha32.h).
|
|||
|
* config/alpha/interix.h: New file
|
|||
|
|
|||
|
* config/alpha/alpha.md (interix): Comment.
|
|||
|
|
|||
|
* config/alpha/xm-alpha-interix.h: New file.
|
|||
|
|
|||
|
* config/alpha/t-interix: New file.
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh (interix/Alpha): Add.
|
|||
|
|
|||
|
1999-04-13 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks.
|
|||
|
(CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise.
|
|||
|
|
|||
|
Tue Apr 13 21:01:36 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* c-common.c (default_valid_lang_attribute): New fn.
|
|||
|
(valid_lang_attribute): New callback ptr.
|
|||
|
(decl_attributes): Call it. Move init_priority support into
|
|||
|
C++ frontend.
|
|||
|
|
|||
|
Tue Apr 13 17:47:14 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (movdi): Add splitter.
|
|||
|
|
|||
|
Wed Apr 14 10:04:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
|
|||
|
loadqf_int_clobber): Add new patterns with corresponding splitters
|
|||
|
to handle moves of floating point values into and out of intager
|
|||
|
registers by using memory.
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
|
|||
|
other than QFmode and QImode.
|
|||
|
(mixed_subreg_operand): New function.
|
|||
|
(c4x_emit_move_sequence): If moving a floating point value into or
|
|||
|
out of an integer register, use the new patterns storeqf_int_clobber
|
|||
|
or loadqf_int_clobber.
|
|||
|
(reg_imm_operand, *_reg_operand): Call reg_operand instead of
|
|||
|
register_operand.
|
|||
|
(reg_operand, src_operand): Disallow operand if it satisifes
|
|||
|
mixed_subreg_operand.
|
|||
|
|
|||
|
* config/c4x/c4x.h (mixed_subreg_operand): Add prototype.
|
|||
|
|
|||
|
Tue Apr 13 14:49:13 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.c (agi_dependent): Handle push operation more correctly.
|
|||
|
|
|||
|
Tue Apr 13 14:45:17 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.md (anddi3): Add % constraint.
|
|||
|
(iordi3, xordi3): Likewise.
|
|||
|
|
|||
|
Tue Apr 13 14:29:58 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.md (extendhisi2): Output mov instead of cw instruction for K6
|
|||
|
to improve decoding bandwidth.
|
|||
|
* i386.md (extendhiqi2): Likewise.
|
|||
|
|
|||
|
Tue Apr 13 14:26:31 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.md (movsf_push): Handle memory to memory case too, new splitter.
|
|||
|
(movdf_push, movxf_push): Likewise.
|
|||
|
(movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove.
|
|||
|
|
|||
|
Tue Apr 13 14:14:06 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* i386.md: Do not output mov %0,reg on AMD K6.
|
|||
|
|
|||
|
Tue Apr 13 12:14:07 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cppinit.c (cpp_start_read): Fix buffer overwrite.
|
|||
|
* Makefile.in (cppinit.o): Typo in dependencies.
|
|||
|
|
|||
|
Tue Apr 13 05:04:59 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.h (function prototypes for arm.c): Ifdef these out if
|
|||
|
HAVE_CONFIG_H is not defined.
|
|||
|
|
|||
|
Tue Apr 13 02:11:11 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.c: Avoid Using immediate zero for register zero.
|
|||
|
* pa.md: Likewise.
|
|||
|
|
|||
|
* pa.c (print_operand, case 'f'): New case for FP register or 0.0.
|
|||
|
(print_operand, case 'r'): Use %r0 for zero value.
|
|||
|
* pa.md (move patterns, fcmp patterns): Use new %f output arg.
|
|||
|
|
|||
|
* pa.c: Use a register name, not a raw immediate in branch,
|
|||
|
compare/clear, sub, subb, uaddcm and vshd instructions.
|
|||
|
* pa.md: Likewise.
|
|||
|
|
|||
|
* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
|
|||
|
|
|||
|
* pa.c: Use a register name, not a raw immediate in "bv" instructions.
|
|||
|
* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
|
|||
|
|
|||
|
* pa.c: Remove space register specification in memory addresses,
|
|||
|
except where it is actually needed.
|
|||
|
* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
|
|||
|
|
|||
|
Mon Apr 12 23:34:35 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Apr 12 14:58:30 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.
|
|||
|
|
|||
|
Mon Apr 12 19:15:17 1999 Daniel Jacobowitz <dan@debian.org>
|
|||
|
|
|||
|
* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash.
|
|||
|
|
|||
|
Mon Apr 12 19:11:38 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix
|
|||
|
-mno-nop-fun-dllimport and minor doc fixes.
|
|||
|
(STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0.
|
|||
|
(LINK_SPEC): Add -mconsole support.
|
|||
|
* i386/mingw32.h (LIB_SPEC): Make libraries consistent with
|
|||
|
Cygwin.
|
|||
|
(LINK_SPEC): Remove. Use Cygwin's version.
|
|||
|
(MATH_LIBRARY): Make it null.
|
|||
|
* i386/crtdll.h (MATH_LIBRARY): Likewise.
|
|||
|
|
|||
|
Fri Apr 12 15:00:52 1999 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* c-decl.c (c_decode_option, start_decl, start_function,
|
|||
|
finish_function) : Recognize -Wno-main so we can avoid warnings.
|
|||
|
|
|||
|
1999-04-12 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpphash.c (collect_expansion, macroexpand,
|
|||
|
push_macro_expansion): Make the escape character in macro
|
|||
|
buffers '\r', not '@'. Remove code to protect literal
|
|||
|
occurrences of the escape character; '\r' cannot appear
|
|||
|
in a macro buffer unless we put it there.
|
|||
|
* cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
|
|||
|
copy_rest_of_line, cpp_get_token, parse_string,
|
|||
|
parse_assertion): '\r' might be a backslash-newline marker, or
|
|||
|
it might be a macro escape marker, depending on
|
|||
|
CPP_BUFFER (pfile)->has_escapes. '@' is not a special
|
|||
|
character.
|
|||
|
* cpplib.h: Update commentary.
|
|||
|
|
|||
|
Mon Apr 12 09:30:03 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.h (target_fp_name, structure_size_string, arm_cpu_select):
|
|||
|
Const-ify.
|
|||
|
* arm.c (target_fp_name, structure_size_string): Const-ify.
|
|||
|
|
|||
|
* arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
|
|||
|
* arm.c (arm_reload_in_hi): Handle cases when the input is still
|
|||
|
a pseudo, make use of scratch registers for reloading the address
|
|||
|
as appropriate.
|
|||
|
(arm_reload_outhi): Similarly for when the output is still a pseudo.
|
|||
|
|
|||
|
* riscix.h (SUBTARGET_SWITCHES): Document.
|
|||
|
|
|||
|
1999-04-12 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixincludes:
|
|||
|
make fixincludes behave like the scripts in fixinc/
|
|||
|
|
|||
|
* Makefile.in( stmp-fixinc ):
|
|||
|
ensure the SHELL value is that of the make
|
|||
|
|
|||
|
* fixincl/inclhack.tpl:
|
|||
|
the file name lists ought to be restricted to "*.h" anyway
|
|||
|
C++ files may be named .../[a-z]++/... also
|
|||
|
Adding copyright year and attribution to output
|
|||
|
|
|||
|
* fixincl/inclhack.def:
|
|||
|
fixed broken expression
|
|||
|
Clarify a some comments
|
|||
|
|
|||
|
* fixincl/fixincl.tpl:
|
|||
|
Clarify a some comments
|
|||
|
Remove dead template text
|
|||
|
Correct the counting of regular expressions
|
|||
|
|
|||
|
Mon Apr 12 03:07:44 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (aligned_memory_operand): Handle out of range stack slots.
|
|||
|
Take a new SCRATCH argument for the occasion. Update all callers.
|
|||
|
(get_unaligned_address): Abort on out of range stack slots.
|
|||
|
* alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
|
|||
|
(reload_inqi): Check for aligned mems before unaligned.
|
|||
|
(reload_inhi): Likewise.
|
|||
|
|
|||
|
Mon Apr 12 03:11:30 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
|
|||
|
it from the nonlocal_goto_handler_labels list.
|
|||
|
* jump.c (delete_insn): Likewise.
|
|||
|
(jump_optimize_1): Also recompute LABEL_NUSES when we are just
|
|||
|
marking labels.
|
|||
|
* rtl.h (remove_node_from_expr_list): Declare.
|
|||
|
* rtlanal.c (remove_node_from_expr_list): New function.
|
|||
|
|
|||
|
Mon Apr 12 02:37:02 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* reg-stack.c: Update comment, include varray.h.
|
|||
|
(stack_regs_mentioned_data): New global variable.
|
|||
|
(check_stack_regs_mentioned): New function.
|
|||
|
(stack_regs_mentioned): New function.
|
|||
|
(reg_to_stack): Initialize and free stack_regs_mentioned_data,
|
|||
|
use stack_regs_mentioned.
|
|||
|
(record_asm_reg_life): Change insn type cache for changed insn.
|
|||
|
(record_reg_life): Do not change the insn mode.
|
|||
|
(emit_pop_insn): Likewise.
|
|||
|
(emit_swap_insn): Likewise.
|
|||
|
(move_for_stack_reg): Likewise.
|
|||
|
(stack_reg_life_analysis): Use stack_regs_mentioned.
|
|||
|
(emit_swap_insn): Likewise.
|
|||
|
(subst_stack_regs): Likewise.
|
|||
|
(convert_regs): Likewise.
|
|||
|
* jump.c (find_cross_jump): Use stack_regs_mentioned.
|
|||
|
* rtl.h (stack_regs_mentioned): Declare.
|
|||
|
|
|||
|
Mon Apr 12 00:57:10 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
|||
|
|
|||
|
* integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment.
|
|||
|
|
|||
|
Sun Apr 11 10:24:18 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* rtl.h (rtx_def): Update documentation for jump and call.
|
|||
|
|
|||
|
Sun Apr 11 07:43:44 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* jump.c (jump_optimize_1): Make the definition static to match
|
|||
|
the prototype.
|
|||
|
|
|||
|
Sat Apr 10 22:51:53 1999 Jan Hubicka <hubicka@limax.paru.cas.cz>
|
|||
|
|
|||
|
* flow.c (life_analysis): New parameter remove_dead_code.
|
|||
|
(life_analysis_1): Likewise.
|
|||
|
(propagate_block): Likewise; use it.
|
|||
|
* output.h: Update prototype.
|
|||
|
* toplev.c: Update calls to life_analysis.
|
|||
|
|
|||
|
Sat Apr 10 22:12:12 1999 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
|
|||
|
* recog.c (constrain_operands): Ignore unary operators when
|
|||
|
matching operands. Recognize '5'..'9' as well.
|
|||
|
|
|||
|
Sat Apr 10 21:53:02 1999 Philipp Thomas (kthomas@gwdg.de)
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* configure.in: Set target_cpu_default2 for target_alias k6.
|
|||
|
* i386.h (TARGET_SWITCHES): Remove no-<cpu> entries.
|
|||
|
(CC1_CPU_SPEC): Likewise.
|
|||
|
(CPP_CPU_DEFAULT_SPEC): Streamline definition. Add K6 version.
|
|||
|
(CPP_K6_SPEC): New.
|
|||
|
(CPP_CPU_SPEC): Add K6 variant.
|
|||
|
(EXTRA_SPECS): Likewise.
|
|||
|
|
|||
|
Fri Apr 9 11:29:17 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (merge_blocks_nomove): Rewrite to properly handle two
|
|||
|
blocks that vanish entirely during merging.
|
|||
|
|
|||
|
Sat Apr 10 20:09:55 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
|
|||
|
floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc,
|
|||
|
movxfcc, movdicc): Remove unused register constraints from
|
|||
|
the splitters.
|
|||
|
|
|||
|
* i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
|
|||
|
fixuns_truncxfsi2): Delete.
|
|||
|
|
|||
|
* reg-stack.c (delete_insn_for_stacker): Ensure that
|
|||
|
the only side effects of a PARALLEL are clobbers.
|
|||
|
(subst_stack_regs): Handle subst_stack_regs_pat deleting
|
|||
|
a PARALLEL.
|
|||
|
* i386.md (extendsfdf2, extenddfxf2,
|
|||
|
extendsfxf2): Rewrite using a splitter.
|
|||
|
* i386.c (output_op_from_reg): Remove.
|
|||
|
* i386.h: Likewise.
|
|||
|
|
|||
|
Sat Apr 10 13:09:18 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.c (di_operand): Allow SUBREGs as well.
|
|||
|
(soft_df_operand): Allow SUBREGs as well.
|
|||
|
|
|||
|
Sat Apr 10 06:14:31 1999 Jan Hubicka <hubicka@paru.cas.cz>
|
|||
|
|
|||
|
* extend.texi (Assembler Instructions with C Expression Operands):
|
|||
|
Document the i386 floating point operands.
|
|||
|
|
|||
|
1999-04-10 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* configure.in (*-*-vxworks): Add vxWorks thread support for all
|
|||
|
vxWorks targets.
|
|||
|
* configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sat Apr 10 06:04:50 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* i386/t-interix: Use mostly system headers unchanged.
|
|||
|
Use system assert.h
|
|||
|
* fixinc/fixinc.interix: Ditto (make almost no-op).
|
|||
|
* config/x-interix.h (_ALL_SOURCE): add -D
|
|||
|
* config/x-interix.h (crti.o): Delete dependency.
|
|||
|
* config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping.
|
|||
|
* i386/xm-i386-interix.h: New file.
|
|||
|
* i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings.
|
|||
|
* i386/i386-interix.h: Renamed from interix.h.
|
|||
|
* configure.in (interix): Use new files.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sat Apr 10 05:25:28 1999 Daniel Jacobowitz <dan@debian.org>
|
|||
|
|
|||
|
* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
|
|||
|
for -Dunix and -Dlinux, and remove duplicate definition.
|
|||
|
Change -Asystem(linux) to -Asystem(posix).
|
|||
|
(CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
|
|||
|
-DSVR4, -D__EXTENSIONS__.
|
|||
|
|
|||
|
* rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
|
|||
|
-Dlinux, -Asystem(linux), and -Asystem(unix).
|
|||
|
|
|||
|
Sat Apr 10 05:14:50 1999 Mark Elbrecht <snowball3@usa.net>
|
|||
|
|
|||
|
* i386/djgpp.h (SET_ASM_OP): Define.
|
|||
|
|
|||
|
* cccp.c (DIR_SEPARATOR): Move to the top of the file.
|
|||
|
(is_dir_separator): New function.
|
|||
|
(simplify_filename): Use it.
|
|||
|
* collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
|
|||
|
of the DIR_SEPARATOR test.
|
|||
|
Consider any file starting with a drivename to be absolute.
|
|||
|
If the absolute filename test fails and EXECUTABLE_SUFFIX is
|
|||
|
defined, append EXECUTABLE_SUFFIX to the file and try again.
|
|||
|
* cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM
|
|||
|
in place of __MSDOS__ and _WIN32.
|
|||
|
* cppfiles.c (simplify_pathname): Likewise.
|
|||
|
* gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
|
|||
|
character is a directory separator.
|
|||
|
(find_a_file): Use it.
|
|||
|
(convert_filename): Likewise.
|
|||
|
(process_command): Likewise.
|
|||
|
(do_spec_1): Likewise.
|
|||
|
(is_directory): Likewise.
|
|||
|
(main): Likewise.
|
|||
|
* prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
|
|||
|
a directory separator.
|
|||
|
(translate_name): Use it.
|
|||
|
(update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix
|
|||
|
warning in block where '/' is changed to DIR_SEPARATOR.
|
|||
|
* i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
|
|||
|
(DIR_SEPARATOR_2): New macro. Set to '\'.
|
|||
|
(HAVE_DOS_BASED_FILESYS): Define.
|
|||
|
* i386/xm-mingw32.h: Updated copyright. Set
|
|||
|
DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
|
|||
|
* i386/xm-os2.h: Likewise.
|
|||
|
* winnt/xm-winnt.h: Likewise.
|
|||
|
* i386/xm-dos.h: Likewise. Add copyright.
|
|||
|
|
|||
|
1999-04-10 Joseph S. Myers <jsm28@cam.ac.uk>
|
|||
|
|
|||
|
* pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
|
|||
|
(TARGET_DEFAULT): Possibly use UNIX syntax.
|
|||
|
(TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
|
|||
|
(REGISTER_NAMES): Use "r5" instead of "fp".
|
|||
|
(ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
|
|||
|
greater alignment.
|
|||
|
* 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
|
|||
|
syntax for 2BSD.
|
|||
|
* pdp11.c (output_ascii): Use working syntax for ".byte".
|
|||
|
(print_operand_address): Use "*" instead of "@" when using UNIX
|
|||
|
assembler syntax.
|
|||
|
|
|||
|
Sat Apr 10 03:50:12 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* rtl.h (rebuild_jump_labels): Declare.
|
|||
|
* jump.c (jump_optimize_1): Renamed from jump_optimize. Make static.
|
|||
|
Add new argument MARK_LABELS_ONLY. Quit after mark_all_labels if
|
|||
|
requested.
|
|||
|
(jump_optimize, rebuild_jump_labels): New wrapper functions for
|
|||
|
jump_optimize_1.
|
|||
|
* toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
|
|||
|
running the entire jump optimizer.
|
|||
|
|
|||
|
* rtl.h (local_alloc): Returns an integer now.
|
|||
|
* local-alloc.c (recorded_label_ref): New file scoped variable.
|
|||
|
(local_alloc): Initialize recorded_label_ref to zero. Return its
|
|||
|
value when local allocation has completed.
|
|||
|
(update_equiv_regs); If we create an equivalence for a LABEL_REF,
|
|||
|
set recorded_label_ref.
|
|||
|
* toplev.c (rest_of_compilation): Run the jump optimizer after
|
|||
|
register allocation and reloading if needed.
|
|||
|
|
|||
|
Fri Apr 9 21:02:57 1999 Krister Walfridsson (cato@df.lth.se)
|
|||
|
|
|||
|
* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo.
|
|||
|
* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
|
|||
|
|
|||
|
1999-04-09 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpphash.c (special_symbol): When expanding __LINE__, use the
|
|||
|
top file buffer, not the top buffer.
|
|||
|
|
|||
|
Fri Apr 9 13:41:04 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add
|
|||
|
cd .. to TCL_LIBRARY command.
|
|||
|
|
|||
|
Fri Apr 9 13:04:52 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if
|
|||
|
not already specified.
|
|||
|
|
|||
|
Fri Apr 9 11:18:55 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
|
|||
|
of classes, too.
|
|||
|
|
|||
|
Fri Apr 9 10:40:10 1999 Kaveh R. Ghazi <ghazi@snafu.rutgers.edu>
|
|||
|
|
|||
|
* rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
|
|||
|
rs6000_float_const, rs6000_replace_regno, debug_stack_info,
|
|||
|
rs6000_output_load_toc_table, output_prolog, output_epilog):
|
|||
|
Const-ify a char*.
|
|||
|
(output_mi_thunk): Likewise. Mark parameter `thunk_fndecl' with
|
|||
|
ATTRIBUTE_UNUSED. Hide unused variables `r0', `sp', `toc',
|
|||
|
`schain', `r12', `buf' and `labelno'.
|
|||
|
(output_ascii): Const-ify a char*.
|
|||
|
(rs6000_gen_section_name): Initialize variable `last_period'.
|
|||
|
(rs6000_adjust_priority): Mark parameter `insn' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(rs6000_trampoline_template, rs6000_dll_import_ref,
|
|||
|
rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
|
|||
|
|
|||
|
* rs6000.h (offsettable_mem_operand, optimization_options): Add
|
|||
|
prototypes.
|
|||
|
|
|||
|
* rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
|
|||
|
when comparing against one.
|
|||
|
|
|||
|
Thu Apr 8 19:20:18 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
|
|||
|
Do not try to optimize a aggregate address which has VOIDmode.
|
|||
|
Mirrors March 23 change to expand_assignment.
|
|||
|
|
|||
|
* flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU
|
|||
|
for an edge when tidying an edge which connects consecutive basic
|
|||
|
blocks.
|
|||
|
|
|||
|
* flow.c (can_delete_label_p): Do not convert a label into a
|
|||
|
deleted label here.
|
|||
|
|
|||
|
* cse.c (flush_hash_table): New function.
|
|||
|
(cse_insn): Flush the hash table when we encounter a volatile asm.
|
|||
|
(cse_basic_block): Use flush_hash_table instead of doing it
|
|||
|
inline.
|
|||
|
|
|||
|
* reload1.c (reload_cse_regs_1): Flush known register values if
|
|||
|
we encounter a volatile asm.
|
|||
|
|
|||
|
* loop.c (strength_reduce): Re-enable Joern's loop improvements.
|
|||
|
|
|||
|
Thu Apr 8 09:37:40 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.c (arm_print_operand): Undo previous change -
|
|||
|
always print large constants in decimal.
|
|||
|
|
|||
|
Thu Apr 8 10:22:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* configure.in (host_xm_file, build_xm_file): Include hwint.h.
|
|||
|
Use case statements instead of "if test -a ... -a ... -a ..."
|
|||
|
|
|||
|
* machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
|
|||
|
HOST_WIDE_INT in #ifdef.
|
|||
|
|
|||
|
* mips.h: Include hwint.h instead of providing definitions for
|
|||
|
HOST_WIDE_INT, etc. Wrap uses of HOST_WIDE_INT in #ifdef.
|
|||
|
|
|||
|
Thu Apr 8 06:16:14 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (truncdfsf2, truncxfsf2,
|
|||
|
truncxfdf2): Rewrite using a splitter.
|
|||
|
|
|||
|
Thu Apr 8 01:26:05 1999 Arg Haas (ahaas@neosoft.com)
|
|||
|
Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous
|
|||
|
else statement.
|
|||
|
* gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
|
|||
|
* linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
|
|||
|
* openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
|
|||
|
|
|||
|
Wed Apr 7 22:40:19 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* i960/i960.c (i960_function_prologue): Don't save static chain
|
|||
|
pointer.
|
|||
|
* i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12.
|
|||
|
(TRAMPOLINE_TEMPLATE): Likewise.
|
|||
|
(FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto.
|
|||
|
* i960/i960.md (nonlocal_goto): Rewrite.
|
|||
|
|
|||
|
Tue Apr 6 17:49:49 1999 Philip Blundell <pb@nexus.co.uk>
|
|||
|
|
|||
|
* config/arm/lib1funcs.asm: Test for __ELF__ not __elf__.
|
|||
|
|
|||
|
Wed Apr 7 14:07:34 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* h8300.c (h8300_adjust_insn_length): Also avoid recognizing
|
|||
|
ADDR_VEC and ADDR_DIFF_VEC insns.
|
|||
|
|
|||
|
* h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
|
|||
|
USE, CLOBBER or SEQUENCE insns.
|
|||
|
|
|||
|
* unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
|
|||
|
to account for the uncopied insn that sets cc0 at the end of the loop.
|
|||
|
|
|||
|
* unroll.c (copy_loop_body): Always ensure at least two insns
|
|||
|
are in the copied loop.
|
|||
|
|
|||
|
Wed Apr 7 14:52:18 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
|
|||
|
(UNIQUE_SECTION_P): Define.
|
|||
|
|
|||
|
1999-04-07 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixinc/inclhack.tpl & fixincl.tpl:
|
|||
|
Remove dynamic content from generated files
|
|||
|
|
|||
|
Wed Apr 7 13:16:22 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.c (output_move_memory): Remove.
|
|||
|
* i386.h: Likewise.
|
|||
|
|
|||
|
* i386.md (movsi, movhi, movstricthi, movqi, movstrictqi,
|
|||
|
movsf, movdf, movxf, movdi): Check no_new_pseudos instead
|
|||
|
of (reload_in_progress | reload_completed).
|
|||
|
|
|||
|
Wed Apr 7 03:16:45 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (reg_no_subreg_operand): New function.
|
|||
|
* alpha.h (PREDICATE_CODES): Add it.
|
|||
|
* alpha.md (floatdi?f patterns): Use it for op1.
|
|||
|
|
|||
|
* alpha.c (alpha_end_function): Don't flag weak functions.
|
|||
|
|
|||
|
Wed Apr 7 02:11:55 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
|
|||
|
copy_to_mode_reg; don't force constants into a register.
|
|||
|
|
|||
|
Tue Apr 6 22:55:25 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (compile_file): Typo flow_dump -> flow2_dump.
|
|||
|
|
|||
|
1999-04-06 Joseph S. Myers <jsm28@cam.ac.uk>
|
|||
|
|
|||
|
* pdp11.c (simple_memory_operand): Add default case in switch.
|
|||
|
* pdp11.h (TARGET_SWITCHES): Add help strings.
|
|||
|
(NOTICE_UPDATE_CC): Don't include excess argument to format.
|
|||
|
(ASM_OUTPUT_DOUBLE_INT): Remove.
|
|||
|
|
|||
|
Tue Apr 6 22:09:40 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expr.c (expand_builtin_setjmp): Put setjmp return label on
|
|||
|
nonlocal_goto_handler_labels for flow.
|
|||
|
|
|||
|
Tue Apr 6 22:05:21 1999 Jan Hubicka <hubicka@paru.cas.cz>
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (verify_flow_info): New function.
|
|||
|
(find_basic_blocks): Call it if ENABLE_CHECKING.
|
|||
|
(merge_blocks): Don't merge if there are non-deletable labels.
|
|||
|
* toplev.c (fatal_insn): Allow a printf-style arg list.
|
|||
|
* toplev.h (fatal_insn): Update prototype.
|
|||
|
|
|||
|
Tue Apr 6 16:18:58 1999 Jan Hubicka <hubicka@paru.cas.cz>
|
|||
|
|
|||
|
* flow.c (split_edge) update correctly flow graph, disable
|
|||
|
EDGE_CRITICAL flag on the split edge, update NUSES for new label.
|
|||
|
|
|||
|
Tue Apr 6 15:47:51 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
|
|||
|
Clear third and following slots, if they exist.
|
|||
|
|
|||
|
Tue Apr 6 15:45:28 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (create_basic_block): Make sure the bb note is in the block.
|
|||
|
(can_delete_note_p): Rename from delete_note_p.
|
|||
|
(delete_insn_chain): Preserve undeleteable labels too.
|
|||
|
(tidy_fallthru_edge): Use next_real_insn instead of confusing
|
|||
|
inline code.
|
|||
|
|
|||
|
1999-04-06 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppexp.c (parse_charconst): Initialize c.
|
|||
|
(cpp_parse_expr): Initialize rprio.
|
|||
|
* cppfiles.c (merge_include_chains): Initialize prev.
|
|||
|
(finclude): Set fp->line_base to fp->buf before returning.
|
|||
|
* cpphash.c (macroexpand): Initialize token.
|
|||
|
* cppspec.c (lang_specific_driver): Change suff to
|
|||
|
const char *const *.
|
|||
|
|
|||
|
1999-04-06 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppinit.c (install_predefs): Delete function.
|
|||
|
(cpp_start_read): Don't call install_predefs.
|
|||
|
(cpp_handle_option): Remove case 'u' and all refs to
|
|||
|
opts->inhibit_predefs.
|
|||
|
(print_help): Don't mention -undef.
|
|||
|
(initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
|
|||
|
match cccp.
|
|||
|
* cpplib.h (struct cpp_options): Remove inhibit_predefs
|
|||
|
member.
|
|||
|
|
|||
|
* cccp.c (predefs): Delete variable.
|
|||
|
(main): Remove case 'u' in argument parse loop,
|
|||
|
'inhibit_predefs' variable, and the code block that would
|
|||
|
process CPP_PREDEFINES.
|
|||
|
(initialize_builtins): Don't define __OBJC__, the driver will
|
|||
|
do that.
|
|||
|
|
|||
|
* gcc.c (default_compilers): Remove -undef from all specs that
|
|||
|
invoke a C preprocessor.
|
|||
|
* ch/lang-specs.h: Likewise.
|
|||
|
* cp/lang-specs.h: Likewise.
|
|||
|
* f/lang-specs.h: Likewise.
|
|||
|
* objc/lang-specs.h: Likewise.
|
|||
|
|
|||
|
Mon Apr 5 11:55:31 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch.
|
|||
|
|
|||
|
Mon Apr 5 11:51:38 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* m68k.md (movdf): Hide GPR sources & destinations from regclass.
|
|||
|
|
|||
|
Mon Apr 5 09:54:42 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Apr 5 05:55:15 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixincl.tpl: Separate "-e" from its argument, a la
|
|||
|
the Sat Apr 3 17:05:13 1999 fix.
|
|||
|
* genfixes: Ensure that the server shell is _NOT_ csh.
|
|||
|
|
|||
|
Mon Apr 5 03:52:30 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Apr 5 04:47:14 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.c (x86_double_with_add): Turn off for Pentium and PPro.
|
|||
|
(small_shift_operand, output_ashlsi3): New functions.
|
|||
|
* i386.h (small_shift_operand, output_ashlsi3): Declare.
|
|||
|
* i386.md (ashlsi3): Simplify ahlsi3 patterns. Remove splitters
|
|||
|
that are no longer needed.
|
|||
|
|
|||
|
Sun Apr 4 04:05:04 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* stmt.c (expand_loop_end): When copying the loop exit test,
|
|||
|
do not walk into a nested loop.
|
|||
|
|
|||
|
Sun Apr 4 00:14:54 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc/hackshell.tpl: Skip links to directories, to avoid
|
|||
|
removing them.
|
|||
|
* fixinc/inclhack.tpl: Likewise.
|
|||
|
* fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
|
|||
|
|
|||
|
Sat Apr 3 23:46:13 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
|
|||
|
movsi_got, movsi, movsf): Use no_new_pseudos.
|
|||
|
* rs6000.c (rs6000_got_register): Likewise.
|
|||
|
(offsettable_mem_opereand): Use || not |.
|
|||
|
|
|||
|
Sat Apr 3 22:02:56 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
|
|||
|
* config.in: Rebuilt.
|
|||
|
|
|||
|
Sat Apr 3 16:22:59 1999 Toshiyasu Morita (tm@netcom.com)
|
|||
|
|
|||
|
* gcc.texi: Add info on regmove pass.
|
|||
|
|
|||
|
* regmove.c (fixup_match_1): Consistently evaluate
|
|||
|
HAVE_POST_INCREMENT and HAVE_POST_DECREMENT.
|
|||
|
|
|||
|
Sat Apr 3 19:21:05 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep
|
|||
|
instead of test and sed to check whether they're GNU programs.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sat Apr 3 17:57:35 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* Makefile.in (install-headers-tar, install-headers-cpio): Avoid
|
|||
|
problems with CDPATH.
|
|||
|
Reported by Ralf Canis <canis@bigfoot.com>
|
|||
|
|
|||
|
Sat Apr 3 13:50:16 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc.x86-linux-gnu: Deleted.
|
|||
|
|
|||
|
Sat Apr 3 17:05:13 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* inclhack.tpl: Insert spaces between `sed -e' and '...'.
|
|||
|
Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
* fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen.
|
|||
|
|
|||
|
Sat Apr 3 14:54:46 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
* tree.def (BLOCK): Fix typo in comment.
|
|||
|
|
|||
|
Sat Apr 3 00:53:29 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
|
|||
|
floatsixf2, floatdixf2): Rewrite using a splitter.
|
|||
|
|
|||
|
Fri Apr 2 17:36:10 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.c (arm_print_operand): Print large constants in
|
|||
|
hex rather than decimal.
|
|||
|
|
|||
|
Fri Apr 2 17:23:58 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
|
|||
|
and HOST_WIDE_INT_PRINT_HEX to display constants.
|
|||
|
|
|||
|
1999-04-02 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* config/i386/i386.h: Document all TARGET_SWITCHES or add
|
|||
|
explicit null initializer.
|
|||
|
|
|||
|
* config/i386/cygwin.h: Document all SUBTARGET_SWITCHES.
|
|||
|
* config/i386/dgux.h: Likewise.
|
|||
|
* config/i386/osf1elf.h: Likewise.
|
|||
|
* config/i386/win32.h: Likewise.
|
|||
|
* config/i386/osfrose.h: Likewise. Drop obsolete -mno-ident option.
|
|||
|
|
|||
|
Fri Apr 2 17:49:44 1999 Toshiyasu Morita <tm@netcom.com>
|
|||
|
|
|||
|
* regmove.c (fixup_match_1): Remove now useless if (0).
|
|||
|
|
|||
|
Sat Apr 3 11:37:20 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
|
|||
|
USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
|
|||
|
(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
|
|||
|
USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
|
|||
|
|
|||
|
* rtl.h (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
|
|||
|
USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
|
|||
|
USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
|
|||
|
USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
|
|||
|
definition.
|
|||
|
|
|||
|
* expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
|
|||
|
USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
|
|||
|
definition.
|
|||
|
|
|||
|
Fri Apr 2 16:03:05 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
|
|||
|
* fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise.
|
|||
|
|
|||
|
Fri Apr 2 15:46:25 1999 Donn Terry (donn@interix.com)
|
|||
|
|
|||
|
* configure.in: Set and substitute quoted_cc_set_by_configure.
|
|||
|
* configure: Rebuilt.
|
|||
|
* Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``.
|
|||
|
|
|||
|
Fri Apr 2 14:35:45 1999 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead
|
|||
|
of a hardcoded path for -mno-cygwin.
|
|||
|
(mingw_include_path): New.
|
|||
|
|
|||
|
1999-04-02 Joseph S. Myers <jsm28@cam.ac.uk>
|
|||
|
|
|||
|
* pdp11.c: Include "recog.h".
|
|||
|
(output_function_prologue): Remove unused variables `nregs', `i',
|
|||
|
`offset'.
|
|||
|
(output_function_epilogue): Remove unused variables
|
|||
|
`may_call_alloca', `nregs', `regno', `adjust_fp'.
|
|||
|
(output_ascii): Mark as returning void.
|
|||
|
(print_operand_address: Likewise.
|
|||
|
(simple_memory_operand): Remove unused variables `plus0', `plus1',
|
|||
|
`offset'.
|
|||
|
* pdp11.h: Declare functions `arith_operand',
|
|||
|
`const_immediate_operand', `expand_shift_operand',
|
|||
|
`legitimate_address_p', `notice_update_cc_on_set', `output_ascii',
|
|||
|
`output_function_epilogue', `output_function_prologue',
|
|||
|
`print_operand_address', `register_move_cost',
|
|||
|
`simple_memory_operand'.
|
|||
|
(HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg.
|
|||
|
(REGNO_REG_CLASS): Likewise.
|
|||
|
* pdp11.md: Add explicit `int' to `static count' (in two places).
|
|||
|
(addhi3): Add explicit braces to avoid ambiguous else.
|
|||
|
(addqi3): Likewise.
|
|||
|
(ashlhi3): Likewise.
|
|||
|
|
|||
|
Fri Apr 2 14:17:10 1999 Jerry James <jerry@cs.ucsb.edu>
|
|||
|
|
|||
|
* gcc/invoke.texi: Add documentation for additional supported
|
|||
|
MIPS CPU types, options -mips16 and -mentry, and ABI and ISA
|
|||
|
defaults.
|
|||
|
|
|||
|
Fri Apr 2 14:12:06 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md: Delete floating point compare, add, subtract,
|
|||
|
multiply, and divide patterns which allowed integer
|
|||
|
operands.
|
|||
|
* i386.c (output_387_binary_op): Delete unused code.
|
|||
|
(output_float_compare): Likewise.
|
|||
|
|
|||
|
Fri Apr 2 11:53:37 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (movsf+1, movdf+1, movxf+1): Update constraints
|
|||
|
so that SECONDARY_MEMORY_RELOAD is used. Remove dead code.
|
|||
|
|
|||
|
1999-04-02 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh: Added support for x86-interix.
|
|||
|
* fixinc/fixinc.interix: Fixincludes script, slight changes
|
|||
|
from ./fixinc.interix. Untested (needs interix box).
|
|||
|
* fixinc/inclhack.def:
|
|||
|
Complete the change to the 'fixinc.tmp' file.
|
|||
|
Fixed regex for finding C++ headers.
|
|||
|
* fixincl.x, fixincl.sh, inclhack.sh: Regenerate.
|
|||
|
|
|||
|
Fri Apr 2 11:36:12 1999 Jan Hubicka (hubicka@paru.cas.cz)
|
|||
|
|
|||
|
* i386.c (print_operand_address, case REG): Do not use ESI addressing
|
|||
|
mode for the K6.
|
|||
|
|
|||
|
* i386.c (print_operand_address, case MULT): Use more efficient
|
|||
|
encoding (mult (reg) (const_int 2)).
|
|||
|
|
|||
|
Thu Apr 1 17:01:50 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
Move over patch from Bernd Schmidt from GC branch:
|
|||
|
* emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
|
|||
|
(gen_rtx): Call it. Tidy cases.
|
|||
|
* rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
|
|||
|
* gengenrtl.c: Add commentary.
|
|||
|
(special_rtx): Also match CONST_DOUBLE.
|
|||
|
(gencode): Emit call to memset instead of bzero.
|
|||
|
|
|||
|
Fri Apr 2 12:58:26 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
|
|||
|
into a register if shift count not constant.
|
|||
|
(ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
|
|||
|
is a register.
|
|||
|
|
|||
|
Fri Apr 2 12:19:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
|
|||
|
is non-zero.
|
|||
|
(movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
|
|||
|
register constraints.
|
|||
|
(*movhi_clobber+1): Modify splitter pattern to handle destination
|
|||
|
register that is used in the source address.
|
|||
|
(*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
|
|||
|
|
|||
|
Fri Apr 2 12:16:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h: Added more comments.
|
|||
|
|
|||
|
Fri Apr 2 11:58:22 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
|
|||
|
constants into memory if we get called directly from gen_move_insn
|
|||
|
rather than emit_move_insn.
|
|||
|
(c4x_legitimize_address): Fix up LABEL_REF addresses.
|
|||
|
|
|||
|
Thu Apr 1 12:04:05 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* expr.c (store_field): When check direct_store, assume all complex
|
|||
|
modes can be directly stored.
|
|||
|
|
|||
|
1999-04-01 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* fixinc/genfixes: New shell script that runs autogen
|
|||
|
to create the generated files.
|
|||
|
|
|||
|
1999-04-01 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* Makefile.in (cppmain$(exeext)): Depend on intl.o. Link in intl.o.
|
|||
|
|
|||
|
Thu Apr 1 03:48:34 1999 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
|
|||
|
signed integer comparisons.
|
|||
|
|
|||
|
* i386.c (output_int_conditional_move): Use "enum rtx_code" for code
|
|||
|
type.
|
|||
|
|
|||
|
* i386.c (notice_update_cc): No need to check the INT mode for
|
|||
|
conditional moves since FLOAT conditional moves don't affect cc0.
|
|||
|
|
|||
|
Thu Apr 1 02:17:18 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
|
|||
|
string to only match on hpux11.
|
|||
|
* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
|
|||
|
|
|||
|
Thu Apr 1 01:09:27 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* fixinc/hackshell.tpl: Complete transition to fixinc.tmp.
|
|||
|
* fixinc/inclhack.sh: Rebuilt.
|
|||
|
|
|||
|
* fixinc/inclhack.def: Fix typos in c_asm.h fix.
|
|||
|
* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
|
|||
|
|
|||
|
Wed Mar 31 17:20:11 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Allow dbr_schedule to write to
|
|||
|
the dump file too.
|
|||
|
|
|||
|
Wed Mar 31 12:32:43 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (find_basic_blocks): New argument `do_cleanup'.
|
|||
|
Conditionally call delete_unreachable_blocks.
|
|||
|
(free_basic_block_vars): Zero ENTRY/EXIT data.
|
|||
|
(allocate_for_life_analysis): Kill. Split into...
|
|||
|
(allocate_bb_life_data, allocate_reg_life_data): ... new functions.
|
|||
|
(life_analysis_1): Update.
|
|||
|
* gcse.c (gcse_main): Update find_basic_blocks call.
|
|||
|
* toplev.c (rest_of_compilation): Likewise.
|
|||
|
* stupid.c (stupid_life_analysis): Update life data calls.
|
|||
|
* rtl.h, output.h: Update prototypes.
|
|||
|
|
|||
|
Wed Mar 31 12:10:00 1999 Bruce Korb <ddsinc09@ix.netcom.com>
|
|||
|
|
|||
|
* inclhack.def (several): Added spaces in tests to ensure
|
|||
|
correct shell syntax. Added c_asm.h fix from fixincludes.
|
|||
|
Also corrected the corrected fix to C++ comments :-}
|
|||
|
|
|||
|
* inclhack.tpl: Changed method of traversing symlink trees
|
|||
|
so that file name matching will work correctly.
|
|||
|
|
|||
|
* fixincl.c, hackshell.tpl: Fallout from above.
|
|||
|
* fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
|
|||
|
|
|||
|
Tue Mar 30 10:43:49 1999 Philip Blundell <pb@nexus.co.uk>
|
|||
|
|
|||
|
* config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if
|
|||
|
dbxelf.h was previously included.
|
|||
|
(CPP_APCS_PC_DEFAULT_SPEC): No need to undefine.
|
|||
|
|
|||
|
* config/arm/linux-elf.h (FP_DEFAULT): Correctly override the
|
|||
|
definition from arm.h.
|
|||
|
|
|||
|
Wed Mar 31 10:33:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (c-gperf.h): Generate using gperf language 'C', not
|
|||
|
'KR-C', so gperf uses the `const' keyword on strings.
|
|||
|
|
|||
|
* c-parse.gperf (resword): Const-ify a char*.
|
|||
|
|
|||
|
Wed Mar 31 01:49:31 1999 Ian Lance Taylor <ian@zembu.com>
|
|||
|
|
|||
|
* t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
|
|||
|
|
|||
|
Wed Mar 31 00:50:48 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* system.h (STDERR_FILENO): Fix typo.
|
|||
|
|
|||
|
* inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h.
|
|||
|
* fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
|
|||
|
|
|||
|
Tue Mar 30 20:51:40 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* alias.c (alias_set_compare): Remove.
|
|||
|
(record_alias_subset): Use splay_tree_compare_ints instead of
|
|||
|
alias_set_compare.
|
|||
|
(init_alias_once): Likewise.
|
|||
|
* cse.c: Include splay-tree.h.
|
|||
|
(reg_qty): Remove.
|
|||
|
(reg_tick): Likewise.
|
|||
|
(reg_table): Likewise.
|
|||
|
(cse_reg_info): New structure.
|
|||
|
(cse_reg_info_free_list): New variable.
|
|||
|
(cse_reg_info_tree): Likewise.
|
|||
|
(cached_regno): Likewise.
|
|||
|
(cached_cse_reg_info): Likewise.
|
|||
|
(all_minus_one): Remove.
|
|||
|
(consec_ints): Likewise.
|
|||
|
(GET_CSE_REG_INFO): New macro.
|
|||
|
(REG_TICK): Likewise. Use throughout instead of reg_tick.
|
|||
|
(REG_IN_TABLE): Likewise. Use throughout instead of reg_in_table.
|
|||
|
(REG_QTY): Likewise. Use throughout instead of reg_qty.
|
|||
|
(get_cse_reg_info): New function.
|
|||
|
(free_cse_reg_info): Likewise.
|
|||
|
(new_basic_block): Reinitialize cse_reg_info_tree instead of
|
|||
|
reg_tick, all_minus_one, and consec_ints.
|
|||
|
* Makefile.in (cse.o): Depend on splay-tree.h
|
|||
|
|
|||
|
Tue Mar 30 13:19:36 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* libgcc2.c (throw_helper): Just return the SP offset, rather than
|
|||
|
a whole udata. Include args_size in the offset.
|
|||
|
(__throw, __rethrow): Adjust.
|
|||
|
|
|||
|
Tue Mar 30 11:39:27 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
* extend.texi (Extended Asm): Delete spurious `b' before
|
|||
|
`@end example', which was confusing texi2html.
|
|||
|
|
|||
|
Tue Mar 30 00:26:34 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (output_line_info): Don't emit redundant info.
|
|||
|
Do start a new row if the file changes and the line # doesn't.
|
|||
|
|
|||
|
Mon Mar 29 15:48:39 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* invoke.texi (Invoking G++, C++ Dialect Options): Update.
|
|||
|
|
|||
|
Mon Mar 29 15:05:39 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* except.c (start_dynamic_handler): Force jmp_buf address to
|
|||
|
and operand before moving to memory.
|
|||
|
|
|||
|
Mon Mar 29 15:11:10 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
* invoke.texi (Code Gen Options): Attempt to clarify
|
|||
|
-fcheck-memory-usage. Minor edits to -fprefix-function-name.
|
|||
|
|
|||
|
Mon Mar 29 20:52:47 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to
|
|||
|
end of libcall.
|
|||
|
|
|||
|
Mon Mar 29 20:35:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn.
|
|||
|
|
|||
|
Mon Mar 29 11:50:34 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
|||
|
|
|||
|
* pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
|
|||
|
class machine.
|
|||
|
(HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
|
|||
|
(HAVE_POST_DECREMENT): Likewise.
|
|||
|
|
|||
|
Mon Mar 29 08:24:43 1999 Bruce Korb <korb@datadesign.com>
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh: Fix portability problems with old shells.
|
|||
|
|
|||
|
* fixinc/README: Updated for release announcement
|
|||
|
|
|||
|
Sun Mar 28 20:26:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* recog.h (insn_outfun, insn_operand_predicate): Add prototype
|
|||
|
arguments.
|
|||
|
|
|||
|
* rtl.h (note_stores): Likewise.
|
|||
|
|
|||
|
* rtlanal.c (note_stores): Likewise.
|
|||
|
|
|||
|
Sun Mar 28 15:34:28 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* varasm.c (output_constant_pool): Always mark the constant pool.
|
|||
|
|
|||
|
Sun Mar 28 16:09:01 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
|||
|
|
|||
|
* pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity. Use
|
|||
|
shift/mem ops in pa7100LCalu.
|
|||
|
|
|||
|
* pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000.
|
|||
|
(pa_reorg): Don't call pa_combine_instructions on pa8000.
|
|||
|
|
|||
|
Sun Mar 28 15:27:26 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (reload): Remove accidental code duplication.
|
|||
|
|
|||
|
Sun Mar 28 12:22:12 1999 Robert Lipe (robertlipe@usa.net)
|
|||
|
|
|||
|
* i386/sysv5.h: New file to describe UnixWare7/SVR5.
|
|||
|
* configure.in (i?86-UnixWare7*-sysv): Use it.
|
|||
|
* i386/udk.h: Use sysv5.h. Now uses Dwarf-2.
|
|||
|
|
|||
|
Sun Mar 28 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Mar 28 00:44:27 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* sdbout.c (sdbout_symbol): Do not call build_pointer_type, build
|
|||
|
one on the fly and do not cache the result.
|
|||
|
|
|||
|
* gcc.cps, cpp.cps: Delete unwanted files.
|
|||
|
|
|||
|
Sat Mar 27 23:37:40 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (movdicc+3, movdicc+4): Rewrite using split_di.
|
|||
|
* i386.c (output_int_conditional_move): Delete unused code.
|
|||
|
|
|||
|
Sat Mar 27 21:17:36 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e.
|
|||
|
|
|||
|
Sat Mar 27 16:13:50 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (mark_used_regs): Improve handling of ASMs.
|
|||
|
|
|||
|
1999-03-26 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* Makefile.in (xcpp, cppspec.o): New targets.
|
|||
|
(CPP_INSTALL_NAME): New macro.
|
|||
|
(install-cpp): Install xcpp. Use CPP_INSTALL_NAME.
|
|||
|
(all.build, start.encap): Build xcpp.
|
|||
|
|
|||
|
* cppspec.c: New file, implements argument filtering for a
|
|||
|
user-visible C preprocessor.
|
|||
|
* cpp.sh: Removed.
|
|||
|
|
|||
|
Fri Mar 26 20:41:46 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir.
|
|||
|
|
|||
|
Fri Mar 26 16:02:37 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* configure.in (arm-*-vxworks*): Just include arm/vxarm.h.
|
|||
|
* configure: Regenerate.
|
|||
|
* config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before
|
|||
|
including arm/coff.h
|
|||
|
|
|||
|
1999-02-16 Scott Bambrough <scottb@corelcomputer.com>
|
|||
|
|
|||
|
* configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if
|
|||
|
--enable-threads[={yes,pthreads,posix}] is passed as a command
|
|||
|
line parameter to configure.
|
|||
|
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
* gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC.
|
|||
|
|
|||
|
Fri Mar 26 19:42:19 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (combine_givs): Fix index into can_combine when doing
|
|||
|
benefit adjustment for remaining givs when having combined a giv.
|
|||
|
|
|||
|
Fri Mar 26 11:38:01 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
|
|||
|
|
|||
|
Fri Mar 26 10:48:27 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/linux-elf.h: Include dbxelf.h
|
|||
|
|
|||
|
Fri Mar 26 10:43:47 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/svr4.h: Include new header file dbxelf.h.
|
|||
|
(DBX_DEBUGGING_INFO): Remove definition.
|
|||
|
(DBX_USE_BINCL): Remove definition.
|
|||
|
(DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
|
|||
|
(ASM_IDENTIFY_GCC): Remove definition.
|
|||
|
(ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
|
|||
|
(ASM_OUTPUT_SOURCE_LINE): Remove definition.
|
|||
|
(DBX_FUNCTION_FIRST): Remove definition.
|
|||
|
(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition.
|
|||
|
|
|||
|
* config/elfos.h: Include new header file dbxelf.h.
|
|||
|
(DBX_DEBUGGING_INFO): Remove definition.
|
|||
|
(DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
|
|||
|
(ASM_IDENTIFY_GCC): Remove definition.
|
|||
|
(ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
|
|||
|
(ASM_OUTPUT_SOURCE_LINE): Remove definition.
|
|||
|
(DBX_FUNCTION_FIRST): Remove definition.
|
|||
|
|
|||
|
* config/dbxelf.h: New header file.
|
|||
|
(DBX_DEBUGGING_INFO): Define.
|
|||
|
(DBX_BLOCKS_FUNCTION_RELATIVE): Define.
|
|||
|
(DBX_FUNCTION_FIRST): Define.
|
|||
|
(DBX_USE_BINCL): Define.
|
|||
|
(DBX_CONTIN_LENGTH): Define.
|
|||
|
(ASM_IDENTIFY_GCC): Define.
|
|||
|
(ASM_IDENTIFY_GCC_AFTER_SOURCE): Define.
|
|||
|
(ASM_OUTPUT_SOURCE_LINE): Define.
|
|||
|
(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
|
|||
|
|
|||
|
Fri Mar 26 01:59:15 1999 "Charles M. Hannum" <root@ihack.net>
|
|||
|
|
|||
|
* fold-const.c (fold_truthop): Optimize bitfield references with
|
|||
|
different masks as long as their size and bit position are the same.
|
|||
|
|
|||
|
* fold-const.c (fold_truthop): Build a type for both the lhs and
|
|||
|
rhs and use it appropriately.
|
|||
|
|
|||
|
* fold-const.c (fold_truthop): Mask the lhs and rhs after merging
|
|||
|
adjacent bitfield references.
|
|||
|
|
|||
|
* fold-const.c (fold_truthop): Verify that the lhs and rhs are
|
|||
|
in the same bit position when optimizing bitfield references
|
|||
|
which have the same mask.
|
|||
|
|
|||
|
Thu Mar 25 22:53:27 1999 Martin von L<>wis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* gcc.texi (Copy Assignment): New node.
|
|||
|
|
|||
|
1999-03-25 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* gcc.c: Compile unconditionally all code formerly dependent
|
|||
|
on #ifdef LANG_SPECIFIC_DRIVER.
|
|||
|
* gccspec.c: New file with stub lang_specific_driver,
|
|||
|
lang_specific_pre_link.
|
|||
|
* Makefile.in: Link gccspec.o into xgcc. Add rule to compile
|
|||
|
|
|||
|
Thu Mar 25 21:08:02 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* gcc.texi (Temporaries): Update.
|
|||
|
|
|||
|
Thu Mar 25 16:53:53 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* combine.c (distribute_notes): Place REG_LABEL also where
|
|||
|
REG_EQUAL indicates.
|
|||
|
|
|||
|
Thu Mar 25 12:46:37 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* a29k/a29k.h (TARGET_SWITCHES): Add doc strings.
|
|||
|
* i960/i960.h (TARGET_SWITCHES): Add doc strings.
|
|||
|
* invoke.texi (a29k): Add documentation for -mno-multm option.
|
|||
|
|
|||
|
Thu Mar 25 14:04:54 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
|
|||
|
* rtl.h (struct rtx_def): Update comment for frame_related field.
|
|||
|
(set_unique_reg_note): Declare prototype.
|
|||
|
* dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
|
|||
|
'dwarf2out_frame_debug' to handle only expressions, and process
|
|||
|
component parts of a PARALLEL expression.
|
|||
|
(dwarf2out_frame_debug): Process insns only, and call
|
|||
|
new function 'dwarf2out_frame_debug_expr' for patterns.
|
|||
|
* emit-rtl.c (set_unique_reg_note): New function to add a reg note,
|
|||
|
but if there is an existing one, delete it first.
|
|||
|
* expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
|
|||
|
* optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
|
|||
|
(emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
|
|||
|
(expand_fix): Use set_unique_reg_note.
|
|||
|
|
|||
|
Thu Mar 25 11:47:49 1999 Art Haas <ahaas@neosoft.com>
|
|||
|
|
|||
|
* tlink.c (symbol_hash_newfunc): Remove redundant call to
|
|||
|
hash_newfunc.
|
|||
|
(file_hash_newfunc, demangled_hash_newfunc): Likewise.
|
|||
|
|
|||
|
Thu Mar 25 10:05:56 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.h (PREFERRED_STACK_BOUNDARY): Set to 128.
|
|||
|
|
|||
|
1999-03-25 Philip Blundell <pb@nexus.co.uk>
|
|||
|
|
|||
|
Based on patch from Jim Studt <jim@federated.com>:
|
|||
|
* config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy
|
|||
|
definitions from config/linux.h.
|
|||
|
(DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1.
|
|||
|
|
|||
|
Thu Mar 25 02:12:42 1999 Finn Hakansson <finn@axis.com>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Correct a comment.
|
|||
|
|
|||
|
* rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash.
|
|||
|
|
|||
|
Thu Mar 25 02:02:13 1999 Axel Thimm <Axel.Thimm@physik.fu-berlin.de>
|
|||
|
|
|||
|
* Makefile.in (RANLIB_TEST): Improve test.
|
|||
|
|
|||
|
Thu Mar 25 01:15:33 1999 Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* combine.c (force_to_mode, case PLUS): Use sign extended mask
|
|||
|
when masking the low bits out of a constant.
|
|||
|
|
|||
|
Tue Mar 23 15:45:25 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
Jeff Law <law@cygnus.com>
|
|||
|
|
|||
|
* fold-const.c (make_range): If orig_type is unset, set it as soon
|
|||
|
as we know the type. Remove now unnecessary set of orig_type for
|
|||
|
conversions.
|
|||
|
|
|||
|
Wed Mar 24 23:27:25 1999 Mark Elbrecht <snowball3@usa.net>
|
|||
|
Jeff Law <law@cygnus.com>
|
|||
|
|
|||
|
* system.h (STDIN_FILENO): Provide default definition if one is not
|
|||
|
provided by the system header files.
|
|||
|
(STDOUT_FILENO, STDERR_FILENO): Likewise.
|
|||
|
|
|||
|
* i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
|
|||
|
* collect2.c (main): Use it.
|
|||
|
(pexecute_pid): New variable. Holds return value from call to pexecute.
|
|||
|
(collect2_execute): Rework to use pexecute instead of fork.
|
|||
|
(collect2_wait): Use pwait() instead of wait().
|
|||
|
|
|||
|
* i386/djgpp.h: Fix typo.
|
|||
|
|
|||
|
Wed Mar 24 23:24:30 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh: Recognize cygwin* instead of only
|
|||
|
cygwin32.
|
|||
|
|
|||
|
Wed Mar 24 15:44:12 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__
|
|||
|
versions of attribute names and values.
|
|||
|
(m32r_valid_machine_decl_attribute): Likewise.
|
|||
|
(m32r_encode_section_info): Likewise.
|
|||
|
|
|||
|
Wed Mar 24 21:42:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (choose_reload_regs): If output-reloading for a
|
|||
|
simple move insn, try to inherit an equivalence for the input.
|
|||
|
|
|||
|
1999-02-24 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting.
|
|||
|
|
|||
|
1999-03-24 Jim Blandy <jimb@zwingli.cygnus.com>
|
|||
|
|
|||
|
* libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
|
|||
|
platforms.
|
|||
|
|
|||
|
Wed Mar 24 01:35:01 1999 Geoff Keating <geoffk@ozemail.com.au>
|
|||
|
|
|||
|
* fold-const.c (fold): Recognize a rotate by an unsigned amount.
|
|||
|
|
|||
|
Tue Mar 23 23:32:14 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.md (rotlsi3): New expander. Synthesize a variable rotate
|
|||
|
left using a variable rotate right. Provide anonymous pattern for
|
|||
|
rotate left by a constant value.
|
|||
|
|
|||
|
* expr.c (expand_assignment): Do not try to optimize a aggregate
|
|||
|
address which has VOIDmode.
|
|||
|
|
|||
|
Tue Mar 23 22:51:48 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* protoize.c (abspath): Preserve multiple leading slashes for
|
|||
|
_WIN32 and Interix.
|
|||
|
|
|||
|
1999-01-23 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* arm/vxarm.h: Split out vxWorks support into separate headerfile
|
|||
|
and vxify.
|
|||
|
* arm/arm.c (cpu_defaults): Allow arm710 as default.
|
|||
|
|
|||
|
* configure.in: Split out vxWorks support for Arm.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Tue Mar 23 11:20:03 1999 Per Bothner <bothner@cygnus.com>
|
|||
|
|
|||
|
* tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR.
|
|||
|
|
|||
|
Tue Mar 23 09:00:39 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string.
|
|||
|
* config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string.
|
|||
|
|
|||
|
Tue Mar 23 07:50:20 1999 Mark Mitchell <mark@codesourcery.com>
|
|||
|
|
|||
|
* function.c: Include hash.h.
|
|||
|
(insns_for_mem_entry): New struct.
|
|||
|
(put_reg_into_stack): Take an optional hash-table mapping MEMs to
|
|||
|
the INSNs that use them.
|
|||
|
(fixup_var_refs): Likewise.
|
|||
|
(put_addressof_into_stack): Likewise.
|
|||
|
(purge_addressof_1): Likewise. Keep the hash-table up to date if
|
|||
|
we add new instructions.
|
|||
|
(fixup_var_refs_insns): Use it to avoid searching the entire
|
|||
|
instruction chain.
|
|||
|
(insns_for_mem_newfunc): New function.
|
|||
|
(insns_for_mem_comp): Likewise.
|
|||
|
(insns_for_mem_walk): Likewise.
|
|||
|
(compute_insns_for_mem): Likewise.
|
|||
|
(pop_function_context_from): Pass NULL for the hash-table.
|
|||
|
(put_var_into_stack): Likewise.
|
|||
|
(gen_mem_addressof): Likewise.
|
|||
|
(flush_addressof): Likewise.
|
|||
|
(purge_addressof): Call compute_insns_for_mem to pre-compute the
|
|||
|
hash table.
|
|||
|
* Makefile.in (OBJS): Include hash.o.
|
|||
|
(function.o): Depend on hash.h.
|
|||
|
|
|||
|
Tue Mar 23 00:39:14 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of
|
|||
|
numbers.
|
|||
|
* i386/netbsd.h, i386/freebsd.h: Likewise.
|
|||
|
|
|||
|
* crtstuff.c: Use ANSI function definitions. Fix minor whitespace
|
|||
|
problems.
|
|||
|
|
|||
|
* i386/openbsd.h (TARGET_DEFAULT): Define.
|
|||
|
* configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
|
|||
|
configurations.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Tue Mar 23 00:39:10 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386/freebsd.h (TARGET_DEFAULT): Define instead
|
|||
|
of TARGET_CPU_DEFAULT.
|
|||
|
* i386/netbsd.h (TARGET_DEFAULT): Likewise.
|
|||
|
|
|||
|
Mon Mar 22 23:52:01 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* sdbout.c (syms.h): Don't include on Interix.
|
|||
|
* toplev.c (main): No sbrk on Interix.
|
|||
|
|
|||
|
* configure.in: Add i386-pc-interix support.
|
|||
|
* configure: Regenerate.
|
|||
|
* fixinc.interix: New file.
|
|||
|
* config/interix.h: New file.
|
|||
|
* config/x-interix: New file.
|
|||
|
* config/xm-interix.h: New file.
|
|||
|
* i386/interix.h: New file.
|
|||
|
* i386/interix.c: New file.
|
|||
|
* i386/t-interix: New file.
|
|||
|
|
|||
|
Mon Mar 22 23:41:49 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.h (PREFERRED_STACK_BOUNDARY): Define.
|
|||
|
|
|||
|
Mon Mar 22 23:41:31 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.c (ix86_compute_frame_size): New function.
|
|||
|
(ix86_prologue, ix86_epilogue): Use it.
|
|||
|
* i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
|
|||
|
* reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
|||
|
|
|||
|
Mon Mar 22 18:06:59 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc
|
|||
|
strings.
|
|||
|
* mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise.
|
|||
|
|
|||
|
Mon Mar 22 16:18:27 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
|
|||
|
passing ATTRIBUTES to arm_valid_machine_decl_attribute.
|
|||
|
|
|||
|
* config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
|
|||
|
passing ATTRIBUTES to arm_valid_machine_decl_attribute.
|
|||
|
|
|||
|
* config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing
|
|||
|
OUTER_CODE to arm_rtx_costs - it is not used.
|
|||
|
(arm_compare_fp): Delete declaration.
|
|||
|
(FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to
|
|||
|
arm_final_prescan_insn - they are not used.
|
|||
|
(const_ok_for_op): Remove prototype.
|
|||
|
(arm_rtx_costs): Fix prototype.
|
|||
|
(arm_valid_machine_decl_attribute): Fix prototype.
|
|||
|
(final_prescan_insn): Fix prototype.
|
|||
|
|
|||
|
* config/arm/arm.md: Remove references to arm_compare_fp.
|
|||
|
|
|||
|
* config/arm/arm.c (arm_compare_fp): Delete.
|
|||
|
(const_ok_for_op): Make function static. Add prototype. Remove
|
|||
|
mode parameter - it is unused.
|
|||
|
(arm_rtx_costs): Remove outer_code parameter.
|
|||
|
(reload_memory_operand): Declare mode parameter unused.
|
|||
|
(power_of_two_operand): Declare mode parameter unused.
|
|||
|
(equality_operator): Declare mode parameter unused.
|
|||
|
(load_multiple_operation): Declare mode parameter unused.
|
|||
|
(store_multiple_operation): Declare mode parameter unused.
|
|||
|
(multi_register_push): Declare mode parameter unused.
|
|||
|
(arm_valid_machine_decl_attribute): Remove attributes parameter -
|
|||
|
it is unused.
|
|||
|
(select_dominance_cc_mode): Remove op parameter - it is unused.
|
|||
|
(gen_compare_reg): Remove fp parameter - it is unused.
|
|||
|
(final_prescan_insn): Remove opvec and noperands parameters - they
|
|||
|
are unused.
|
|||
|
|
|||
|
Mon Mar 22 14:35:28 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* tm.texi (MD_SCHED_INIT): Add missing closing parenthesis.
|
|||
|
|
|||
|
Mon Mar 22 22:24:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_as_needed): Set reload_is_output_reload /
|
|||
|
reload_has_output_reload for auto_inc expressions that could be
|
|||
|
reloaded. Call forget_old_reloads for REG_INC notes.
|
|||
|
|
|||
|
Mon Mar 22 21:51:57 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* cse.c (cse_insn): Don't change the result register of a libcall.
|
|||
|
|
|||
|
Mon Mar 22 21:08:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* rtl.h (shallow_copy_rtx): Declare.
|
|||
|
* rtl.c (shallow_copy_rtx): New function.
|
|||
|
* reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
|
|||
|
copy_rtx.
|
|||
|
|
|||
|
Mon Mar 22 10:44:33 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
|
|||
|
|
|||
|
* config/h8300/h8300.md (adjust_length): New attribute.
|
|||
|
(modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
|
|||
|
default value of attribute "adjust_length" onto "no".
|
|||
|
|
|||
|
* config/h8300/h8300.c (h8300_adjust_insn_length): Adjust
|
|||
|
length only if the attribute "adjust_length" value is "yes".
|
|||
|
Use 0 if the shift is negative.
|
|||
|
|
|||
|
* final.c (shorten_branches): Check insn length after its
|
|||
|
adjusting.
|
|||
|
|
|||
|
Sun Mar 21 17:33:48 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i860.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* i370.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* fx80.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* elxsi.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* clipper.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* 1750a.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* pa.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
(TARGET_OPTIONS): Likewise for default case.
|
|||
|
* mn10300.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
* h8300.h (TARGET_SWITCHES): Add documentation for default case.
|
|||
|
|
|||
|
* gcse.c (dump_hash_table): Fix whitespace in declaration.
|
|||
|
(compute_transpout): Renamed from pre_compute_transpout.
|
|||
|
(compute_pre_*): Deleted.
|
|||
|
(pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP. All
|
|||
|
callers changed.
|
|||
|
(insert_insn_end_bb): Renamed from pre_insert_insn.
|
|||
|
(pre_*): Delete unused variables. Only leave local properties and
|
|||
|
global redundant/optimal computation points.
|
|||
|
(alloc_pre_mem, free_pre_mem): Corresponding changes.
|
|||
|
(compute_pre_data): Simplify and call pre_lcm to run the lazy
|
|||
|
code motion dataflow analysis.
|
|||
|
(pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
|
|||
|
based redundant and optimal computation points.
|
|||
|
|
|||
|
* basic-block.h (pre_lcm, pre_rev_lcm): Declare.
|
|||
|
|
|||
|
* toplev.c (main): A debug option without a level defaults to
|
|||
|
level 2.
|
|||
|
|
|||
|
Sun Mar 21 12:13:01 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* flow.c (can_delete_label_p): Do not allow user specified
|
|||
|
labels to be deleted.
|
|||
|
* dwarf2out.c (gen_label_die): Generate addresses for deleted
|
|||
|
(programmer specified) labels.
|
|||
|
* dwarfout.c (output_label_die): Generate addresses for deleted
|
|||
|
(programmer specified) labels.
|
|||
|
|
|||
|
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
|
|||
|
linked with.
|
|||
|
|
|||
|
Sun Mar 21 01:15:03 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Mar 20 22:26:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* sparc.h (TARGET_SWITCHES): Add null description to default case.
|
|||
|
|
|||
|
Sat Mar 20 21:46:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-lex.c (yylex): Remove unused variable `bytes'.
|
|||
|
|
|||
|
* flow.c (print_rtl_with_bb): Cast the return value of alloca.
|
|||
|
|
|||
|
* function.c (assign_parms): Wrap variable `varargs_setup' in
|
|||
|
macro SETUP_INCOMING_VARARGS.
|
|||
|
(thread_prologue_and_epilogue_insns): Mark parameter `f' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* local-alloc.c (no_equiv): Likewise for parameter `store'.
|
|||
|
|
|||
|
* sched.c (schedule_insns): Remove unused variables `insn' and `next'.
|
|||
|
|
|||
|
* tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
|
|||
|
file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
|
|||
|
demangled_hash_lookup, symbol_push, symbol_pop, file_push,
|
|||
|
file_pop, tlink_init, tlink_execute, frob_extension,
|
|||
|
obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
|
|||
|
maybe_tweak, recompile_files, read_repo_files,
|
|||
|
demangle_new_symbols, scan_linker_output): Add static prototype.
|
|||
|
|
|||
|
(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
|
|||
|
Make the third argument a `hash_table_key'.
|
|||
|
|
|||
|
* toplev.c (debug_start_source_file): Mark parameter `filename'
|
|||
|
with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
Sun Mar 21 02:28:21 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* tm.texi (Varargs): Don't split argument of @item across lines.
|
|||
|
|
|||
|
* invoke.texi: Fix use of @item vs @itemx.
|
|||
|
|
|||
|
Sun Mar 21 09:59:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
|
|||
|
default case.
|
|||
|
|
|||
|
Sat Mar 20 23:33:54 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Fix debug message.
|
|||
|
|
|||
|
Sat Mar 20 15:54:35 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
|
|||
|
pattern instead of decrement_and_branch_until_zero pattern.
|
|||
|
|
|||
|
Sat Mar 20 11:39:58 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
|
|||
|
|
|||
|
Fri Mar 19 23:26:29 1999 Martin von L<>wis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* expr.c (expand_expr): Handle ERROR_MARK much earlier.
|
|||
|
|
|||
|
Fri Mar 19 15:28:38 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
|
|||
|
|
|||
|
* cppfiles.c (read_and_prescan): Likewise.
|
|||
|
Start a #define in column 0.
|
|||
|
|
|||
|
* cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
|
|||
|
(cpp_push_buffer): Likewise for cpp_buffer*.
|
|||
|
(do_include): Change the type of `fbeg' and `fend' to unsigned char*.
|
|||
|
(do_endif): Cast to char* when assigning to one.
|
|||
|
(do_assert): Likewise.
|
|||
|
(do_unassert): Likewise.
|
|||
|
(cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
|
|||
|
Don't do unnecessary cast to char* anymore.
|
|||
|
|
|||
|
* genrecog.c (make_insn_sequence): Cast to char** when assigning
|
|||
|
to one. Cast the first argument of bzero to PTR.
|
|||
|
|
|||
|
* loop.c (strength_reduce): Remove unused variable `note'.
|
|||
|
|
|||
|
* reload1.c (new_insn_chain): Cast to struct insn_chain* when
|
|||
|
assigning to one.
|
|||
|
|
|||
|
* rtl.c (copy_rtx): Use memcpy instead of bcopy.
|
|||
|
|
|||
|
Fri Mar 19 11:19:31 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* calls.c (initialize_argument_information): Mark parameters
|
|||
|
`num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* dbxout.c (dbxout_start_new_source_file): Likewise for parameter
|
|||
|
`filename'.
|
|||
|
(dbxout_finish): Likewise for parameters `file' and `filename'.
|
|||
|
(dbxout_prepare_symbol): Likewise for parameter `decl'.
|
|||
|
(dbxout_begin_function): Likewise.
|
|||
|
|
|||
|
* explow.c (hard_function_value): Likewise for parameter `func'.
|
|||
|
|
|||
|
* function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
|
|||
|
|
|||
|
* expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
|
|||
|
* expr.c (expand_expr): Likewise.
|
|||
|
* expr.h (expand_abs): Delete unused argument from prototype.
|
|||
|
* optabs.c (expand_abs): Remove unused parameter `unsignedp'.
|
|||
|
|
|||
|
* sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
|
|||
|
(sdbout_end_block): Likewise for parameter `n'.
|
|||
|
|
|||
|
* toplev.c (debug_define): Likewise for parameters `lineno' and
|
|||
|
`buffer'.
|
|||
|
(debug_undef): Likewise.
|
|||
|
|
|||
|
* varasm.c (named_section): Likewise for parameter 'reloc'.
|
|||
|
(assemble_external): Likewise for parameter `decl'.
|
|||
|
(assemble_alias): Likewise for parameter `target'.
|
|||
|
|
|||
|
Fri Mar 19 01:54:30 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
|||
|
|
|||
|
* toplev.c (read_integral_parameter): Constify. Better control of
|
|||
|
error messages.
|
|||
|
(main): Use read_integral_parameter to set optimize, id_clash_len,
|
|||
|
larger_than_size, and the debugging level.
|
|||
|
* toplev.h (read_integral_parameter): Update prototype.
|
|||
|
|
|||
|
Fri Mar 19 01:42:05 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* system.h: Use putc_unlocked, fputc_unlocked, and
|
|||
|
fputs_unlocked only if putc_unlocked has a prototype already.
|
|||
|
Prototype fputs_unlocked if necessary.
|
|||
|
* configure.in: Check for prototypes of putc_unlocked and
|
|||
|
fputs_unlocked.
|
|||
|
* acconfig.h: Updated.
|
|||
|
* config.in, configure: Rebuilt.
|
|||
|
|
|||
|
Fri Mar 19 02:45:12 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* Makefile.in (INTL_TARGETS): New macro.
|
|||
|
($(INTL_TARGETS)): Depend on generated sources; drop dependencies
|
|||
|
on cp/parse.c and objc/objc-parse.c.
|
|||
|
($(srcdir)/cp/parse.c): Move to cp/Make-lang.in.
|
|||
|
* objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c.
|
|||
|
|
|||
|
Thu Mar 18 22:28:53 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i860.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* i860/paragon.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* i370.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* fx80.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* elxsi.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* clipper.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* 1750a.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* pa.h (TARGET_SWITCHES): Add documentation.
|
|||
|
(TARGET_OPTIONS): Likewise.
|
|||
|
* mn10300.h (TARGET_SWITCHES): Add documentation.
|
|||
|
* h8300.h (TARGET_SWITCHES): Add documentation.
|
|||
|
|
|||
|
Thu Mar 18 15:58:26 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Do not perform pseudo replacements
|
|||
|
if the loop contains volatile memory references.
|
|||
|
|
|||
|
Thu Mar 18 19:09:50 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload.c (find_reloads_toplev): When processing X recursively,
|
|||
|
don't alter it destructively except by filling in constants.
|
|||
|
|
|||
|
Thu Mar 18 10:14:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c (default_include): Initialize structure members.
|
|||
|
(pass_thru_directive): Change the type of 'keyword_length' to int.
|
|||
|
(main): Cast `bindtextdomain' and `textdomain' to (void).
|
|||
|
|
|||
|
* collect2.c (main): Likewise.
|
|||
|
|
|||
|
* cppmain.c (main): Likewise.
|
|||
|
|
|||
|
* gcc.c (main): Likewise.
|
|||
|
|
|||
|
* gcov.c (main): Likewise.
|
|||
|
|
|||
|
* protoize.c (main): Likewise.
|
|||
|
|
|||
|
* toplev.c (main): Likewise.
|
|||
|
|
|||
|
1999-03-18 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.c (mips_explicit_type_size_string): Correct
|
|||
|
its type.
|
|||
|
|
|||
|
Thu Mar 18 01:24:25 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in: Use "exit 1", not "exit (1)".
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Wed Mar 17 23:17:42 1999 Mark Kettenis <kettenis@gnu.org>
|
|||
|
|
|||
|
* config/t-gnu (SYSTEM_HEADER_DIR): New variable. Set to
|
|||
|
`/include' in order to find the system's limits.h.
|
|||
|
|
|||
|
Wed Mar 17 23:00:18 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* fixinc/fixincl.c: Include auto-host.h instead of config.h.
|
|||
|
* fixinc/procopen.c: Likewise.
|
|||
|
* fixinc/regex.c: Likewise.
|
|||
|
* fixinc/server.c: Likewise.
|
|||
|
|
|||
|
Wed Mar 17 22:46:13 1999 Mark Elbrecht <snowball3@usa.net.
|
|||
|
|
|||
|
* config/i386/go32.h: Delete.
|
|||
|
* config/i386/djgpp.h: New. Renamed from go32.h.
|
|||
|
Added -DDJGPP=2 to CPP_PREDEFINES.
|
|||
|
* config/i386/go32-rtems.h: Delete.
|
|||
|
* config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
|
|||
|
Added -DDJGPP=2 to CPP_PREDEFINES.
|
|||
|
* config/i386/xm-go32.h: Delete.
|
|||
|
* config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
|
|||
|
* config/i386/x-go32: Delete.
|
|||
|
* config/i386/x-djgpp: New. Renamed from x-go32.
|
|||
|
* config/i386/t-go32: Delete.
|
|||
|
* config/i386/t-djgpp: New. Renamed from t-go32.
|
|||
|
* configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
|
|||
|
Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
|
|||
|
Set xmake_file to i386/x-djgpp.
|
|||
|
(*-go32-msdos, *-go32*): Remove entries. Warn that GO32/DJGPP V1.X
|
|||
|
is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be
|
|||
|
used instead.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* gcc.c (process_command): Dump link_command_spec too.
|
|||
|
|
|||
|
Wed Mar 17 20:38:08 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
|||
|
Jeff Law <law@cygnus.com>
|
|||
|
|
|||
|
* pa.md: Add real PA8000 scheduling information.
|
|||
|
|
|||
|
* pa.h (processor_type): Add PROCESSOR_8000 symbol.
|
|||
|
(ISSUE_RATE): Revamp, including PA8000 support.
|
|||
|
* pa.c (override_options): Add 8000 as -mschedule= option.
|
|||
|
Do not call strcmp if pa_cpu_string is null.
|
|||
|
* pa.md (attr cpu): Add 8000.
|
|||
|
* invoke.texi: Add documentation for PA8000 scheduling.
|
|||
|
|
|||
|
Wed Mar 17 18:20:24 1999 David S. Miller <davem@redhat.com>
|
|||
|
|
|||
|
* config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS):
|
|||
|
Add descriptions.
|
|||
|
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
|
|||
|
* config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise.
|
|||
|
|
|||
|
Wed Mar 17 14:51:19 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (compute_immediate_dominators): New function.
|
|||
|
* basic-block.h (compute_immediate_dominators): Declare it.
|
|||
|
|
|||
|
* alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes
|
|||
|
in FP regs.
|
|||
|
(MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs.
|
|||
|
|
|||
|
Wed Mar 17 14:41:41 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile
|
|||
|
time warning.
|
|||
|
* config/arm/arm.md: Fix various compile time warnings.
|
|||
|
* config/arm/arm.h: Fix various compile time warnings. Add
|
|||
|
function prototypes.
|
|||
|
* config/arm/arm.c: Fix various compile time warnings.
|
|||
|
(arm_override_options): Reorganize to separate tuning from
|
|||
|
targetting.
|
|||
|
(bit_count): New function: Return a count of the number of bits
|
|||
|
set in a word.
|
|||
|
|
|||
|
Wed Mar 17 21:29:12 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
|
|||
|
things that were eliminated.
|
|||
|
|
|||
|
Wed Mar 17 12:16:26 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* function.c (fixup_var_refs_1): First try moving the expression
|
|||
|
directly into a register. Don't separate cc0 setter and user.
|
|||
|
|
|||
|
Wed Mar 17 11:20:29 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already.
|
|||
|
|
|||
|
Wed Mar 17 09:25:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-lex.c: Don't include setjmp.h.
|
|||
|
(parse_float): New static function.
|
|||
|
(pf_args): New struct.
|
|||
|
(yylex): Use them in call to `do_float_handler'.
|
|||
|
|
|||
|
1999-03-16 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* cexp.y (yyerror): Call verror to get a useful error message.
|
|||
|
* cexp.c: Rebuilt.
|
|||
|
|
|||
|
* .gdbinit: Move command to put breakpoint at abort to end of file
|
|||
|
so that gdb does not bail out early.
|
|||
|
|
|||
|
Tue Mar 16 15:30:19 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* rtl.h: Rename prototype for free_bb_memory to free_bb_mem.
|
|||
|
|
|||
|
Tue Mar 16 23:40:09 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (movsi_i): Move t/r alternative after r/rI alternative.
|
|||
|
|
|||
|
Tue Mar 16 13:44:50 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
|
|||
|
Delete emit_library_call_value declaration.
|
|||
|
|
|||
|
1999-03-16 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
|
|||
|
(which cannot otherwise appear in the processed buffer) and
|
|||
|
move it out of tokens that it appears in the middle of.
|
|||
|
Improve performance.
|
|||
|
(find_position): New function.
|
|||
|
|
|||
|
* cpplib.c: \r (one character) indicates backslash
|
|||
|
newline, not \\\n (two characters). It cannot appear in the
|
|||
|
middle of a token. Call CPP_BUMP_LINE (pfile) whenever
|
|||
|
parsing moves past \n or \r. Increment pfile->lineno whenever
|
|||
|
a \n is placed into token_buffer. Only one mark can exist at
|
|||
|
a time, and CPP_BUMP_LINE must not be used while it is
|
|||
|
active. It is automatically cleared by cpp_pop_buffer and
|
|||
|
parse_goto_mark. \r is not in is_hor_space or is_space.
|
|||
|
|
|||
|
(NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
|
|||
|
update_position, count_newlines, parse_move_mark): Removed.
|
|||
|
(parse_string, copy_comment): New functions.
|
|||
|
(parse_name): Returns void.
|
|||
|
(parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
|
|||
|
one argument, a cpp_reader *. Change for new marking scheme.
|
|||
|
(skip_comment): Handle CHILL line comments too. Second
|
|||
|
argument is now first character of comment marker; all callers
|
|||
|
changed. Issue error for unterminated block comment here.
|
|||
|
(cpp_skip_hspace): Recognize CHILL comments.
|
|||
|
(copy_rest_of_line): Likewise. Call skip_comment and
|
|||
|
parse_string directly, don't go through cpp_get_token. Emit
|
|||
|
"/**/" for block comments if -traditional (create_definition
|
|||
|
needs this).
|
|||
|
(do_define): Don't play with put_out_comments.
|
|||
|
(cpp_push_buffer): Initialize ->mark to -1.
|
|||
|
(cpp_buf_line_and_col): Just read out the values in the buffer
|
|||
|
structure.
|
|||
|
(output_line_command): Use cpp_buf_line_and_col. Fix
|
|||
|
formatting. Remove stale code.
|
|||
|
(cpp_get_token): Break out string parsing code to
|
|||
|
parse_string. Use skip_comment for CHILL comments too. Use
|
|||
|
copy_comment for put_out_comments instead of dinking with
|
|||
|
marks. Remove stale code. Don't call output_line_command
|
|||
|
unless it's necessary.
|
|||
|
|
|||
|
* cpplib.h (parse_marker): Removed.
|
|||
|
(struct cpp_buffer): Line_base is now a unsigned char *; add
|
|||
|
`mark' [long], remove `marks' [struct parse_marker *].
|
|||
|
(parse_set_mark, parse_clear_mark, parse_goto_mark): Update
|
|||
|
prototypes.
|
|||
|
(CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
|
|||
|
* cppinit.c (is_hor_space, is_space): '\r' is not considered
|
|||
|
whitespace.
|
|||
|
* cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
|
|||
|
SKIP_WHITE_SPACE.
|
|||
|
* cpphash.c (macarg): Disable line commands while expanding.
|
|||
|
|
|||
|
Tue Mar 16 11:30:19 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c (yylex) : Remove warning for integer literals being
|
|||
|
larger than the largest target int. Add warning for integer
|
|||
|
literal being larger than than its chosen type.
|
|||
|
|
|||
|
Tue Mar 16 10:53:17 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* invoke.texi: Add -mlong32 documentation.
|
|||
|
* config/mips/mips.h (mips_explicit_type_size_string): New.
|
|||
|
(TARGET_SWITCHES): Add 'long32'.
|
|||
|
(TARGET_OPTIONS): Add 'explicit-type-size'.
|
|||
|
(CC1_SPECS): Set -mexplicit-type-size.
|
|||
|
(LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
|
|||
|
* config/mips/abi64.h (LONG_MAX_SPEC): Same. Add 'mabi=32'.
|
|||
|
* config/mips/mips.c (mips_explicit_type_size_string): New.
|
|||
|
(override_options): Use it.
|
|||
|
* config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
|
|||
|
|
|||
|
* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
|
|||
|
Pointer size now depends on both size longs and size of GP
|
|||
|
registers.
|
|||
|
|
|||
|
Tue Mar 16 10:22:22 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
|
|||
|
dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
|
|||
|
* config/mips/mips.c (override_options): Allow -mlong64 and
|
|||
|
-mint64 with -mips2 or less.
|
|||
|
* config/mips/mips.h (MASK_LONG64): Fix comment.
|
|||
|
(POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
|
|||
|
(Pmode): Make Pmode the smaller of longs or gp registers.
|
|||
|
* invoke.texi: Note the new size for pointers.
|
|||
|
|
|||
|
Mon Mar 15 22:45:25 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
|
|||
|
bit-pattern directly.
|
|||
|
(ASM_OUTPUT_REG_{PUSH,POP}): Delete.
|
|||
|
* rs6000.c (first_reg_to_save): If profiling and context needed,
|
|||
|
allocate a reg to save static chain for all ABIs. For AIX
|
|||
|
profiling, calculate parameter registers to save based on need.
|
|||
|
(output_function_profiler): Save and restore static chain around
|
|||
|
profile call for all ABIs.
|
|||
|
|
|||
|
1999-03-15 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppinit.c: Instead of one pending list, keep separate lists
|
|||
|
for each category of pending option: -D/-U, -A, -include,
|
|||
|
-imacros. Move the four partial include-path lists into the
|
|||
|
pending block. Use head and tail pointers so we don't ever
|
|||
|
have to reverse the lists.
|
|||
|
|
|||
|
(cpp_start_read): Break out blocks of code to their own
|
|||
|
functions: install_predefs and initialize_dependency_output.
|
|||
|
Use path_include for C_INCLUDE_PATH and friends as well as
|
|||
|
CPATH. Remove include_defaults gunk. Warn about the
|
|||
|
combination of -lang-chill and -trigraphs. Optimize string
|
|||
|
bashing. Walk each pending list once, deallocating as we go.
|
|||
|
|
|||
|
(append_include_chain): Brought over from cppfiles.c. Mark
|
|||
|
dirs as system include dirs if and only if appending to
|
|||
|
system include path. If opts->verbose, print a notice when a
|
|||
|
dir is dropped from the include path because it doesn't
|
|||
|
exist. Fix memory leak: this function is not supposed to copy
|
|||
|
its DIR argument.
|
|||
|
|
|||
|
(nreverse_pending, push_pending): Removed.
|
|||
|
(APPEND): New macro for adding to pending lists.
|
|||
|
(path_include): Can now add to any partial include path.
|
|||
|
(base_name): Bring over from cccp.c.
|
|||
|
(cpp_options_init): Allocate the pending block.
|
|||
|
(cpp_handle_option): Add --version. Exit after --help. Fix
|
|||
|
formatting. Order -ifoo options by frequency of usage.
|
|||
|
(install_predefs): New function, simplified version of code
|
|||
|
that was in cpp_start_read.
|
|||
|
(initialize_dependency_output): Likewise. Understand OBJECT_SUFFIX.
|
|||
|
|
|||
|
* cppfiles.c (simplify_pathname): Export.
|
|||
|
(merge_include_chains): Don't nreverse the lists. If
|
|||
|
opts->verbose, print a notice when a duplicate dir is detected
|
|||
|
and dropped from the include path.
|
|||
|
(finclude): Fix excessive cleverness in setting
|
|||
|
fp->system_header_p.
|
|||
|
(actual_directory): Set x->sysp from
|
|||
|
CPP_BUFFER (pfile)->system_header_p so that one system header
|
|||
|
may include another with "".
|
|||
|
(deps_output): Fix double adjustment of deps_size which would
|
|||
|
cause all dependencies after the first two lines to be lost.
|
|||
|
|
|||
|
* cpplib.c (cpp_unassert): New function.
|
|||
|
* cpplib.h: Lay out struct cpp_pending here. Adjust
|
|||
|
prototypes. Add include_prefix_len to struct cpp_options.
|
|||
|
|
|||
|
Mon Mar 15 16:01:52 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
|
|||
|
from HI/LO/HILO/MD into general registers the same as for one
|
|||
|
of moving general registers to HI/LO/HILO/MD.
|
|||
|
|
|||
|
Mon Mar 15 12:39:38 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/m32r/m32r.c (init_idents): New function. Initialize
|
|||
|
static tree nodes for m32r specific attribute identifiers. Remove
|
|||
|
leading and trailing double underscores from the attribute names.
|
|||
|
(m32r_valid_machine_decl_attribute): Call init_idents.
|
|||
|
(m32r_encode_section_info): Call init_idents.
|
|||
|
|
|||
|
Mon Mar 15 10:20:20 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* reload.c (find_reloads): Add a REG_LABEL note if we substitute a
|
|||
|
LABEL_REF for something else.
|
|||
|
|
|||
|
Mon Mar 15 08:24:17 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* fold-const.c (exact_real_inverse): Move variable `float_error'
|
|||
|
into the scope where it is used.
|
|||
|
(const_binop_1): New static function.
|
|||
|
(cb_args): New struct.
|
|||
|
(const_binop): Use them in call to `do_float_handler'.
|
|||
|
(fold_convert_1): New static function.
|
|||
|
(fc_args): New struct.
|
|||
|
(fold_convert): Use them in call to `do_float_handler'.
|
|||
|
|
|||
|
Mon Mar 15 22:50:18 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* rtlanal.c (auto_inc_p): New function.
|
|||
|
* rtl.h (auto_inc_p): Prototype it.
|
|||
|
* reload1.c (add_auto_inc_notes): New function.
|
|||
|
(reload): Strip REG_INC notes and call add_auto_inc_notes
|
|||
|
for each insn to restore them correctly.
|
|||
|
|
|||
|
1999-03-15 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* fixinc/Makefile.in (procopen.o): List the actual
|
|||
|
dependencies.
|
|||
|
|
|||
|
Sun Mar 14 16:22:10 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cse.c (check_fold_consts): New static function.
|
|||
|
(cfc_args): New struct.
|
|||
|
(simplify_relational_operation): Use them in call to
|
|||
|
`do_float_handler'.
|
|||
|
|
|||
|
* toplev.c (do_float_handler): New function to wrap calls to
|
|||
|
setjmp/set_float_handler.
|
|||
|
|
|||
|
* toplev.h (do_float_handler): Add extern prototype.
|
|||
|
|
|||
|
* tree.c (build_real_from_int_cst_1): New static function.
|
|||
|
(brfic_args): New struct.
|
|||
|
(build_real_from_int_cst): Use them in call to
|
|||
|
`do_float_handler'.
|
|||
|
|
|||
|
Sun Mar 14 01:15:06 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Mar 13 17:37:18 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
|
|||
|
|
|||
|
Sat Mar 13 11:36:16 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.c (arm_split_constant): Don't try to force a constant to
|
|||
|
memory after arm_reorg has run.
|
|||
|
(after_arm_reorg): New static variable.
|
|||
|
(arm_reorg): Set it.
|
|||
|
(output_func_epilogue): Clear it.
|
|||
|
|
|||
|
Fri Mar 12 20:26:32 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Fri Mar 12 20:45:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* unroll.c (loop_iterations): Don't return a final value for EQ
|
|||
|
comparison loops.
|
|||
|
|
|||
|
Fri Mar 12 12:35:01 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (calculate_needs_all_insns): When ignore equivalence
|
|||
|
setting insn, clear need_elim, need_reload, and need_operand_change.
|
|||
|
|
|||
|
Fri Mar 12 07:54:43 1999 Bruce Korb <korb@datadesign.com>
|
|||
|
|
|||
|
* fixinc/fixinc.*: Some changes from the fixincl-branch
|
|||
|
were not applied (??!!). Corrected.
|
|||
|
|
|||
|
* fixinc/Makefile.in: Same thing.
|
|||
|
|
|||
|
Fri Mar 12 00:51:43 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
|
|||
|
MAX_INTEGER_COMPUTATION_MODE.
|
|||
|
|
|||
|
Thu Mar 11 14:00:58 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
|
|||
|
(MODES_TIEABLE_P): Update.
|
|||
|
|
|||
|
* alpha.md (ev5_e0): Conflict loads and stores.
|
|||
|
|
|||
|
Thu Mar 11 13:55:52 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* machmode.h (smallest_mode_for_size): Prototype.
|
|||
|
* stor-layout.c (smallest_mode_for_size): Remove static.
|
|||
|
|
|||
|
Thu Mar 11 21:25:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv
|
|||
|
conversion if we don't know the lifetime.
|
|||
|
|
|||
|
Thu Mar 11 20:37:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload.1c (delete_address_reloads_1): Check for reloads of
|
|||
|
CURRENT_INSN even if it sets DST.
|
|||
|
|
|||
|
Thu Mar 11 10:29:50 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset.
|
|||
|
(print_die, size_of_die, value_format, output_die): Adjust.
|
|||
|
|
|||
|
Thu Mar 11 10:27:42 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL,
|
|||
|
DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL,
|
|||
|
text_section_label, debug_line_section_label,
|
|||
|
debug_info_section_label, abbrev_section_label): New.
|
|||
|
(output_compilation_unit_header): Emit label associated
|
|||
|
with section instead of section name itself.
|
|||
|
(out_pubnames, output_aranges, output_line_info,
|
|||
|
dwarf2out_finish): Likewise.
|
|||
|
(dwarf2out_init): Build internal label names for sections
|
|||
|
from static labels.
|
|||
|
|
|||
|
Thu Mar 11 17:28:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (mulsi3): End mul.l sequence with a no-op move.
|
|||
|
|
|||
|
Thu Mar 11 08:52:02 1999 Bruce Korb <korb@datadesign.com>
|
|||
|
|
|||
|
* Makefile.in: Activated fixinc/mkfixinc.sh.
|
|||
|
* configure.in: Activated fixinc/mkfixinc.sh.
|
|||
|
|
|||
|
Thu Mar 11 01:38:02 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* cppfiles.c (INO_T_EQ): Handle UWIN.
|
|||
|
|
|||
|
* c-common.c (decl_attributes): Flag unrecognized attribute
|
|||
|
functions as warnings instead of as errors.
|
|||
|
|
|||
|
Support for i386-pc-uwin.
|
|||
|
* i386/uwin.h: New file.
|
|||
|
* i386/xm-uwin.h: New file.
|
|||
|
* i386/t-uwin: New file.
|
|||
|
* i386/uwin.asm: New file.
|
|||
|
* configure.in (i[3456]86-*-uwin*): Define.
|
|||
|
Add Workaround for vfork bug when hosted on uwin.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
* cccp.c (INO_T_EQ): Undefine. UWIN has inodes.
|
|||
|
(absolute_filename): UWIN uses POSIX pathnames only.
|
|||
|
* libgcc2.c (getpagesize): Do not define for UWIN.
|
|||
|
(mprotect): Likewise.
|
|||
|
* protoize.c (dirent.h): Conditionally include.
|
|||
|
(fputc): Prototype only if it's not a macro.
|
|||
|
|
|||
|
Wed Mar 10 02:49:04 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* configure.in: Remove init_priority stuff.
|
|||
|
|
|||
|
1999-03-11 Colin Smith <colin@wrs.com>
|
|||
|
|
|||
|
* sdbout.c (plain_type_1): Make boolean types work better with sdb.
|
|||
|
|
|||
|
Thu Mar 11 00:20:52 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* gcc.texi: Update bug reporting instructions to match
|
|||
|
current ezmlm list reality.
|
|||
|
|
|||
|
Wed Mar 10 23:11:19 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gcc.c (print_file_name, print_prog_name, spec_machine,
|
|||
|
read_specs, set_spec, lookup_compiler, build_search_list,
|
|||
|
putenv_from_prefixes, find_a_file, record_temp_file,
|
|||
|
delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
|
|||
|
is_directory, validate_switches, used_arg, default_arg,
|
|||
|
pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
|
|||
|
notice, add_preprocessor_option, add_assembler_option,
|
|||
|
add_linker_option, process_command, execute,
|
|||
|
unused_prefix_warnings, clear_args, fatal_error,
|
|||
|
lang_specific_driver, user_specs, compiler, link_command_spec,
|
|||
|
option_map, translate_options, make_temp_file, temp_name,
|
|||
|
programname, path_prefix, machine_suffix, just_machine_suffix,
|
|||
|
gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
|
|||
|
md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
|
|||
|
standard_startfile_prefix, standard_startfile_prefix_1,
|
|||
|
standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
|
|||
|
multilib_dir, temp_filename, temp_file, command, switchstr,
|
|||
|
infile, outfiles, input_filename, input_basename, input_suffix,
|
|||
|
check_live_switch, main): Qualify a char* with the `const' keyword.
|
|||
|
|
|||
|
Wed Mar 10 20:28:29 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* lcm.c: New file.
|
|||
|
* Makefile.in (OBJS): Add lcm.o.
|
|||
|
(lcm.o): Add dependencies.
|
|||
|
|
|||
|
* gcse.c (compute_pre_local_properties): Delete.
|
|||
|
(compute_pre_data): Use compute_local_properties instead of
|
|||
|
compute_pre_local_properties.
|
|||
|
|
|||
|
* gcse.c: More comments, whitespace and similar fixes.
|
|||
|
(dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
|
|||
|
(dump_pre_data, compute_cprop_local_properties): Likewise.
|
|||
|
(one_classic_gcse_pass): Lose unused argument. All callers changed.
|
|||
|
(compute_hash_table, compute_expr_hash_table): Likewise.
|
|||
|
(compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise.
|
|||
|
(cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS.
|
|||
|
All callers changed. Only alter jumps if ALTER_JUMPS is nonzero.
|
|||
|
Lose unused argument.
|
|||
|
(gcse_main): Always run a cprop pass after finishing global cse.
|
|||
|
(compute_local_properties): New function.
|
|||
|
(hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen.
|
|||
|
(compute_cprop_data): Use compute_local_properties.
|
|||
|
|
|||
|
* gcse.c: Update various comments.
|
|||
|
(current_function_calls_longjmp): Delete declaration.
|
|||
|
|
|||
|
* gcse.c (run_jump_opt_after_gcse): New variable.
|
|||
|
(gcse_main): Returns an integer.
|
|||
|
(hash_scan_set): Record initializations from CONST_DOUBLEs too.
|
|||
|
(try_replace_reg): Update some comments.
|
|||
|
(cprop_insn): Allow propagation into some JUMP_INSNs too.
|
|||
|
* rtl.h (gcse_main): Update prototype.
|
|||
|
* toplev.c (rest_of_compilation): If gcse_main returns nonzero,
|
|||
|
then run a jump optimization pass.
|
|||
|
* jump.c (delete_barrier_successors): Delete nop jumps too.
|
|||
|
|
|||
|
Wed Mar 10 19:04:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.c (fp_arith_reg_operand): Actually test if reg is suitable
|
|||
|
for FP arithmetic. Changed caller.
|
|||
|
* sh.md (subsf3, subsf_i): Use fp_arith_reg_operand.
|
|||
|
|
|||
|
Wed Mar 10 18:56:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (choose_reload_regs): When inheriting from the frame
|
|||
|
pointer, don't clobber it.
|
|||
|
|
|||
|
Wed Mar 10 08:01:52 1999 Bruce Korb <korb@datadesign.com>
|
|||
|
|
|||
|
* fixinc/fixinc.*: Resync-ed with the files in this
|
|||
|
directory.
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh: The machine case elements were
|
|||
|
out-of-order. (the ix86-*-linux-gnu* entry needed to
|
|||
|
be earlier).
|
|||
|
|
|||
|
Wed Mar 10 00:01:24 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_combine_note_store): Fix calculation of number
|
|||
|
of affected registers.
|
|||
|
|
|||
|
Tue Mar 9 15:48:15 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (tidy_fallthru_edge): Be more careful finding the last
|
|||
|
BARRIER of a list. Delete the cc0 setter as well as a cond jump.
|
|||
|
|
|||
|
Tue Mar 9 15:26:02 1999 Hans-Peter Nilsson <hp@bitrange.com>
|
|||
|
|
|||
|
* i386.md (ashlsi3 splitter): Fix typo in last change.
|
|||
|
|
|||
|
Tue Mar 9 11:35:20 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* reg-stack.c (stack_reg_life_analysis): Use returnjump_p
|
|||
|
instead of an explicit test for RETURN.
|
|||
|
|
|||
|
Tue Mar 9 09:33:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
|
|||
|
|
|||
|
* toplev.c: Include basic-block.h.
|
|||
|
|
|||
|
Tue Mar 9 02:08:17 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* calls.c (load_register_parameters): New function.
|
|||
|
(expand_call): Use it.
|
|||
|
|
|||
|
* calls.c (expand_call): Slightly reorganize code.
|
|||
|
|
|||
|
* calls.c (compute_argument_addresses): New function.
|
|||
|
(rtx_for_function_call): New function.
|
|||
|
(expand_call): Use them.
|
|||
|
|
|||
|
* i386.md (zero_extendhisi2): Split into an expander and anonymous
|
|||
|
pattern. Add new anonymous pattern for use when optimizing for
|
|||
|
size or for the PPro.
|
|||
|
(zero_extendqihi2, zero_extendqisi2): Likewise.
|
|||
|
|
|||
|
Mon Mar 8 23:43:47 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
|
|||
|
dependencies to sets in the non-hard-reg case too.
|
|||
|
|
|||
|
Mon Mar 8 18:55:21 1999 Marc Espie <espie@cvs.openbsd.org>
|
|||
|
|
|||
|
* config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
|
|||
|
|
|||
|
Mon Mar 8 16:04:44 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* local-alloc.c (combine_regs): Don't combine if we have a hard reg
|
|||
|
for which CLASS_LIKELY_SPILLED_P is true.
|
|||
|
|
|||
|
* unroll.c (loop_iterations): Only call loop_find_equiv_value if we
|
|||
|
have a REG or SUBREG.
|
|||
|
|
|||
|
Mon Mar 8 15:27:42 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.md (ashlsi3): Revise comments. Provide new anonymous
|
|||
|
pattern for Pentium and PPro/PII. Reverse constraints in
|
|||
|
generic ashlsi3 anonymous pattern.
|
|||
|
|
|||
|
* calls.c (initialize_argument_info): Accept a pointer to
|
|||
|
CUMULATIVE_ARGS.
|
|||
|
(expand_call): Pass the address of CUMULATIVE_ARGS.
|
|||
|
|
|||
|
* rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
|
|||
|
|
|||
|
* mn10300.h (CASE_DROPS_THROUGH): Delete.
|
|||
|
* mn10200.h (CASE_DROPS_THROUGH): Delete.
|
|||
|
* h8300.h (CASE_DROPS_THROUGH): Delete.
|
|||
|
|
|||
|
* flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
|
|||
|
to also delete the cc0 setter when deleting a conditional branch
|
|||
|
to the next block.
|
|||
|
|
|||
|
Mon Mar 8 18:47:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* regmove.c (copy_src_to_dest): New argument max_old_uid.
|
|||
|
|
|||
|
Mon Mar 8 08:23:00 1999 Bruce Korb <korb@datadesign.com>
|
|||
|
|
|||
|
* ChangeLog: Merged entries from fixincl-branch.
|
|||
|
|
|||
|
Sun Mar 7 11:48:56 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
|
|||
|
(print_exp): Special case addition of a constant.
|
|||
|
(print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.
|
|||
|
|
|||
|
Sun Mar 7 11:21:02 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* haifa-sched.c (reg_last_clobbers): New.
|
|||
|
(reg_pending_clobbers, bb_reg_last_clobbers): New.
|
|||
|
(compute_block_backward_dependences): Allocate memory for them.
|
|||
|
(schedule_region): Likewise.
|
|||
|
(sched_analyze_1): Clobbers don't interfere with one another.
|
|||
|
They do interfere with sets ...
|
|||
|
(sched_analyze_2): ... and uses.
|
|||
|
(sched_analyze): Likewise.
|
|||
|
(sched_analyze_insn): Update reg_last_clobbers appropriately.
|
|||
|
|
|||
|
Sun Mar 7 08:30:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gmon-sol2.c: Include config.h and system.h. Don't redundantly
|
|||
|
include system header files.
|
|||
|
(sccsid): Remove.
|
|||
|
(moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
|
|||
|
(_mcleanup): Add the `const' keyword to a char*.
|
|||
|
(internal_mcount): Declare `etext' as a char[] not a function.
|
|||
|
Cast `etext' to char* when calling `monstartup'.
|
|||
|
|
|||
|
* sparc.c (frame_base_name, save_regs, restore_regs,
|
|||
|
build_big_number, sparc_cmodel_string, sparc_align_loops_string,
|
|||
|
sparc_align_jumps_string, sparc_align_funcs_string, code_model,
|
|||
|
cpu_default, cpu_table, output_function_prologue,
|
|||
|
output_function_epilogue, output_return,
|
|||
|
sparc_flat_output_function_prologue, ultra_code_names,
|
|||
|
sparc_flat_output_function_epilogue): Constify a char*.
|
|||
|
(hypersparc_adjust_cost): Add a default case in a switch.
|
|||
|
|
|||
|
* sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
|
|||
|
sparc_cpu_select, sparc_align_loops_string,
|
|||
|
sparc_align_jumps_string, sparc_align_funcs_string,
|
|||
|
output_return): Constify a char*.
|
|||
|
|
|||
|
* sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
|
|||
|
so that we check "== 32", instead of "!= 64". Cast a value to
|
|||
|
HOST_WIDE_INT when comparing against one. Hide the declaration
|
|||
|
for variable `chain'.
|
|||
|
|
|||
|
Sun Mar 7 08:05:27 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* system.h (const, inline): Move the stage2 handling of these
|
|||
|
keywords-as-macros from here...
|
|||
|
|
|||
|
* gansidecl.h (const, inline): ...to here.
|
|||
|
|
|||
|
Sun Mar 7 02:44:15 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
|
|||
|
|
|||
|
Sun Mar 7 01:58:47 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* cse.c (canon_hash): Never reject hard regs in CCmode.
|
|||
|
|
|||
|
Sun Mar 7 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Mar 6 17:18:44 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (make_edges): Handle casesi that jump to default branch.
|
|||
|
If CASE_DROPS_THROUGH, force fallthru to block after casesi.
|
|||
|
|
|||
|
Sat Mar 6 07:49:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-aux-info.c (data_type, affix_data_type, gen_decl,
|
|||
|
gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
|
|||
|
Qualify a char* with the `const' keyword.
|
|||
|
|
|||
|
* c-common.c (declare_hidden_char_array, add_attribute, if_elt,
|
|||
|
declare_function_name, decl_attributes, format_char_info,
|
|||
|
check_format_info, binary_op_error): Likewise.
|
|||
|
|
|||
|
* cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
|
|||
|
|
|||
|
* gcse.c (dump_hash_table): Likewise.
|
|||
|
|
|||
|
* integrate.c (function_cannot_inline_p): Likewise.
|
|||
|
|
|||
|
* optabs.c: Include insn-config.h earlier.
|
|||
|
(init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
|
|||
|
Qualify a char* with the `const' keyword.
|
|||
|
|
|||
|
* real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
|
|||
|
asctoeg, mtherr, ereal_atof): Likewise.
|
|||
|
|
|||
|
* real.h (ereal_atof): Likewise.
|
|||
|
|
|||
|
* sbitmap.c (dump_sbitmap_vector): Likewise.
|
|||
|
|
|||
|
* sbitmap.h (dump_sbitmap_vector): Likewise.
|
|||
|
|
|||
|
* stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Likewise.
|
|||
|
|
|||
|
* tree.h (function_cannot_inline_p, expand_start_case): Likewise.
|
|||
|
|
|||
|
Fri Mar 5 23:16:42 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
|
|||
|
not overwrite AIX link register save area.
|
|||
|
|
|||
|
Fri Mar 5 23:08:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload.c (find_reloads_subreg_address): Actually create the USE
|
|||
|
for the register, not the new memory location.
|
|||
|
|
|||
|
Fri Mar 5 21:41:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (emit_reload_insns): If pseudo that can't be replaced
|
|||
|
with its equivalent constant, fall back to reload_in.
|
|||
|
|
|||
|
Fri Mar 5 13:20:39 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in: Delete .flow2 debugging files.
|
|||
|
|
|||
|
Fri Mar 5 11:36:11 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.c (arm_override_options): Change default target
|
|||
|
cpu selection so that enabling TARGET_APCS_32 does not override
|
|||
|
default target CPU.
|
|||
|
|
|||
|
Fri Mar 5 19:26:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.h (SLOW_BYTE_ACCESS): Define to 1.
|
|||
|
(BOOL_TYPE_SIZE): Define.
|
|||
|
|
|||
|
Fri Mar 5 02:14:54 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* function.c (assign_stack_temp_for_type): Abort
|
|||
|
if mode == Blkmode and align is less than
|
|||
|
BIGGEST_ALIGNMENT / BITS_PER_UNIT.
|
|||
|
(assign_stack_temp_for_type): Round the size parameter
|
|||
|
passed to assign_stack_local instead of size itself.
|
|||
|
|
|||
|
Thu Mar 4 15:00:35 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (delete_unreachable_blocks): Mark blocks as they
|
|||
|
are put on to the worklist, not as they are taken off.
|
|||
|
|
|||
|
Thu Mar 4 00:05:44 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* function.c (current_function_has_computed_jump): Remove duplicate
|
|||
|
definition.
|
|||
|
|
|||
|
Wed Mar 3 19:09:11 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
|
|||
|
(STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
|
|||
|
|
|||
|
* sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
|
|||
|
MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
|
|||
|
(INIT_SUBTARGET_OPTABS): Define to empty.
|
|||
|
|
|||
|
Wed Mar 3 00:00:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.c (force_into): New function.
|
|||
|
(expand_block_move): Use it.
|
|||
|
|
|||
|
Tue Mar 2 10:39:43 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* cccp.c (struct default_include): Add 'included' field.
|
|||
|
(main): Set 'included' field when a default include directory
|
|||
|
is added to the chain. If -v is specified list all default
|
|||
|
include directories which do not get appended to the chain.
|
|||
|
|
|||
|
Tue Mar 2 09:24:10 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* configure.in (gxx_include_dir): Rename to
|
|||
|
gcc_gxx_include_dir in order to prevent it being overridden by
|
|||
|
a top level Makefile.
|
|||
|
(gcc_tooldir): If $exec_prefix != $prefix then use the
|
|||
|
difference between the two as the basis for gcc_tooldir.
|
|||
|
|
|||
|
* configure: Rebuild.
|
|||
|
|
|||
|
* Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
|
|||
|
|
|||
|
Tue Mar 2 16:45:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* unroll.c (copy_loop_body): Don't make extra copies of
|
|||
|
NOTE_INSN_LOOP_CONT notes.
|
|||
|
|
|||
|
Tue Mar 2 07:44:56 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* tree.c (save_tree_status): Don't treat functions with no context
|
|||
|
as nested.
|
|||
|
|
|||
|
Tue Mar 2 09:37:05 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* Makefile.in (MAKEINFO): Use makeinfo built from sibling
|
|||
|
tree when available.
|
|||
|
|
|||
|
Tue Mar 2 10:12:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string,
|
|||
|
alpha_fprm_string, alpha_fptm_string, alpha_mlat_string,
|
|||
|
current_function_file): Add the `const' keyword.
|
|||
|
(normal_memory_operand): Mark parameter `mode' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(alpha_expand_unaligned_load): Add a default case to a switch.
|
|||
|
|
|||
|
* alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string,
|
|||
|
alpha_tp_string, alpha_mlat_string): Add the `const' keyword.
|
|||
|
(normal_memory_operand): Add prototype.
|
|||
|
|
|||
|
* alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when
|
|||
|
comparing against one.
|
|||
|
|
|||
|
Tue Mar 2 10:00:21 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* mips.c (abort_with_insn): Make function static, add a prototype,
|
|||
|
constify 2nd parameter and mark with ATTRIBUTE_NORETURN.
|
|||
|
(current_function_file, mips_cpu_string, mips_isa_string,
|
|||
|
mips_abi_string, mips_no_mips16_string, mips_entry_string,
|
|||
|
mips_move_1word, mips_move_2words, output_block_move, load_store,
|
|||
|
override_options, make_temp_file, mips16_fp_args): Qualify a char*
|
|||
|
with the `const' keyword.
|
|||
|
|
|||
|
* mips.h (current_function_file, mips_cpu_string, mips_isa_string,
|
|||
|
mips_abi_string, mips_entry_string, mips_no_mips16_string,
|
|||
|
mips_move_1word, mips_move_2words, output_block_move): Likewise.
|
|||
|
(abort_with_insn): Remove extern prototype.
|
|||
|
|
|||
|
* mips.md: Qualify a char* with the `const' keyword.
|
|||
|
Remove many unused variables named `label'.
|
|||
|
|
|||
|
Tue Mar 2 01:27:52 1999 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New
|
|||
|
variables.
|
|||
|
(install-cpp, uninstall-cpp): New targets.
|
|||
|
(install-normal): Depend on $(INSTALL_CPP).
|
|||
|
(uninstall): Depend on $(UNINSTALL_CPP).
|
|||
|
* configure.in (cpp_install_dir): New, substitute.
|
|||
|
(tmake_file): Added t-install-cpp for --enable-cpp.
|
|||
|
* configure: Rebuilt.
|
|||
|
* cpp.sh: New cpp script.
|
|||
|
* config/t-install-cpp: New target fragment.
|
|||
|
|
|||
|
Tue Mar 2 01:40:01 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
|||
|
Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* cse.c (fold_rtx): Update comments for (const (minus (label) (label)))
|
|||
|
case.
|
|||
|
(cse_insn): Avoid creating a bogus REG_EQUAL note for
|
|||
|
(const (minus (label) (label)))
|
|||
|
(record_jump_cond): Fix mismatched paren in comment.
|
|||
|
|
|||
|
Tue Mar 2 01:07:12 1999 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
|
|||
|
|
|||
|
* final.c (end_final): There are 11 words in the "main header"
|
|||
|
structure, not 10.
|
|||
|
|
|||
|
Tue Mar 2 00:09:18 1999 Marc Espie <espie@cvs.openbsd.org>
|
|||
|
|
|||
|
* extend.texi: Reference __extension__ in the index.
|
|||
|
|
|||
|
Mon Mar 1 19:09:32 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (CROSS_FLOAT_H): Delete.
|
|||
|
(FLOAT_H): Use float_h_file.
|
|||
|
(rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
|
|||
|
(gfloat.h): Delete.
|
|||
|
(stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
|
|||
|
(mostlyclean): Delete gloat.h reference.
|
|||
|
(install-cross-rest, install-float-h-cross, stmp-headers): Update
|
|||
|
comments.
|
|||
|
* configure.in (sparcv9-*-solaris2*): Set float_format to none.
|
|||
|
(sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
|
|||
|
(float_h_file): Set from float_format. Substitute into Makefile.in.
|
|||
|
(float_format): No longer substitute into Makefile.in.
|
|||
|
* cross-make (FLOAT_H): Delete.
|
|||
|
* config/mips/t-cross64 (FLOAT_H): Delete.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Mon Mar 1 16:36:18 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mips.md (div_trap_normal, div_trap_mips16): Require the dependent
|
|||
|
insn to be an INSN before looking at its pattern.
|
|||
|
|
|||
|
Mon Mar 1 15:03:51 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs. Fix comments.
|
|||
|
* config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
|
|||
|
HImode reg when TARGET_5200.
|
|||
|
|
|||
|
Mon Mar 1 21:44:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
From Toshiyasu Morita:
|
|||
|
* sh.h (CACHE_LOG): SH2 has cache, too.
|
|||
|
|
|||
|
Mon Mar 1 14:23:36 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (compile_file): Disable -ffunction-sections and
|
|||
|
debugging warning if the object format is elf.
|
|||
|
|
|||
|
Mon Mar 1 11:46:25 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* config/h8300/h8300.c (print_operand): Use 16 bit addressing
|
|||
|
when the data in 8-bit area and can not be addressed by 8-bit.
|
|||
|
|
|||
|
Sun Feb 28 16:40:00 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (create_basic_block): Disregard integrated bb notes.
|
|||
|
|
|||
|
Sun Feb 28 15:57:06 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* sparc.md (blockage, nonlocal_goto_receiver): Set length to 0.
|
|||
|
|
|||
|
Sun Feb 28 14:47:53 1999 Arturo Montes <mitosys@colomsat.com.co>
|
|||
|
|
|||
|
* config/i386/t-sco5gas (crti.o): New target.
|
|||
|
|
|||
|
Sun Feb 28 15:10:17 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (elf_high, movsi_got, *movsi_got_internal,
|
|||
|
*movsi_got_internal_mem, GOT splitter, movdf_hardfloat32,
|
|||
|
movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64,
|
|||
|
load_multiple, allocate_stack, call_indirect_aix32,
|
|||
|
call_indirect_aix64, call_value_indirect_aix32,
|
|||
|
call_value_indirect_aix64, call_indirect_nt,
|
|||
|
call_value_indirect_nt): Use gpc_reg_operand instead of
|
|||
|
register_operand.
|
|||
|
|
|||
|
Sun Feb 28 15:10:17 1999 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3,
|
|||
|
*andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR
|
|||
|
other than cr0.
|
|||
|
* rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't
|
|||
|
allow andi. or andis. which always set cr0.
|
|||
|
|
|||
|
Sun Feb 28 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Feb 28 02:00:38 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* invoke.texi: Update information for PA scheduling.
|
|||
|
|
|||
|
Sat Feb 27 23:21:47 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
|||
|
Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* pa.c (override_options): Change default to 7100LC.
|
|||
|
|
|||
|
* pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
|
|||
|
float regs before right half of float regs.
|
|||
|
|
|||
|
Sat Feb 27 22:48:38 1999 H.J. Lu (hjl@gnu.org)
|
|||
|
Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* frame.h: Update some comments.
|
|||
|
* defaults.h (TARGET_ATTRIBUTE_WEAK): Define.
|
|||
|
* crtstuff.c (__register_frame_info, __deregister_frame_info): Declare
|
|||
|
using TARGET_WEAK_ATTRIBUTE.
|
|||
|
(__do_global_dtors_aux): Check if __deregister_frame_info is
|
|||
|
zero before calling it.
|
|||
|
(__do_global_dtors): Likewise.
|
|||
|
(frame_dummy): Check if __register_frame_info is zero before
|
|||
|
calling it.
|
|||
|
(__frame_dummy): Likewise.
|
|||
|
|
|||
|
Sat Feb 27 19:18:24 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* SERVICE: Update from the FSF.
|
|||
|
|
|||
|
Sat Feb 27 14:31:22 1999 Arturo Montes <mitosys@colomsat.com.co>
|
|||
|
|
|||
|
* config/i386/t-sco5 (crti.o): New target.
|
|||
|
* config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when
|
|||
|
linking -shared.
|
|||
|
* configure.in (i[34567]86-*-sco3.2v5*): Add crti.o.
|
|||
|
|
|||
|
Sat Feb 27 01:12:40 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* md.texi (prologue,epilogue): Document named patterns.
|
|||
|
|
|||
|
Fri Feb 26 19:31:25 1999 Dave Love <fx@gnu.org>
|
|||
|
|
|||
|
* md.texi, invoke.texi: Fix unterminated @xrefs.
|
|||
|
|
|||
|
Fri Feb 26 15:33:45 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* genattrtab.c (simplify_knowing): Fix uninitialized read
|
|||
|
in Feb 21 change.
|
|||
|
|
|||
|
* genextract.c (main): Clear recog_operands before extracting.
|
|||
|
|
|||
|
Fri Feb 26 02:24:57 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* c-pragma.c (add_weak); Delete. Moved into...
|
|||
|
* varasm.c (add_weak): New external function.
|
|||
|
(declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
|
|||
|
the list of weak functions.
|
|||
|
* c-pragma (add_weak): Declare.
|
|||
|
|
|||
|
Thu Feb 25 23:43:59 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
Flow rewrite to use basic block structures and edge lists:
|
|||
|
|
|||
|
* basic-block.h (x_basic_block_head, x_basic_block_end): Kill.
|
|||
|
(basic_block_computed_jump_target, basic_block_live_at_start): Kill.
|
|||
|
(struct edge_def): New.
|
|||
|
(struct basic_block_def): New.
|
|||
|
(basic_block_info): New.
|
|||
|
(BLOCK_HEAD, BLOCK_END): Update.
|
|||
|
(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New.
|
|||
|
(uid_block_number): Kill.
|
|||
|
(basic_block_for_insn, BLOCK_FOR_INSN): New.
|
|||
|
(BLOCK_NUM): Update.
|
|||
|
* flow.c (XNMALLOC): Kill.
|
|||
|
(max_uid_for_flow): Kill.
|
|||
|
(uid_block_number): Kill.
|
|||
|
(uid_volatile): Turn into a bitmap.
|
|||
|
(SET_INSN_VOLATILE): New.
|
|||
|
(basic_block_info): New.
|
|||
|
(entry_exit_blocks): New.
|
|||
|
(x_basic_block_head, x_basic_block_end): Kill.
|
|||
|
(basic_block_computed_jump_target, basic_block_live_at_start): Kill.
|
|||
|
(flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill.
|
|||
|
(basic_block_loop_depth): Kill.
|
|||
|
(basic_block_for_insn): New.
|
|||
|
(find_basic_blocks): Split out initial block counting into
|
|||
|
count_basic_blocks. Call functions split out of find_basic_blocks_1.
|
|||
|
(count_basic_blocks): New.
|
|||
|
(find_basic_blocks_1): Split out edge recognition, unreachable
|
|||
|
block deletion.
|
|||
|
(create_basic_block): New.
|
|||
|
(compute_bb_for_insn): New.
|
|||
|
(clear_edges): New.
|
|||
|
(free_bb_memory): Kill.
|
|||
|
(add_edge, add_edge_to_label): Kill.
|
|||
|
(mark_label_ref): Kill.
|
|||
|
(make_edges): Rewrite to use edge lists.
|
|||
|
(make_edge, make_label_edge): New.
|
|||
|
(mark_critical_edges): New.
|
|||
|
(split_edge, insert_insn_on_edge): New.
|
|||
|
(commit_one_edge_insertion, commit_edge_insertions): New.
|
|||
|
(delete_unreachable_blocks): Rewrite to use edge lists.
|
|||
|
Split out EH region manipulation into delete_eh_regions.
|
|||
|
Call tidy_fallthru_edge and merge_blocks.
|
|||
|
(delete_eh_regions): New.
|
|||
|
(delete_note_p): New.
|
|||
|
(delete_insn_chain): New.
|
|||
|
(delete_block): Split out code into delete_insn_chain and
|
|||
|
tidy_fallthru_edge. Update edge lists.
|
|||
|
(expunge_block): New.
|
|||
|
(flow_delete_insn): New?
|
|||
|
(can_delete_label_p): New?
|
|||
|
(merge_blocks_nomove, merge_blocks): New.
|
|||
|
(tidy_fallthru_edge): New.
|
|||
|
(calculate_loop_depth): New.
|
|||
|
(life_analysis): Allocate and free uid_volatile.
|
|||
|
(free_basic_block_vars): Update for new structures.
|
|||
|
(record_volatile_insns): Use SET_INSN_VOLATILE.
|
|||
|
(mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage.
|
|||
|
(mark_used_regs): Likewise.
|
|||
|
(life_analysis_1): Use bb global_live_at_start, global_live_at_end,
|
|||
|
local_set regsets. Use bb->aux to store new_live_at_end. Begin
|
|||
|
life propagation from EXIT_BLOCK rather than last block. Clear
|
|||
|
regs_ever_live after mark_regs_live_at_end.
|
|||
|
(allocate_for_life_analysis): Update for new structures.
|
|||
|
(propagate_block): Split out loop depth calculation to
|
|||
|
calculate_loop_depth.
|
|||
|
(regno_uninitialized): Use bb->global_live_at_start.
|
|||
|
(regno_clobbered_at_setjmp): Likewise.
|
|||
|
(dump_bb_data): Likewise.
|
|||
|
(find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM.
|
|||
|
(dump_flow_info): Update for new structures.
|
|||
|
(dump_edge_info): New.
|
|||
|
(print_rtl_with_bb): Update for new structures.
|
|||
|
(compute_preds_succs): Do no work -- convert edge lists.
|
|||
|
(set_block_for_insn): From corpse of old set_block_num.
|
|||
|
(set_block_num): Call it.
|
|||
|
|
|||
|
* rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK.
|
|||
|
* rtl.h (rtunion_def): Add bb entry.
|
|||
|
(NOTE_BASIC_BLOCK): New.
|
|||
|
(NOTE_INSN_BASIC_BLOCK): New.
|
|||
|
|
|||
|
* varray.h (varray_data_tag): Add bb entry.
|
|||
|
(VARRAY_BB_INIT, VARRAY_BB): New.
|
|||
|
|
|||
|
* emit-rtl.c (emit_label_before): New.
|
|||
|
|
|||
|
* except.c (expand_rethrow): Delete insns following the call to
|
|||
|
rethrow. Put the REG_EH_RETHROW on the call.
|
|||
|
|
|||
|
* jump.c (returnjump_p, returnjump_p_1): New.
|
|||
|
|
|||
|
* expr.h (nonlocal_goto_handler_labels): New declaration.
|
|||
|
* function.c (nonlocal_goto_handler_labels): Define it.
|
|||
|
(push_function_context_to): Save it.
|
|||
|
(pop_function_context_from): Restore it.
|
|||
|
(init_function_start): Clear it.
|
|||
|
(nonlocal_label_rtx_list): Kill.
|
|||
|
* function.h (struct function): Add storage space for it.
|
|||
|
* stmt.c (expand_nl_handler_label): Return the new label.
|
|||
|
(expand_nl_goto_receivers): Collect a list of them in
|
|||
|
nonlocal_goto_handler_labels.
|
|||
|
|
|||
|
* Makefile.in (print-rtl.o): Depend on basic-block.h.
|
|||
|
(flow.o): Depend on insn-flags.h.
|
|||
|
|
|||
|
* function.c (thread_prologue_and_epilogue_insns): Do not
|
|||
|
half-heartedly update bb structures.
|
|||
|
|
|||
|
* toplev.c: Add flow2 dump as -dw.
|
|||
|
(rest_of_compilation): Finish .greg before flow2.
|
|||
|
|
|||
|
* graph.c (draw_edge): Handle class 3.
|
|||
|
(print_rtl_graph_with_bb): Make abnormal edges red class 2,
|
|||
|
change non-fall-thru but adjacent to green class 3. Update
|
|||
|
to use new structures.
|
|||
|
|
|||
|
* print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK.
|
|||
|
|
|||
|
* reg-stack.c (BLOCK_NUM): Convert to function. Abort if
|
|||
|
block_number is -1.
|
|||
|
(reg_to_stack): Initialize block_num to -1.
|
|||
|
|
|||
|
* combine.c (set_nonzero_bits_and_sign_copies): Update reference
|
|||
|
to basic_block_live_at_start to bb->global_live_at_start.
|
|||
|
(try_combine): Likewise.
|
|||
|
(reg_dead_at_p): Likewise.
|
|||
|
* global.c (global_conflicts): Likewise.
|
|||
|
Handle stack regs on all abnormal edges, not just computed jumps.
|
|||
|
(mark_elimination): Update reference to basic_block_live_at_start.
|
|||
|
(build_insn_chain): Likewise.
|
|||
|
* haifa-sched.c (haifa_edge): Rename from edge for conflict.
|
|||
|
(is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead
|
|||
|
of nonlocal_label_rtx_list.
|
|||
|
(check_live_1): Update reference to basic_block_live_at_start.
|
|||
|
(update_live_1): Likewise.
|
|||
|
(find_pre_sched_live): Likewise.
|
|||
|
(find_post_sched_live): Likewise.
|
|||
|
* local-alloc.c (update_equiv_regs): Likewise.
|
|||
|
(block_alloc): Likewise.
|
|||
|
* reload1.c (reload, reload_combine): Likewise.
|
|||
|
* regmove.c (mark_flags_life_zones): Likewise.
|
|||
|
* resource.c (mark_target_live_regs): Likewise.
|
|||
|
* sched.c (schedule_block): Likewise.
|
|||
|
|
|||
|
* regclass.c (regset_release_memory): Don't free
|
|||
|
basic_block_live_at_start.
|
|||
|
|
|||
|
* unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK.
|
|||
|
|
|||
|
Thu Feb 25 21:32:34 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* fixinc.wrap: Also handle struct queue in sys/stream.h.
|
|||
|
* fixinc.svr4: Likewise.
|
|||
|
|
|||
|
* dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die
|
|||
|
rather than asserting it.
|
|||
|
|
|||
|
Thu Feb 25 23:33:06 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cppexp.c (left_shift, right_shift, parse_charconst, COMPARE,
|
|||
|
cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with
|
|||
|
HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT.
|
|||
|
|
|||
|
* Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o,
|
|||
|
cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o,
|
|||
|
scan-decls.o): Don't depend on machmode.h.
|
|||
|
|
|||
|
* cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore.
|
|||
|
Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT.
|
|||
|
|
|||
|
* cppfiles.c: Likewise.
|
|||
|
|
|||
|
* cpplib.c: Likewise.
|
|||
|
|
|||
|
* cpplib.h: Likewise. Also don't include machmode.h anymore.
|
|||
|
|
|||
|
Thu Feb 25 18:46:26 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.
|
|||
|
* objc/lang-specs.h: Likewise.
|
|||
|
|
|||
|
Thu Feb 25 16:19:43 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.md (call patterns): Lose unused argument to output_call.
|
|||
|
|
|||
|
* print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
|
|||
|
|
|||
|
1999-02-25 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpphash.c (install): Rename to cpp_install, add cpp_reader*
|
|||
|
first argument. All callers changed.
|
|||
|
(hashtab): Removed.
|
|||
|
(cpp_lookup, cpp_install): Change all refs to hashtab to
|
|||
|
pfile->hashtab.
|
|||
|
(cpp_hash_cleanup): Removed.
|
|||
|
* cpphash.h: Adjust prototypes.
|
|||
|
* cpplib.h (struct cpp_reader): Add hashtab pointer.
|
|||
|
* cppinit.c (cpp_reader_init): Also allocate space for the
|
|||
|
hashtab.
|
|||
|
(cpp_cleanup): Delete all macros and free the hashtab.
|
|||
|
|
|||
|
Thu Feb 25 21:52:54 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures
|
|||
|
in registers.
|
|||
|
|
|||
|
* expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition.
|
|||
|
* function.c (assign_parms): Honour PRETEND_OUTGOING_VARARGS_NAMED.
|
|||
|
* calls.c (expand_call): Likewise.
|
|||
|
|
|||
|
* sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs /
|
|||
|
stdarg arguments.
|
|||
|
* sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi.
|
|||
|
(FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed
|
|||
|
arguments in registers.
|
|||
|
(PRETEND_OUTGOING_VARARGS_NAMED): Define.
|
|||
|
* va-sh.h (entire file): If __HITACHI__ is defined, use sh[123]
|
|||
|
flavor varargs.
|
|||
|
|
|||
|
Thu Feb 25 14:32:40 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cse.c (dump_class): Revert last change and make the prototype
|
|||
|
extern.
|
|||
|
|
|||
|
Thu Feb 25 19:13:42 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* rtl.h (insn_first_p): Don't declare.
|
|||
|
* rtlanal.c (insn_first_p): Delete.
|
|||
|
* loop.c (loop_insn_first_p): Faster implementation.
|
|||
|
|
|||
|
Thu Feb 25 10:44:35 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236].
|
|||
|
(TARGET_3, TARGET_6): Delete.
|
|||
|
(ARM_FLAG_ARM[36]): Delete.
|
|||
|
(CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more.
|
|||
|
(CC1_SPEC): Don't expand -m[236] into new equivalents.
|
|||
|
(CPP_APCS_PC_SPEC): No need to handle -m[236] any more.
|
|||
|
* arm.c (arm_override_options): Delete warnings about deprecated
|
|||
|
options -m[236].
|
|||
|
|
|||
|
* arm.c (arm_finalize_pic): Build the label into the special pic
|
|||
|
adjustment insn instead of issuing it separately.
|
|||
|
* arm.md (pic_add_dot_plus_eight): Rework to contain the label
|
|||
|
that is needed.
|
|||
|
|
|||
|
* arm.md (*zeroextractqi_compare0_scratch): Delete.
|
|||
|
(*ne_zeroextractsi): New pattern.
|
|||
|
|
|||
|
Thu Feb 25 18:40:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* stmt.c (expand_end_loop): Grok code emitted by
|
|||
|
expand_exit_loop_if_false.
|
|||
|
|
|||
|
Thu Feb 25 10:17:32 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.c (return_in_memory): Float fields in unions
|
|||
|
force a return in memory.
|
|||
|
(load_multiple_sequence): Add comment explaining why two LDR
|
|||
|
instructions can be better than an LDMIA instruction.
|
|||
|
|
|||
|
* config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment
|
|||
|
describing the real meaning of this option.
|
|||
|
(FIXED_REGISTERS): Default r10 to not-fixed.
|
|||
|
(CALL_USED_REGISTERS): Default r10 to not-call-used.
|
|||
|
(SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define
|
|||
|
as empty.
|
|||
|
(CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is
|
|||
|
true. Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after
|
|||
|
performing other checks.
|
|||
|
|
|||
|
* config/arm/arm.md (zero_extendhisi2): Undo previous change.
|
|||
|
(extendhisi2): Undo previous change.
|
|||
|
Also add comments describing why TARGET_SHORT_BY_BYTES can be
|
|||
|
ignored for armv4(t) architectures.
|
|||
|
|
|||
|
* config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
|
|||
|
Define to fix r10.
|
|||
|
|
|||
|
* config/arm/riscix1-1.h
|
|||
|
(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10.
|
|||
|
|
|||
|
Thu Feb 25 12:09:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cse.c (dump_class): Make the function definition static to match
|
|||
|
the prototype.
|
|||
|
|
|||
|
Wed Feb 24 17:47:28 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* dbxout.c (gstab.h): Use if CROSS_COMPILE.
|
|||
|
|
|||
|
* dwarf2out.c (add_location_or_const_value_attribute): Add big
|
|||
|
endian correction for parms passed in regs but living on the stack.
|
|||
|
|
|||
|
Wed Feb 24 14:03:54 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* calls.c (initialize_argument_information): New function extracted
|
|||
|
from expand_call.
|
|||
|
(expand_call): Use initialize_argument_information. Remove variables
|
|||
|
which are no longer used due to cleanups.
|
|||
|
|
|||
|
* calls.c (compute_argument_block_size): New function, extracted from
|
|||
|
expand_calls.
|
|||
|
(expand_calls): Use compute_argument_block_size. Delete
|
|||
|
original_args_size, use unadjusted_args_size instead.
|
|||
|
|
|||
|
* calls.c (precompute_arguments): New function, extracted from
|
|||
|
expand_call.
|
|||
|
(expand_call): Use precompute_arguments.
|
|||
|
|
|||
|
* calls.c (finalize_must_preallocate): New function, extracted from
|
|||
|
expand_call.
|
|||
|
(expand_call): Use finalize_must_preallocate.
|
|||
|
|
|||
|
* calls.c (store_one_arg): Mark "variable_size" as possibly unused.
|
|||
|
|
|||
|
* regclass.c (record_reg_classes, case 'p'): Set classes appropriately.
|
|||
|
An alternative always fails if it needs a pseudo and no suitable
|
|||
|
register class can be found.
|
|||
|
|
|||
|
Wed Feb 24 19:47:56 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.h (loop_insn_first_p): Declare.
|
|||
|
* loop.c (loop_insn_first_p): No longer static.
|
|||
|
* unroll.c (iteration_info): Fix comparison to
|
|||
|
reg_iv_type->num_elements.
|
|||
|
Before accessing reg_biv_class, check index against
|
|||
|
max_reg_before_loop.
|
|||
|
Fix and enable code for giv iterators.
|
|||
|
(loop_iterations): Compare with reg_iv_type->num_elements instead
|
|||
|
of with max_reg_before_loop.
|
|||
|
|
|||
|
Wed Feb 24 19:17:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno.
|
|||
|
|
|||
|
Wed Feb 24 11:26:41 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
|
|||
|
PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
|
|||
|
|
|||
|
Tue Feb 23 16:24:19 1999 Marc Lehmann <pcg@goof.com>
|
|||
|
|
|||
|
* config/i386/i386.md: Fix typo.
|
|||
|
|
|||
|
Mon Feb 22 19:36:33 1999 Andrew Cagney <cagney@b1.cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
|
|||
|
frame_pointer_needed adjust frame size.
|
|||
|
(function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
|
|||
|
in .frame pseudo-op.
|
|||
|
Frm Jim Wilson <wilson@cygnus.com>:
|
|||
|
* mips.c (function_prologue): Adjust frame size in .frame pseudo-op
|
|||
|
when TARGET_MIPS16 && frame_pointer_needed.
|
|||
|
|
|||
|
1999-02-22 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.h: Add TARGET_CPU_strongarm1100.
|
|||
|
Add -mno-sched command line switch to disable scheduling of
|
|||
|
instructions into the function's prologue.
|
|||
|
(enum processor_type): Remove.
|
|||
|
(TARGET_OPTIONS): Add "fpe=" option to match documentation.
|
|||
|
(struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p'
|
|||
|
fields with 'processors' field.
|
|||
|
(CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack
|
|||
|
checking is not enabled.
|
|||
|
(RETURN_IN_MEMORY): Always call arm_return_in_memory.
|
|||
|
|
|||
|
* config/arm/arm.c (arm_cpu): Remove.
|
|||
|
(tune_flags): Remove.
|
|||
|
(arm_is_strong): New variable: true iff the target processor is a
|
|||
|
StrongARM.
|
|||
|
(arm_is_6_or_7): New variable: true iff the target processor is an
|
|||
|
ARM6 or and ARM7.
|
|||
|
(arm_select): Fields reorganised.
|
|||
|
(struct processors): processor_type field removed.
|
|||
|
(all_procs): Remove.
|
|||
|
(all_cores): New array: Definitions of all known ARM cpu cores.
|
|||
|
(all_architectures): New array: Definitions of all known ARM
|
|||
|
architectures.
|
|||
|
(streq): New macro.
|
|||
|
(FL_SCHED): New processor flag: processor required load
|
|||
|
scheduling.
|
|||
|
(FL_STRONG): New processor flag: processor is a StrongARM.
|
|||
|
(arm_override_options): Reorganized to make code clearer.
|
|||
|
(use_return_insn): Test for "not (TARGET_APCS and
|
|||
|
frame_pointer_needed)".
|
|||
|
(arm_return_in_memory): Improve handling of structures.
|
|||
|
|
|||
|
* config/arm/arm.md: Remove "cpu" attribute. Replace with
|
|||
|
"is_strongarm" and "is_arm_6_or_7" attributes.
|
|||
|
(zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before
|
|||
|
arm_arch4.
|
|||
|
(extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4.
|
|||
|
|
|||
|
* invoke.texi (ARM Options): Document -mtune= and -mfp= options.
|
|||
|
|
|||
|
1999-02-22 Philip Blundell <philb@gnu.org>
|
|||
|
|
|||
|
* config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default
|
|||
|
definition with one including cache synchronization.
|
|||
|
(CLEAR_INSN_CACHE): Correct syscall number and enable definition.
|
|||
|
Move definition of inhibit_libc to...
|
|||
|
* config/arm/xm-linux.h: ... here.
|
|||
|
|
|||
|
* config/arm/t-linux: Disable multilib configurations since the
|
|||
|
only effect for most people is to cause builds to fail.
|
|||
|
|
|||
|
* config/arm/elf.h (ASM_FILE_START): Add .file directive.
|
|||
|
(ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler.
|
|||
|
|
|||
|
* config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define.
|
|||
|
(HANDLE_SYSV_PRAGMA): Likewise.
|
|||
|
(LIB_SPEC): Copy definition from generic Linux files.
|
|||
|
(LIBGCC_SPEC): Include -lfloat if -msoft-float was given.
|
|||
|
(FP_DEFAULT): Set to SOFT3 on 32-bit targets.
|
|||
|
(DWARF2_DEBUGGING_INFO): Define.
|
|||
|
(PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
|
|||
|
|
|||
|
Mon Feb 22 16:54:18 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* loop.c (libcall_other_regs): Make extern.
|
|||
|
* rtl.h (find_last_value): Add parameter to prototype.
|
|||
|
(libcall_other_reg): Add extern declaration.
|
|||
|
* rtlanal.c (find_last_value): Add another parameter to allow
|
|||
|
a definition using a hardware register to be found as well.
|
|||
|
|
|||
|
Mon Feb 22 13:33:47 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* cse.c (dump_class): New function.
|
|||
|
(invalidate_memory): Fix typo in comment.
|
|||
|
* function.c (temp_slot): Add an alias set field.
|
|||
|
(assign_stack_temp): Only reuse slots if they will have the
|
|||
|
same alias set as before.
|
|||
|
(combine_temp_slots): Don't combine if -fstrict-aliasing;
|
|||
|
that's unsafe.
|
|||
|
* rtl.c (copy_rtx): Copy all the flags (in particular,
|
|||
|
MEM_SCALAR_P).
|
|||
|
|
|||
|
Mon Feb 22 14:13:23 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* configure.in (i[34567]86-*-linux-gnu*,
|
|||
|
i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
|
|||
|
i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
|
|||
|
fixincludes.
|
|||
|
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* fixinc.x86-linux-gnu: New script for fixing asm-statements bug
|
|||
|
on x86 linux.
|
|||
|
|
|||
|
* fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
|
|||
|
|
|||
|
* fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
|
|||
|
i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
|
|||
|
i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
|
|||
|
fixincludes.
|
|||
|
|
|||
|
Mon Feb 22 08:55:05 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
|
|||
|
|
|||
|
* objc/objc-act.c (encode_type): Temporary revert to the old
|
|||
|
behavior of encoding types as the new one seems to break the
|
|||
|
encoding of bitfields.
|
|||
|
|
|||
|
Mon Feb 22 11:40:44 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
Sat Feb 20 09:59:36 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
* Makefile.in (all.internal, all.cross): Depend on `doc'
|
|||
|
target, to ensure docs get made before installation.
|
|||
|
|
|||
|
Decrease spurious warnings from -fsyntax-only:
|
|||
|
* stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
|
|||
|
|
|||
|
Mon Feb 22 10:55:00 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c (yylex): Replace warning about integer constants being
|
|||
|
larger than long-longs, with a warning about integer constants
|
|||
|
being larger than the largest target integer.
|
|||
|
|
|||
|
Mon Feb 22 08:35:38 1999 Craig Burley <craig@jcb-sc.com>
|
|||
|
|
|||
|
Fix -fsyntax-only ICEs:
|
|||
|
* varasm.c (assemble_zeros, assemble_variable,
|
|||
|
output_constant_def): Do nothing when -fsyntax-only.
|
|||
|
|
|||
|
Fri Feb 19 18:18:56 1999 Don Bowman <don@pixstream.com>
|
|||
|
|
|||
|
* configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sun Feb 21 20:34:44 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Feb 21 20:35:10 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
|
|||
|
(ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
|
|||
|
* tm.texi: Update docs for constructors and destructors.
|
|||
|
|
|||
|
Sun Feb 21 17:11:18 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* genattrtab.c (check_attr_value): Allow negative const_int if
|
|||
|
negative_ok. Accept integral arithmetic operators. Accept
|
|||
|
direct references to other attributes. Accept symbol_ref in
|
|||
|
non-constant attributes.
|
|||
|
(max_attr_value): Add new argument `unknownp'. Update all callers.
|
|||
|
(or_attr_value): Likewise.
|
|||
|
(simplify_knowing): Don't optimize if max_attr_value unknown.
|
|||
|
(write_length_unit_log): Likewise with or_attr_value.
|
|||
|
(find_and_mark_used_attributes): Don't fallthru case.
|
|||
|
(write_attr_set): Pass thru all non-cond expressions.
|
|||
|
(write_attr_value): Handle symbol_ref, attr, and arithmetic.
|
|||
|
|
|||
|
Sun Feb 21 13:16:44 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* regmove.c (discover_flags_reg): Use word_mode instead of SImode.
|
|||
|
|
|||
|
Sun Feb 21 13:15:40 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* regmove.c (discover_flags_reg): Remove cc0 code.
|
|||
|
(mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
|
|||
|
a potential flags register was identified.
|
|||
|
|
|||
|
Sat Feb 20 16:16:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
|||
|
|
|||
|
* rs6000.md (scc plus ltu): Fix typo in last change.
|
|||
|
|
|||
|
Sat Feb 20 09:08:44 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
|
|||
|
|
|||
|
Fri Feb 19 23:02:02 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* regmove.c (discover_flags_reg): New function.
|
|||
|
(flags_set_1, mark_flags_life_zones): New functions.
|
|||
|
(regmove_optimize): Call them.
|
|||
|
(fixup_match_1): Use insn modes rather than sets_cc0_p.
|
|||
|
|
|||
|
Fri Feb 19 22:47:01 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* rtlanal.c (insn_first_p): Fix return value for insn == reference.
|
|||
|
|
|||
|
* loop.c (strength_reduce, check_final_value, check_dbra_loop):
|
|||
|
Use loop_insn_first_p.
|
|||
|
|
|||
|
Fri Feb 19 15:49:26 1999 Michael Meissner <meissner@cygnus.com>
|
|||
|
David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (scc plus eq): Fix output template.
|
|||
|
(scc plus ltu): Fix output template and collapse variants
|
|||
|
correcting early clobbers.
|
|||
|
(scc plus geu): Fix output template.
|
|||
|
(scc plus gt): Fix output template.
|
|||
|
(scc plus gtu): Fix output template and collapse variants.
|
|||
|
|
|||
|
Fri Feb 19 15:43:59 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cppinit.c (print_help): Remove unescaped newline in string.
|
|||
|
|
|||
|
Fri Feb 19 19:55:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Check for intervening jumps when
|
|||
|
converting biv increment to giv.
|
|||
|
|
|||
|
Thu Feb 18 16:36:58 1999 Per Bothner <bothner@cygnus.com>
|
|||
|
|
|||
|
* tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
|
|||
|
* expr.c (expand_expr): Support new tree nodes.
|
|||
|
|
|||
|
Fri Feb 19 10:17:56 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.c (m68k_align_loops_string,
|
|||
|
m68k_align_jumps_string, m68k_align_funcs_string): Add const.
|
|||
|
* config/m68k/m68k.h (m68k_align_loops_string,
|
|||
|
m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
|
|||
|
|
|||
|
Thu Feb 18 23:28:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
|
|||
|
|
|||
|
* bitmap.h (bitmap_print): Likewise.
|
|||
|
|
|||
|
* c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
|
|||
|
|
|||
|
* c-lang.c (build_objc_string): Likewise.
|
|||
|
|
|||
|
* c-lex.c (yyerror, extend_token_buffer): Likewise. Don't include
|
|||
|
limits.h or ctype.h. Remove unused variable `p'.
|
|||
|
|
|||
|
* c-lex.h (yyerror): Qualify a char* with the `const' keyword.
|
|||
|
|
|||
|
* c-pragma.c (handle_pragma_token): Likewise.
|
|||
|
|
|||
|
* c-pragma.h (handle_pragma_token): Likewise.
|
|||
|
|
|||
|
* c-tree.h (build_objc_string, builtin_function, grokfield,
|
|||
|
build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
|
|||
|
pedwarn_init): Likewise.
|
|||
|
|
|||
|
* c-typeck.c (convert_for_assignment, warn_for_assignment,
|
|||
|
push_string, warning_init, incomplete_type_error,
|
|||
|
build_indirect_ref, lvalue_or_else, readonly_warning,
|
|||
|
build_c_cast, spelling, push_member_name, print_spelling,
|
|||
|
error_init, pedwarn_init, start_init): Likewise.
|
|||
|
|
|||
|
* objc/objc-act.c (build_objc_string): Likewise.
|
|||
|
|
|||
|
* print-tree.c (print_node_brief, print_node): Likewise.
|
|||
|
|
|||
|
* tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
|
|||
|
|
|||
|
Thu Feb 18 20:44:21 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* regclass.c (record_reg_classes): Correctly handle 'p' constraint.
|
|||
|
|
|||
|
Thu Feb 18 19:59:37 1999 Marc Espie <espie@cvs.openbsd.org>
|
|||
|
|
|||
|
* configure.in :Handle OpenBSD platforms.
|
|||
|
* configure: Rebuilt.
|
|||
|
* config/openbsd.h: New file.
|
|||
|
* config/xm-openbsd.h: New file.
|
|||
|
* config/t-openbsd: New file.
|
|||
|
* config/t-openbsd-thread: New file.
|
|||
|
|
|||
|
Thu Feb 18 18:47:09 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* function.c (assign_stack_temp_for_type): Round SIZE before calling
|
|||
|
assign_stack_local for BLKmode slots.
|
|||
|
|
|||
|
Fri Feb 19 01:45:06 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): For derived givs, replace the
|
|||
|
giv this was derived from with its new_reg.
|
|||
|
(recombine_givs): Don't set new_reg for derived giv.
|
|||
|
And don't print it, print SUM instead.
|
|||
|
|
|||
|
Thu Feb 18 15:52:49 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
|
|||
|
|
|||
|
1999-02-18 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c: Kill define of STDC_VALUE. Don't include output.h
|
|||
|
or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
|
|||
|
macro_cleanup.
|
|||
|
(GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
|
|||
|
predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
|
|||
|
CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
|
|||
|
cpp_pending, version_string, struct default_include,
|
|||
|
include_defaults_array, path_include, cpp_options_init,
|
|||
|
dump_special_to_buffer, initialize_builtins, cpp_start_read,
|
|||
|
cpp_reader_init, nreverse_pending, push_pending, print_help,
|
|||
|
cpp_handle_option, cpp_handle_options, cpp_finish,
|
|||
|
cpp_cleanup): Move to cppinit.c.
|
|||
|
(macro_cleanup, struct arglist, collect_expansion,
|
|||
|
create_definition, compare_defs, comp_def_part, ARG_BASE,
|
|||
|
struct argdata, macarg, change_newlines, timestamp,
|
|||
|
monthnames, special_symbol, unsafe_chars, macroexpand,
|
|||
|
push_macro_expansion): Move to cpphash.c.
|
|||
|
(quote_string, check_macro_name, cpp_expand_to_buffer,
|
|||
|
output_line_command, cpp_undef): Export.
|
|||
|
(null_underflow, null_cleanup, handle_directive): Make static.
|
|||
|
|
|||
|
* cpplib.h: Prototype now-exported functions. Adjust decls of
|
|||
|
syntax tables so we can include cpplib.h in cppinit.c.
|
|||
|
* cpphash.h: Prototype all functions exported by cpphash.c.
|
|||
|
* cppinit.c: Make syntax tables initialized data if possible
|
|||
|
(uses GCC designated-initializer extension).
|
|||
|
* cppexp.c: Make cpp_lex static.
|
|||
|
* Makefile.in: Move -D switches for the various include dirs
|
|||
|
from cpplib.o rule to cppinit.o rule. Adjust dependencies.
|
|||
|
|
|||
|
Thu Feb 18 13:15:56 1999 Marc Espie <espie@cvs.openbsd.org>
|
|||
|
|
|||
|
* alpha/openbsd.h: New file.
|
|||
|
* alpha/xm-openbsd.h: New file.
|
|||
|
* sparc/openbsd.h: New file.
|
|||
|
* sparc/xm-openbsd.h: New file.
|
|||
|
* m68k/openbsd.h: New file.
|
|||
|
* m68k/xm-openbsd.h: New file.
|
|||
|
* i386/openbsd.h: New file, originally from netbsd.
|
|||
|
* i386/xm-openbsd.h: New file.
|
|||
|
|
|||
|
1999-02-17 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* Makefile.in: Correct dependencies for cpplib object files.
|
|||
|
|
|||
|
Wed Feb 17 14:04:18 1999 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
|
|||
|
than cr0.
|
|||
|
|
|||
|
Wed Feb 17 16:59:28 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Don't move giv insn for biv turned giv
|
|||
|
below scan_start.
|
|||
|
|
|||
|
Wed Feb 17 10:56:24 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* tree.c (tree_node_kind_names, print_obstack_name,
|
|||
|
get_identifier, maybe_get_identifier, build_string,
|
|||
|
build_expr_wfl, is_attribute_p, lookup_attribute,
|
|||
|
print_obstack_statistics, get_file_function_name_long, tree_check,
|
|||
|
tree_class_check, expr_check): Qualify a char* with the `const'
|
|||
|
keyword.
|
|||
|
|
|||
|
* tree.h (get_identifier, maybe_get_identifier, build_string,
|
|||
|
build_expr_wfl, is_attribute_p, lookup_attribute,
|
|||
|
print_obstack_statistics, print_obstack_name, tree_check,
|
|||
|
tree_class_check, expr_check): Likewise.
|
|||
|
|
|||
|
Tue Feb 16 21:29:38 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
|
|||
|
errors.
|
|||
|
|
|||
|
* calls.c (store_one_arg): Mark any slots used for the argument
|
|||
|
as in-use immediately after we're done saving any slots which
|
|||
|
will be overwritten by this argument.
|
|||
|
|
|||
|
Tue Feb 16 21:02:07 1999 Anton Hartl <toni@devsoft.com>
|
|||
|
|
|||
|
* rs6000.md (call_value): Fix typo.
|
|||
|
|
|||
|
Wed Feb 17 01:29:07 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Calculate maybe_dead before
|
|||
|
calling recombine_givs.
|
|||
|
|
|||
|
Wed Feb 17 00:43:12 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Dump biv increment -> giv conversions.
|
|||
|
|
|||
|
Tue Feb 16 15:31:39 1999 Ovidiu Predescu <ovidiu@cup.hp.com>
|
|||
|
|
|||
|
* objc/objc-act.c (encode_type): Encode the type instead of
|
|||
|
encoding the mode of the type (patch from Richard Frith-Macdonald
|
|||
|
<richard@brainstorm.co.uk>).
|
|||
|
|
|||
|
Tue Feb 16 10:53:51 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
|
|||
|
instruction killed in previous change. Simplify mask generation.
|
|||
|
(*zeroextractsi_compare0_scratch): Simplify mask generation.
|
|||
|
|
|||
|
Tue Feb 16 09:52:26 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
|
|||
|
bitfield does not overflow a byte boundary.
|
|||
|
|
|||
|
Tue Feb 16 01:37:33 1999 Charles G Waldman <cgw@alum.mit.edu>
|
|||
|
|
|||
|
* c-common.c (shorten_compare): Get the min/max value from the
|
|||
|
underlying type of an enumeration, not the enumerated type itself.
|
|||
|
|
|||
|
Mon Feb 15 23:04:48 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* jump.c: Include insn-attr.h.
|
|||
|
(delete_computation): If reload has completed and insn scheduling
|
|||
|
after reload is enabled, then do not depend on REG_DEAD notes.
|
|||
|
* Makefile.in (jump.o): Depend on insn-attr.h.
|
|||
|
|
|||
|
Mon Feb 15 16:57:38 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.md (addsi3): Allow lea for any constant_p.
|
|||
|
|
|||
|
1999-02-15 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* toplev.c (documented_lang_options): Remove -fident and
|
|||
|
-fnoident, which are now handled by the language independent
|
|||
|
option parser.
|
|||
|
|
|||
|
1999-02-15 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
|
|||
|
* c-lex.c: Likewise.
|
|||
|
* cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
|
|||
|
list in malloced memory for the buffer stack.
|
|||
|
(cpp_get_token): Don't pop the last buffer off the stack.
|
|||
|
Calls after CPP_EOF has been returned produce CPP_EOF with no
|
|||
|
state change.
|
|||
|
(cpp_finish): Pop last buffer here.
|
|||
|
(do_line): Don't free ip->last_nominal_fname if it is equal to
|
|||
|
ip->fname.
|
|||
|
(special_symbol): If a T_CONST is the empty string, push a
|
|||
|
single `@ ' escape instead.
|
|||
|
(macroexpand): Special symbol buffers have escapes too.
|
|||
|
* cpplib.h (struct cpp_buffer): Remove unused fields, add prev
|
|||
|
buffer pointer.
|
|||
|
(struct cpp_reader): Remove buffer_stack. Add
|
|||
|
buffer_stack_depth.
|
|||
|
(CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
|
|||
|
linked list.
|
|||
|
|
|||
|
Mon Feb 15 14:44:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c: Don't define HOST_WIDE_INT. Replace all occurrences of
|
|||
|
WIDE_INT with WIDEST_INT.
|
|||
|
|
|||
|
* cexp.y: Likewise.
|
|||
|
Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
|
|||
|
HOST_BITS_PER_WIDE_INT. Replace occurrences of PRINTF_PROTO_1()
|
|||
|
style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros. Replace
|
|||
|
occurrences of "unsigned_HOST" with "unsigned HOST". Provide a
|
|||
|
definition of variable `c89' when compiling a test binary and set it.
|
|||
|
|
|||
|
* system.h: Don't define the PRINTF_PROTO_* macros.
|
|||
|
|
|||
|
Mon Feb 15 11:33:51 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (mark_loop_jump): Handle LO_SUM. If we encounter something
|
|||
|
we do not understand, mark the loop and containing loops as invalid.
|
|||
|
|
|||
|
Mon Feb 15 00:40:45 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* alias.c (init_alias_analysis): Avoid self-referential value
|
|||
|
when setting reg_known_value from REG_EQUAL notes.
|
|||
|
|
|||
|
Sun Feb 14 23:12:10 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.c (legitimate_address_p): Verify modes of base and index.
|
|||
|
|
|||
|
Sun Feb 14 23:01:28 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.c (legitimate_pic_address_disp_p): Remove static.
|
|||
|
* i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
|
|||
|
open-coding cases.
|
|||
|
|
|||
|
Sun Feb 14 21:03:28 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
|
|||
|
* explow.c (probe_stack_range): Likewise.
|
|||
|
* expmed.c (do_cmp_and_jump): Likewise.
|
|||
|
* expr.c (store_expr, expand_expr, expand_builtin): Likewise.
|
|||
|
(do_tablejump): Likewise.
|
|||
|
* stmt.c (expand_expr_stmt, expand_end_case): Likewise.
|
|||
|
(do_jump_if_equal, emit_case_nodes): Likewise.
|
|||
|
* optabs.c (emit_cmp_and_jump_insns): Clarify comments. If UNSIGNEDP,
|
|||
|
then convert comparison to an unsigned code before emitting the jump.
|
|||
|
(expand_float, expand_fix): Use emit_cmp_and_jump_insns.
|
|||
|
|
|||
|
Sun Feb 14 02:24:15 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Feb 14 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Feb 14 00:45:50 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c: Disable recent loop changes. Temporary as Joern
|
|||
|
continues to fix problems.
|
|||
|
|
|||
|
Sat Feb 13 23:29:42 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* loop.c (combine_givs_used_by_other): Delete.
|
|||
|
(combine_givs_benefit_from): Delete.
|
|||
|
(combine_givs): Deny combination of givs only used once. Simplify
|
|||
|
code with the death of combine_givs_benefit_from.
|
|||
|
|
|||
|
Sun Feb 14 11:24:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.c (scan_loop): Call reg_in_basic_block_p before
|
|||
|
loop_reg_used_before_p.
|
|||
|
|
|||
|
Sat Feb 13 05:32:00 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
|
|||
|
* arm.h: Likewise.
|
|||
|
* arm.c: Likewise.
|
|||
|
|
|||
|
* arm.h (TARGET_OPTIONS): Reformat for clarity.
|
|||
|
(GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
|
|||
|
in the constant pool aren't valid.
|
|||
|
(LEGITIMATE_PIC_OPERAND_P): Likewise.
|
|||
|
|
|||
|
* arm.c: Include "system.h", not stdio.h and string.h.
|
|||
|
|
|||
|
Fri Feb 12 13:06:28 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
|
|||
|
(optimize_tail_recursion): Change return type from void to int.
|
|||
|
Add return statements.
|
|||
|
* tree.h (optimize_tail_recursion): Change prototype to match.
|
|||
|
|
|||
|
Fri Feb 12 21:09:51 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload.c (find_reloads_subreg_address): New function, broken out of
|
|||
|
find_reloads_toplev.
|
|||
|
(find_reloads_toplev, find_reloads_address_1): Use it.
|
|||
|
|
|||
|
Fri Feb 12 13:20:52 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
|
|||
|
extending a CONST_INT.
|
|||
|
|
|||
|
* h8300.md (peephole for combining memrefs): Delete incorrect peephole.
|
|||
|
|
|||
|
Fri Feb 12 18:29:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
|
|||
|
New functions.
|
|||
|
(maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
|
|||
|
|
|||
|
Fri Feb 12 16:56:10 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (load_mems): Don't guess how to do a load / store, use
|
|||
|
emit_move_insn.
|
|||
|
|
|||
|
Fri Feb 12 09:24:26 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* system.h: Provide a definition for HOST_WIDEST_INT, etc.
|
|||
|
|
|||
|
Fri Feb 12 23:37:26 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
|
|||
|
|
|||
|
Fri Feb 12 00:51:26 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload.c (find_reloads_address_1): Fix handling of an autoincremented
|
|||
|
pseudo which is homed in the stack.
|
|||
|
|
|||
|
* mips.c (save_restore_insns): Fix loop to save/restore FP registers.
|
|||
|
(compute_frame_size): Change loop over FP regs to be consistent
|
|||
|
with the loop in save_restore_insns.
|
|||
|
|
|||
|
Thu Feb 11 17:38:40 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
|
|||
|
(LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
|
|||
|
|
|||
|
Thu Feb 11 15:11:35 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10200.md (bset); Re-enable.
|
|||
|
|
|||
|
Thu Feb 11 15:20:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (is_sfunc): New attribute.
|
|||
|
* sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
|
|||
|
|
|||
|
Thu Feb 11 01:06:49 1999 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* fold-const.c (range_binop): Take account of the bounded nature
|
|||
|
of fixed length arithmetic when comparing unbounded ranges.
|
|||
|
|
|||
|
Thu Feb 11 00:08:17 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* function.c (assign_stack_temp_for_type): Clear best_p
|
|||
|
when an exact match is found.
|
|||
|
|
|||
|
* i386.h (LOCAL_ALIGNMENT): Define.
|
|||
|
* function.c (assign_stack_local, assign_outer_stack_local): Use it.
|
|||
|
(assign_stack_temp_for_type): New function based on assign_stack_temp.
|
|||
|
(assign_stack_temp): Call it.
|
|||
|
(assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
|
|||
|
* stmt.c: Use assign_temp, not assign_stack_temp.
|
|||
|
* tm.texi: Document LOCAL_ALIGNMENT.
|
|||
|
|
|||
|
Wed Feb 10 23:28:28 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reorg.c: Finish deleting half-deleted comment.
|
|||
|
|
|||
|
Wed Feb 10 17:12:21 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
|
|||
|
result.
|
|||
|
* final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
|
|||
|
result.
|
|||
|
* real.c (endian): Delete sign extension code.
|
|||
|
* config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
|
|||
|
replaced with operand_subword call.
|
|||
|
|
|||
|
Wed Feb 10 15:16:39 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (cmov compound patterns): Delete. Jump can now
|
|||
|
create the correct constructs in the first place.
|
|||
|
|
|||
|
Wed Feb 10 11:03:22 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* configure.in (alphaev6*): Fix typo in target_cpu_default2.
|
|||
|
|
|||
|
Wed Feb 10 13:59:18 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
|
|||
|
|
|||
|
Wed Feb 10 10:35:05 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* tmp-emsgids.c: Delete.
|
|||
|
|
|||
|
Wed Feb 10 09:57:08 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
|
|||
|
coding standards.
|
|||
|
|
|||
|
Wed Feb 10 10:09:41 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10200.md (bset, bclr): Operand 0 is a read/write operand.
|
|||
|
|
|||
|
* reload1.c (reload_combine_note_store): Second argument is no
|
|||
|
longer unused/ignored. Handle multi-register hard regs.
|
|||
|
(move2add_note_store): Simplify.
|
|||
|
|
|||
|
Wed Feb 10 10:05:23 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* collect2.c (collect_execute): Remove cygwin-specific code.
|
|||
|
|
|||
|
Tue Feb 9 17:27:29 1999 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* system.h (_, N_): Remove dummy i18n macros.
|
|||
|
* protoize.c: Move inclusion of intl.h to after system.h.
|
|||
|
* cexp.y: Include intl.h.
|
|||
|
* cexp.c: Rebuilt.
|
|||
|
|
|||
|
Tue Feb 9 16:52:22 1999 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
|
|||
|
fpic/fPIC for windows32 targets.
|
|||
|
* i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
|
|||
|
paths with '/'.
|
|||
|
* i386/mingw32.h (CPP_SPEC): Define.
|
|||
|
(CPP_PREDEFINES): Add MINGW32 version id.
|
|||
|
* i386/crtdll.h (CPP_PREDEFINES): Likewise.
|
|||
|
|
|||
|
* Makefile.in (collect2$(exeext)): Delete redundant dependency and
|
|||
|
add missing exeext to target.
|
|||
|
|
|||
|
* gcc.c (convert_filename): Handle null filename argument.
|
|||
|
|
|||
|
Wed Feb 10 15:46:10 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
|
|||
|
m constraint instead of QT.
|
|||
|
|
|||
|
1999-02-09 Brendan Kehoe <brendan@cygnus.com>
|
|||
|
|
|||
|
* cpplib.c (special_symbol): Move IP to be declared in function
|
|||
|
scope, rather than individual case statements.
|
|||
|
|
|||
|
1999-02-09 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppfiles.c (finclude): Handle pipes properly under old BSD
|
|||
|
derivatives.
|
|||
|
|
|||
|
1999-02-09 Melissa O'Neill <oneill@cs.sfu.ca>
|
|||
|
|
|||
|
* system.h: Provide fallback definitions for S_ISCHR,
|
|||
|
S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
|
|||
|
|
|||
|
1999-02-09 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (do_define): Allow redefining __STDC__ with -D.
|
|||
|
|
|||
|
1999-02-09 Jim Blandy <jimb@zwingli.cygnus.com>
|
|||
|
|
|||
|
* configure.in: For PowerPC configurations, accept "401", "ec603e",
|
|||
|
"740", and "750" as valid arguments to --with-cpu.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Tue Feb 9 00:00:14 1999 Mark Kettenis <kettenis@gnu.org>
|
|||
|
|
|||
|
* configure.in (i[34567]86-*gnu*): Set float_format to i386.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Mon Feb 8 22:38:24 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* rs6000.md: Revert "alternate use of crs if cr0 not available"
|
|||
|
patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
|
|||
|
|
|||
|
Mon Feb 8 21:36:44 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* output.h (current_function_has_computed_jump): Rename from
|
|||
|
current_function_addresses_labels.
|
|||
|
* function.h (struct function): Likewise for addresses_labels member.
|
|||
|
* rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
|
|||
|
* function.c (current_function_has_computed_jump): Likewise.
|
|||
|
Update all references.
|
|||
|
* integrate.c (function_cannot_inline_p):
|
|||
|
Test current_function_has_computed_jump instead of addresses_labels.
|
|||
|
(initialize_for_inline): Likewise save.
|
|||
|
(output_inline_function): Likewise restore.
|
|||
|
|
|||
|
* expr.c (expand_expr): Don't reference addresses_labels variables.
|
|||
|
* stmt.c (expand_computed_goto): Set has_computed_jump.
|
|||
|
|
|||
|
1999-02-08 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
This is being installed only to get it into the repository to help
|
|||
|
with the revert, resubmit & review process for the massive rs6000.md
|
|||
|
changes.
|
|||
|
* rs6000.md (andsi3_internal1 splitter): Don't split if using the
|
|||
|
rlwinm instruction.
|
|||
|
(anddi3_internal1): Likewise.
|
|||
|
(andsi3_internal{2,3}): Correct some insn lengths.
|
|||
|
(anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
|
|||
|
mnemonics.
|
|||
|
|
|||
|
Mon Feb 8 21:31:06 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* loop.c (reg_single_usage): New file-scope variable ...
|
|||
|
(scan_loop): ... moved out of here. Always initialize.
|
|||
|
Test loop_has_call instead of reg_single_usage not zero.
|
|||
|
Free reg_single_usage after strength reduction.
|
|||
|
(count_loop_regs_set): Assume single_usage non-zero.
|
|||
|
(combine_givs_used_by_other): Test reg_single_usage.
|
|||
|
(load_mems_and_recount_loop_regs_set): Remove reg_single_usage
|
|||
|
as a parameter. Assume non-zero.
|
|||
|
|
|||
|
1999-02-08 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (special_symbol): Rewrite. Don't copy things
|
|||
|
multiple times. Handle __STDC__ specially. T_CONST
|
|||
|
indicates a constant /string/. Don't handle T_*_TYPE and
|
|||
|
T_SPEC_DEFINED. Use cpp_buf_line_and_col instead of
|
|||
|
adjust_position. Determine the file buffer only if needed.
|
|||
|
(initialize_builtins): Handle __SIZE_TYPE__,
|
|||
|
__PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
|
|||
|
__REGISTER_PREFIX__ with T_CONST special hashtab entries.
|
|||
|
Don't provide __OBJC__; the driver does that. Provide
|
|||
|
__STDC_VERSION__, using T_CONST. Use T_STDC for
|
|||
|
__STDC__. Give install the length of all symbols defined.
|
|||
|
(eval_if_expression): Drop code to insert and remove the
|
|||
|
"defined" special symbol.
|
|||
|
|
|||
|
* cpplib.h: Remove SELF_DIR_DUMMY (no longer used). Remove
|
|||
|
T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
|
|||
|
|
|||
|
* cpphash.c (install): Drop the `ivalue' parameter. Constify
|
|||
|
the `value' parameter. All callers changed.
|
|||
|
* cpphash.h (install): Change prototype to match.
|
|||
|
(union hashval): Remove `ival' member.
|
|||
|
* cppexp.c (cpp_lex): Handle `defined' here.
|
|||
|
|
|||
|
Mon Feb 8 17:29:42 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.h (EXTRA_CONSTRAINT): Fix comment.
|
|||
|
|
|||
|
Mon Feb 8 18:57:45 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* c-typeck.c (check_init_type_bitfields): Use nonincremental
|
|||
|
initialization of unions whose first member is a bitfield.
|
|||
|
Remove unnecessary code for checking the declaration mode
|
|||
|
after DECL_C_BIT_FIELD.
|
|||
|
|
|||
|
* varasm.c (output_constructor): Additional comment about the
|
|||
|
constructor of bitfield union initialization.
|
|||
|
|
|||
|
Tue Feb 9 11:55:04 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (*movhi_stik): New pattern.
|
|||
|
(movhi): Allow some immediate constants to be directly
|
|||
|
stored in memory.
|
|||
|
|
|||
|
Tue Feb 9 11:34:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (all call patterns): Add constraints "Ur".
|
|||
|
(call, call_value): Force address into a register if not valid
|
|||
|
for a call instruction.
|
|||
|
(load_immed_address): Emit a USE of the SYMBOL_REF that is
|
|||
|
forced into memory.
|
|||
|
* config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
|
|||
|
|
|||
|
Tue Feb 9 11:08:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
|
|||
|
Rename from call_operand and symbolic_operand respectively. All
|
|||
|
callers changed.
|
|||
|
* config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
|
|||
|
Likewise.
|
|||
|
* config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
|
|||
|
Likewise.
|
|||
|
(PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
|
|||
|
|
|||
|
Tue Feb 9 10:52:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
|
|||
|
LO_SUM address for HImode or HFmode but instead force address into
|
|||
|
a register so that it is offsettable.
|
|||
|
(c4x_emit_move_sequence): Handle LO_SUM immediate address.
|
|||
|
|
|||
|
Tue Feb 9 10:46:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
|
|||
|
REG+REG addressing if strength reduction enabled.
|
|||
|
|
|||
|
Tue Feb 9 10:10:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/t-c4x (LIBGCC2_CFLAGS): Delete.
|
|||
|
(TARGET_LIBGCC2_CFLAGS): Define.
|
|||
|
|
|||
|
1999-02-08 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/v850/v850.md: Replace \\n\\t with \\;
|
|||
|
|
|||
|
* config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
|
|||
|
* config/v850/v850.c (construct_restore_jr, construct_save_jarl):
|
|||
|
Enforce TARGET_LONG_CALLS option.
|
|||
|
|
|||
|
Mon Feb 8 11:43:07 1999 Donn Terry <donn@interix.com>
|
|||
|
|
|||
|
* real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
|
|||
|
|
|||
|
Mon Feb 8 11:37:24 1999 Marc Espie (espie@cvs.openbsd.org)
|
|||
|
|
|||
|
* m88k/t-luna-gas: Remove bash dependency.
|
|||
|
|
|||
|
Mon Feb 8 11:34:44 1999 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* collect2.c (xrealloc): Fix typo in last change.
|
|||
|
|
|||
|
Mon Feb 8 09:13:38 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Feb 7 22:18:42 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* tree.h (TYPE_CHECK): Make it clear to the preprocessor
|
|||
|
that we do not want macro replacement within a character constant.
|
|||
|
(TYPE_CHECK1): Likewise.
|
|||
|
|
|||
|
Sun Feb 7 15:37:10 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* tree.h (DECL_P): New macro.
|
|||
|
|
|||
|
Sun Feb 7 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Feb 6 18:14:46 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10300.md (reload_insi): Do not earlyclobber the output operand.
|
|||
|
|
|||
|
* README.g77, gcc.c, gcc.texi: Update email addresses.
|
|||
|
* invoke.texi system.h: Likewise.
|
|||
|
|
|||
|
Sat Feb 6 11:04:08 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* unroll.c (find_splittable_givs): After express_from, call replace_rtx
|
|||
|
to convert dest_reg to new_reg.
|
|||
|
|
|||
|
Sat Feb 6 10:31:35 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (reload_combine_note_store): Be more careful with
|
|||
|
STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
|
|||
|
(move2add_note_store): Likewise.
|
|||
|
|
|||
|
Sat Feb 6 10:18:01 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
|
|||
|
U_CHAR* when assigning to one. Ensure the values of a ?: operator
|
|||
|
have the same type.
|
|||
|
|
|||
|
* cppinit.c (initialize_char_syntax): Use K&R function definition.
|
|||
|
|
|||
|
Sat Feb 6 11:17:03 1999 Richard Earnshaw <rearnsha@arm.com>
|
|||
|
|
|||
|
Support for ARM9
|
|||
|
* config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
|
|||
|
* config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
|
|||
|
(TARGET_CPU_DEFAULT): Rework to support ARM9.
|
|||
|
(CPP_CPU_ARCH_SPEC): Likewise.
|
|||
|
(enum processor_type): Likewise.
|
|||
|
* config/arm/arm.md (attr cpu): Add arm9.
|
|||
|
|
|||
|
General scheduling changes
|
|||
|
* config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
|
|||
|
(max_insns_skipped): New variable.
|
|||
|
(arm_override_options): If generating hard floating point code for
|
|||
|
the FPA, emit code for version 3.
|
|||
|
When optimizing for space, don't synthesize constants.
|
|||
|
Reword several flags based on the requested processor and optimization
|
|||
|
level.
|
|||
|
(use_return_insn): New argument iscond, all callers changed. Don't
|
|||
|
use a return insn if it will be conditional and that would be
|
|||
|
expensive; eg on StrongARM.
|
|||
|
(arm_adjust_cost): Anti- and output- dependencies normally have no
|
|||
|
cost.
|
|||
|
(load_multiple_sequence): Newer ARMs don't benefit from ldm if
|
|||
|
the sequence is short.
|
|||
|
(final_prescan_insn): Use max_insns_skipped instead of
|
|||
|
MAX_INSNS_SKIPPED. Note whether we will make a return instruction
|
|||
|
conditional, and aviod this if it would be expensive.
|
|||
|
* config/arm/arm.md (scheduling attributes and function units):
|
|||
|
Rewrite to better describe ARM8, 9 and StrongARM.
|
|||
|
|
|||
|
* config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
|
|||
|
s_register_operand.
|
|||
|
(*ifcompare_plus_move): Use arm_rhs_operand in place of
|
|||
|
arm_rhsm_operand. Rework constraints.
|
|||
|
(*if_plus_move): Likewise.
|
|||
|
(*ifcompare_move_plus): Likewise.
|
|||
|
(*if_move_plus): Likewise.
|
|||
|
(*ifcompre_arith_move): Likewise.
|
|||
|
(*if_arith_move): Likewise.
|
|||
|
(*ifcompare_move_arith): Likewise.
|
|||
|
(*if_move_arith): Likewise.
|
|||
|
|
|||
|
* config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
|
|||
|
|
|||
|
1999-02-05 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): A store using an address giv for which
|
|||
|
we have no life information is not reversible.
|
|||
|
|
|||
|
Fri Feb 5 17:08:01 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* function.c (fixup_var_refs): Scan catch_clauses too.
|
|||
|
|
|||
|
Fri Feb 5 11:49:49 1999 Benjamin Kosnik <bkoz@loony.cygnus.com>
|
|||
|
|
|||
|
* c-common.c (decl_attributes): Fix reserved space for init_priority.
|
|||
|
* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
|
|||
|
|
|||
|
Fri Feb 5 12:37:05 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (strength_reduce): Clear not_every_iteration when
|
|||
|
passing the NOTE_INSN_LOOP_CONT note.
|
|||
|
|
|||
|
* haifa-sched.c (add_dependence): Do not add a dependency on a
|
|||
|
note.
|
|||
|
|
|||
|
Fri Feb 5 10:55:43 1999 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* recog.c (split_block_insns): Only call update_flow_info if
|
|||
|
instruction scheduling is enabled.
|
|||
|
|
|||
|
1999-02-05 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* Makefile.in (gen-protos): Use libcpp.a like everyone else.
|
|||
|
|
|||
|
Fri Feb 5 07:09:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (first_loop_store_insn): New file-scope variable.
|
|||
|
(prescan_loop): Set it.
|
|||
|
(check_dbra_loop): Check if a store depends on a register
|
|||
|
that is set after the store.
|
|||
|
|
|||
|
Fri Feb 5 06:55:15 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* unroll.c (entire file): Remove tabs / spaces at end of lines.
|
|||
|
Replace spaces with tabs where appropriate.
|
|||
|
|
|||
|
Thu Feb 4 15:12:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (scan_loop): New argument loop_cont. Changed caller.
|
|||
|
(strength_reduce): New argument loop_cont. Changed caller.
|
|||
|
Before clearing not_every_iteration after a label, check if
|
|||
|
we are not already past LOOP_CONT.
|
|||
|
|
|||
|
1999-02-04 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cpperror.c (cpp_print_containing_files): Fix formatting
|
|||
|
bug induced by merge.
|
|||
|
|
|||
|
1999-02-04 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (initialize_char_syntax): Move to cppinit.c.
|
|||
|
(cpp_define): Remove redundant syntax checks.
|
|||
|
(make_assertion): Rename cpp_assert, remove redundant syntax
|
|||
|
checks, export.
|
|||
|
(cpp_options_init): Don't init things to zero twice.
|
|||
|
(cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
|
|||
|
(do_include): Kill excessively verbose #import warning that
|
|||
|
snuck back in in the gcc2 merge.
|
|||
|
(convert_string): Removed.
|
|||
|
(do_line): Rewrite with simple last-name-used cache instead of
|
|||
|
private hashtable.
|
|||
|
(cpp_start_read): Call initialize_char_syntax here, not...
|
|||
|
(cpp_reader_init): ...here.
|
|||
|
(cpp_handle_options): Support the -std switch.
|
|||
|
* cpplib.h (cpp_buffer): Add last_nominal_fname member.
|
|||
|
(cpp_options): Add c9x flag.
|
|||
|
Declare all the is_* tables and trigraph table here, as const.
|
|||
|
Prototype cpp_assert and initialize_char_syntax.
|
|||
|
* cppinit.c: New file.
|
|||
|
* cppfiles.c (read_and_prescan): Optimize.
|
|||
|
* Makefile.in (LIBCPP_OBJS): Add cppinit.o.
|
|||
|
|
|||
|
Thu Feb 4 10:46:30 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
|
|||
|
[u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
|
|||
|
before calling gen_div_trap.
|
|||
|
|
|||
|
Wed Feb 3 21:56:27 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
|
|||
|
than numeric value for target_cpu_default..
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Wed Feb 3 21:55:56 1999 Marc Espie <Marc.Espie@liafa.jussieu.fr>
|
|||
|
|
|||
|
* Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
|
|||
|
mkstemp. Get them from libiberty.
|
|||
|
(COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
|
|||
|
(PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
|
|||
|
(cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
|
|||
|
(mkstemp.o, getopt1.o, getopt.o): Likewise.
|
|||
|
|
|||
|
* pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
|
|||
|
values.
|
|||
|
* pa-hpux.h (LINK_SPEC): Likewise.
|
|||
|
* pa-hpux10.h (LINK_SPEC): Likewise.
|
|||
|
* pa-hpux9.h (LINK_SPEC): Likewise.
|
|||
|
* pa-osf.h (LINK_SPEC): Likewise.
|
|||
|
* pa-pro.h (TARGET_DEFAULT): Likewise.
|
|||
|
* pa1.h (TARGET_DEFAULT): Likewise.
|
|||
|
* pa.h (MASK_*): New defines.
|
|||
|
(TARGET_*): Use symbolic values rather than numeric values.
|
|||
|
(TARGET_SWITCHES): Likewise.
|
|||
|
(TARGET_DEFAULT): Likewise.
|
|||
|
(CPP_SPEC): Likewise.
|
|||
|
|
|||
|
Wed Feb 3 21:07:38 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
|
|||
|
* reload.c (find_reusable_reload): New function, broken out of
|
|||
|
push_reload. Add code to verify that none of the involved
|
|||
|
outputs are subject to earlyclobbers.
|
|||
|
(push_reload): Break out new function find_reusable_reload.
|
|||
|
Delete "register" keyword for IN, OUT args.
|
|||
|
|
|||
|
Wed Feb 3 15:51:04 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.c (true_reg_or_0_operand) : New function.
|
|||
|
* config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
|
|||
|
* config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
|
|||
|
Use true_reg_or_0_operand for div_trap.
|
|||
|
|
|||
|
Wed Feb 3 20:44:59 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.h (express_from): Declare.
|
|||
|
(struct induction): Replace derived flag with derived_from pointer.
|
|||
|
* loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
|
|||
|
(express_from): No longer static.
|
|||
|
* unroll.c (find_splittable_givs): Replace derived with derived_from.
|
|||
|
When processing an address giv with which another giv has been
|
|||
|
combined that has also been derived from a third giv, handle like
|
|||
|
having combined with the third giv.
|
|||
|
Set splittable_regs_updates appropriately for derived givs.
|
|||
|
|
|||
|
Wed Feb 3 15:26:58 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
|
|||
|
|
|||
|
Wed Feb 3 11:56:23 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.c (insn_sets_and_refs_are_delayed): New function.
|
|||
|
* pa.h (INSN_SETS_ARE_DELAYED): Use it.
|
|||
|
(INSN_REFERENCES_ARE_DELAYED): Likewise.
|
|||
|
|
|||
|
Wed Feb 3 06:24:49 1999 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
|
|||
|
* config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
|
|||
|
(TARGET_LIBGCC2_CFLAGS): Define.
|
|||
|
(LIBGCC2_DEBUG_CFLAGS): Define.
|
|||
|
* config/arm/t-netbsd: Likewise.
|
|||
|
* config/arm/t-semi: Likewise.
|
|||
|
* config/arm/t-semiaof: Likewise.
|
|||
|
* config/arm/t-riscix: Likewise.
|
|||
|
|
|||
|
Wed Feb 3 10:59:07 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.c (print_operand_address): When printing a
|
|||
|
SYMBOL_REF that ends in `.<letter>' put parentheses around it.
|
|||
|
|
|||
|
Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org>
|
|||
|
|
|||
|
* i386/freebsd*.h now allows '$' in label names and does not use the
|
|||
|
PCC struct return method.
|
|||
|
|
|||
|
Tue Feb 2 22:38:23 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in: Change all uses of AR to AR_FOR_TARGET. Change all uses
|
|||
|
of HOST_AR to AR. Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
|
|||
|
(RANLIB_TEST): Test to see if ranlib exists. Only test absolute file
|
|||
|
names if host == target.
|
|||
|
(HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
|
|||
|
(AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
|
|||
|
(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
|
|||
|
setting them to *_FOR_TARGET.
|
|||
|
* cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
|
|||
|
Delete.
|
|||
|
|
|||
|
Tue Feb 2 22:38:19 1999 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
|||
|
|
|||
|
* toplev.h (read_integral_parameter): Declare.
|
|||
|
* toplev.c (read_integral_parameter): New function.
|
|||
|
|
|||
|
Fri Jan 29 21:00:56 1999 Bob Manson <manson@charmed.cygnus.com>
|
|||
|
|
|||
|
* resource.c, resource.h: New files.
|
|||
|
* Makefile.in (OBJS): Add it.
|
|||
|
|
|||
|
* haifa-sched.c (regno_use_in): Moved to rtlanal.c.
|
|||
|
(split_block_insns): Moved to recog.c.
|
|||
|
(update_flow_info): Make public.
|
|||
|
* rtl.h: Declare them.
|
|||
|
|
|||
|
* reorg.c: Moved the functions dealing with computing resource
|
|||
|
usage to resource.c.
|
|||
|
|
|||
|
* sched.c (regno_use_in): Moved to rtlanal.c.
|
|||
|
(update_flow_info): Make public.
|
|||
|
(schedule_insns): Use split_block_insns.
|
|||
|
|
|||
|
* recog.c (split_block_insns): New function.
|
|||
|
|
|||
|
Tue Feb 2 22:03:26 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
|
|||
|
(LINK_OS_DEFAULT_SPEC): Delete, unused.
|
|||
|
|
|||
|
Tue Feb 2 20:29:34 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* configure.in (arm-*-oabi): Support.
|
|||
|
* configure: Regenerate.
|
|||
|
* config/arm/unknown-elf-oabi.h: New file.
|
|||
|
|
|||
|
Tue Feb 2 19:43:59 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
|
|||
|
Make the anonymous pattern match when ! optimize_size.
|
|||
|
(ashlsi3 size optimizer): New pattern.
|
|||
|
|
|||
|
* intl/Makefile.in (uninstall): Add missing "; \".
|
|||
|
|
|||
|
Tue Feb 2 18:21:23 1999 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
|
|||
|
synonym.
|
|||
|
|
|||
|
Tue Feb 2 20:24:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (loop_optimize): Fix value max_uid_for_loop is reset
|
|||
|
to after find_and_verify_loops call.
|
|||
|
|
|||
|
Tue Feb 2 19:48:29 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* (recombine_givs): Don't use a giv that's likely to be dead to
|
|||
|
derive others.
|
|||
|
|
|||
|
* loop.c (recombine_givs): Fix test for lifetime overlaps / loop
|
|||
|
wrap around when deriving givs.
|
|||
|
|
|||
|
Mon Feb 1 20:00:40 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* recog.c (check_asm_operands): Treat indeterminate operand ok
|
|||
|
results as success. Try harder to resolve a matching constraint.
|
|||
|
* stmt.c (expand_asm_operands): Recognize when an output operand's
|
|||
|
constraint does not allow memory. Treat indeterminate operand ok
|
|||
|
results as failure. Try harder to resolve a matching constraint.
|
|||
|
|
|||
|
Mon Feb 1 15:00:02 1999 Ken Raeburn <raeburn@cygnus.com>
|
|||
|
|
|||
|
Use varrays for constant-equivalence data:
|
|||
|
|
|||
|
* varray.h (struct const_equiv_data): New type.
|
|||
|
(union varray_data_tag): New element const_equiv.
|
|||
|
(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
|
|||
|
(VARRAY_SIZE): New macro, returns number of elements.
|
|||
|
* integrate.h: Include varray.h.
|
|||
|
(struct inline_remap): Replace const_equiv_map, const_age_map and
|
|||
|
const_equiv_map_size with a const_equiv_varray element.
|
|||
|
(MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
|
|||
|
needed.
|
|||
|
(SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
|
|||
|
simultaneously, growing the varray if needed.
|
|||
|
|
|||
|
* integrate.c (global_const_equiv_map,
|
|||
|
global_const_equiv_map_size): Deleted, replaced by....
|
|||
|
(global_const_equiv_varray): New variable.
|
|||
|
(expand_inline_function): References changed.
|
|||
|
* integrate.h: Update declarations.
|
|||
|
|
|||
|
* integrate.c (process_reg_parm, expand_inline_function,
|
|||
|
copy_rtx_and_substitute, try_constants, subst_constants,
|
|||
|
mark_stores): Use varray allocation and accessor macros, new
|
|||
|
integrate.h macros, and global_const_equiv_varray. Don't
|
|||
|
conditionalize non-NULL stores on array size; instead, expand the
|
|||
|
array as needed.
|
|||
|
* unroll.c (unroll_loop): Likewise.
|
|||
|
|
|||
|
* unroll.c (unroll_loop): Initialize const_equiv_varray element to
|
|||
|
zero. After allocating varray, always exit through bottom of
|
|||
|
function, where it can be deallocated if needed. Don't explicitly
|
|||
|
reallocate const_equiv_map storage; instead, just ensure the
|
|||
|
varray has been initialized, and update the global reference.
|
|||
|
|
|||
|
Mon Feb 1 09:40:25 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* system.h (inline, const): Handle these for stage2 (and later) gcc.
|
|||
|
|
|||
|
* dwarf2out.c (inline): Don't define.
|
|||
|
|
|||
|
* dwarfout.c (inline): Likewise.
|
|||
|
|
|||
|
Sun Jan 31 22:04:37 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* loop.c (recombine_givs): Dump recombination and derivation data.
|
|||
|
|
|||
|
Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* flags.h: Declare flag_no_ident.
|
|||
|
* toplev.c: Define flag_no_ident. Process -f(no-)ident here.
|
|||
|
* c-tree.h: Don't declare flag_no_ident.
|
|||
|
* c-decl.c: Don't define flag_no_ident. Don't process
|
|||
|
-f(no-)ident switches here.
|
|||
|
|
|||
|
* config/elfos.h (ASM_FILE_END): Output final .ident directive
|
|||
|
only if !flag_no_ident.
|
|||
|
* config/ptx4.h: Likewise.
|
|||
|
* config/svr4.h: Likewise.
|
|||
|
* config/alpha/elf.h: Likewise.
|
|||
|
* config/arm/linux-elf.h: Likewise.
|
|||
|
* config/i386/sco5.h: Likewise.
|
|||
|
* config/i860/fx2800.h: Likewise.
|
|||
|
* config/mips/gnu.h: Likewise.
|
|||
|
* config/i386/osfrose.h: Likewise.
|
|||
|
|
|||
|
* gcc.c (C specs): Map -Qn to -fno-ident.
|
|||
|
* objc/lang-specs.h: Likewise.
|
|||
|
|
|||
|
Mon Feb 1 10:52:07 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* configure.in: Don't remove loop.o and unroll.o when
|
|||
|
enable-haifa is selected.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sun Jan 31 13:22:02 1999 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* i386.md (movsicc, movhicc, movsfcc, movdfcc,
|
|||
|
movxfcc, movdicc): Delete unconstrained alternatives.
|
|||
|
* i386.c (output_fp_conditional_move,
|
|||
|
output_int_conditional_move): Delete unused case.
|
|||
|
|
|||
|
Sun Jan 31 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Jan 31 00:52:37 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (mov patterns): Emit the assembler aliases mov and fmov
|
|||
|
instead of bis and cpys. Combine alternatives where possible.
|
|||
|
|
|||
|
Sat Jan 30 23:14:13 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gcov.c (fnotice): Add missing FILE* parameter.
|
|||
|
(function_summary): Fix format specifiers in calls to `fnotice'.
|
|||
|
(output_data): Likewise.
|
|||
|
|
|||
|
* toplev.c (fnotice): Constify char* parameter.
|
|||
|
|
|||
|
* toplev.h (fnotice): Add prototype.
|
|||
|
Wrap prototype with BUFSIZ to protect FILE* usage.
|
|||
|
|
|||
|
Sun Jan 31 15:33:09 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
|
|||
|
|
|||
|
Sat Jan 30 08:27:23 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* combine.c (distribute_notes): Handle REG_EH_REGION notes.
|
|||
|
|
|||
|
* alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
|
|||
|
function definition.
|
|||
|
(aliases_everything_p, write_dependence_p):Likewise.
|
|||
|
|
|||
|
* install.texi: Fix merge lossages.
|
|||
|
|
|||
|
* cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
|
|||
|
is defined.
|
|||
|
* collect2.c (main): Likewise.
|
|||
|
* cppmain.c (main): Likewise.
|
|||
|
* gcc.c (main): Likewise.
|
|||
|
* gcov.c (main): Likewise.
|
|||
|
* protoize.c (main): Likewise.
|
|||
|
* toplev.c (main): Likewise.
|
|||
|
|
|||
|
* pa.md (parallel shift and shiftadd): Mark output of shift as an
|
|||
|
earlyclobber.
|
|||
|
|
|||
|
* loop.c: Disable recent loop changes. Temporary as Joern
|
|||
|
continues to fix problems.
|
|||
|
|
|||
|
Sat Jan 30 03:24:37 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Size reg_map according to reg_iv_type.
|
|||
|
|
|||
|
Fri Jan 29 18:26:07 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* emit-rtl.c (remove_insn): New function.
|
|||
|
* rtl.h (remove_insn): Add prototype.
|
|||
|
* function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
|
|||
|
|
|||
|
Fri Jan 29 22:34:41 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (recombine_givs): Don't try to derive givs that have combined.
|
|||
|
|
|||
|
Fri Jan 29 15:00:39 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
|
|||
|
when declaring arguments and calling va_arg() to initialize them.
|
|||
|
|
|||
|
* collect2.c (notice): Likewise.
|
|||
|
|
|||
|
* loop.c (find_life_end): Use PROTO() macro in the prototype.
|
|||
|
|
|||
|
Fri Jan 29 14:36:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* collect2.c (error): Fix typo in declaration.
|
|||
|
|
|||
|
* cpperror.c (cpp_message): Likewise.
|
|||
|
|
|||
|
* cpplib.c (cpp_warning): Likewise.
|
|||
|
|
|||
|
* cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
|
|||
|
ATTRIBUTE_PRINTF_1.
|
|||
|
|
|||
|
* toplev.c (error): Fix typo in declaration.
|
|||
|
|
|||
|
Fri Jan 29 15:44:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
|
|||
|
forward from cont dominator.
|
|||
|
|
|||
|
Fri Jan 29 07:10:27 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c (eprint_string): Constify a char*.
|
|||
|
(notice): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
|
|||
|
(vnotice): Constify a char*.
|
|||
|
(error): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
|
|||
|
(verror): Constify a char*.
|
|||
|
(warning): Likewise. Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
|
|||
|
(vwarning): Constify a char*.
|
|||
|
(error_with_line): Likewise. Use PVPROTO not VPROTO, add
|
|||
|
ATTRIBUTE_PRINTF_2.
|
|||
|
(verror_with_line): Constify a char*.
|
|||
|
(vwarning_with_line): Likewise.
|
|||
|
(warning_with_line): Likewise. Use PVPROTO not VPROTO, add
|
|||
|
ATTRIBUTE_PRINTF_2.
|
|||
|
(pedwarn): Constify a char*. Use PVPROTO not VPROTO, add
|
|||
|
ATTRIBUTE_PRINTF_1.
|
|||
|
(pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
|
|||
|
(pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
|
|||
|
Also correct typo in parameter name declaration.
|
|||
|
(make_assertion): Constify a char*.
|
|||
|
(quote_string_for_make): Likewise.
|
|||
|
(deps_output): Likewise.
|
|||
|
(fatal): Likewise. Use PVPROTO not VPROTO, add
|
|||
|
ATTRIBUTE_PRINTF_1. Use ATTRIBUTE_NORETURN not an explicit
|
|||
|
"__attribute__ ((noreturn))".
|
|||
|
(fancy_abort): Likewise for ATTRIBUTE_NORETURN.
|
|||
|
(pfatal_with_name): Likewise.
|
|||
|
(pipe_closed): Likewise.
|
|||
|
(memory_full): Likewise.
|
|||
|
|
|||
|
Fri Jan 29 00:14:55 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Grow set_in_loop / n_times_set /
|
|||
|
may_not_optimize to proper size when converting biv increments
|
|||
|
into givs.
|
|||
|
If necessary, reallocate reg_iv_type / reg_iv_info before calling
|
|||
|
recombine_givs.
|
|||
|
|
|||
|
Thu Jan 28 23:24:08 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (recombine_givs): New parameter unroll_p. If set, don't
|
|||
|
generate complex adds. Changed caller.
|
|||
|
Don't generate adds that cost more than the original one.
|
|||
|
(strength_reduce): Warning fixes.
|
|||
|
|
|||
|
Thu Jan 28 09:41:11 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (hppa1.0-hp-hpux10*): Use t-pa.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Wed Jan 27 23:39:53 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* rtl.h (insn_first_p, no_jumps_between_p): Declare.
|
|||
|
* rtlanal.c (insn_first_p, no_jumps_between_p): New function.
|
|||
|
* loop.h (varray.h): Include.
|
|||
|
(struct induction): Change combined_with to unsigned.
|
|||
|
New members derived, ix and last_use.
|
|||
|
(reg_iv_type, reg_iv_info): Now varray_type. All references changed.
|
|||
|
(REG_IV_TYPE, REG_IV_INFO): Define.
|
|||
|
(first_increment_giv, last_increment_giv): Declare.
|
|||
|
* loop.c (loop_number_loop_cont): New static variable.
|
|||
|
(loop_number_cont_dominator): Likewise.
|
|||
|
(reg_iv_type, reg_iv_info): Now varray_type.
|
|||
|
(first_increment_giv, last_increment_giv): New variables.
|
|||
|
(compute_luids, verify_dominator, find_life_end): New functions.
|
|||
|
(cmp_recombine_givs_stats, recombine_givs): Likewise.
|
|||
|
(loop_optimize): Allocate loop_number_loop_cont and
|
|||
|
loop_number_cont_dominator. Use compute_luids.
|
|||
|
(find_and_verify_loops): Initialize loop_number_loop_cont and
|
|||
|
loop_number_cont_dominator.
|
|||
|
(strength_reduce): Try to find bivs that can be expressed as givs
|
|||
|
of another biv, and to convert biv increments into givs.
|
|||
|
Call recombine_givs. Handle derived givs.
|
|||
|
(record_biv): New argument location. All callers changed.
|
|||
|
(record_giv): Initialize derived and last_use fields.
|
|||
|
(basic_induction_var): New argument location. All callers changed.
|
|||
|
(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
|
|||
|
Increment combined_with instead of setting to 1.
|
|||
|
* unroll.c (derived_regs): New static variable.
|
|||
|
(unroll_loop): Initialize it.
|
|||
|
Allocate local_regno according to max_reg_num.
|
|||
|
(copy_loop_body): Cope with derived givs.
|
|||
|
(find_splittable_givs): Check for Givs made from biv increments.
|
|||
|
Set derived_regs for givs.
|
|||
|
* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
|
|||
|
|
|||
|
Wed Jan 27 19:31:36 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Handle case when a register
|
|||
|
has been used in a wider mode.
|
|||
|
|
|||
|
1999-01-27 Bruce Korb <autogen@linuxbox.com>
|
|||
|
|
|||
|
* fixinc/fixincl.c, fixinc/server.[ch]:
|
|||
|
Removed the last of the capitalized variable and proc names.
|
|||
|
|
|||
|
* fixinc/server.c: Removed the process open code.
|
|||
|
* fixinc/procopen.c: New file containing the proc open code.
|
|||
|
* fixinc/inclhack.tpl: Added code to bypass a readability test
|
|||
|
when a file is not present. A problem on some systems.
|
|||
|
* fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated.
|
|||
|
|
|||
|
Wed Jan 27 11:58:18 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cpplib.h (cpp_notice): Add prototype.
|
|||
|
|
|||
|
Wed Jan 27 02:20:48 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Merge gcc2 snapshot 19980929.
|
|||
|
|
|||
|
* cccp.c (PRINTF_PROTO): Remove.
|
|||
|
(PRINTF_PROTO_{1,2,3,4}: Likewise.
|
|||
|
* cexp.y: Likewise.
|
|||
|
* system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
|
|||
|
|
|||
|
* fix-header.c (cpp_file_lin_for_message): Delete. In libcpp.
|
|||
|
(cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
|
|||
|
(cpp_fatal, cpp-Pfatal_with_name): Likewise.
|
|||
|
|
|||
|
* gen-protos.c (hashf): Delete in cpphash.o.
|
|||
|
* gen-protos.c (hashf): Delete in cpphash.o.
|
|||
|
|
|||
|
* expr.c: Do not merge SAVE_STACKAREA_MODE changes.
|
|||
|
* expmed.c: Likewise.
|
|||
|
* rs6000.md: Likewise.
|
|||
|
|
|||
|
* rs6000.c, rs6000.md: Do not merge formatting changes yet.
|
|||
|
|
|||
|
Wed Jan 27 01:13:42 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
|
|||
|
* rs6000.md (movsi, movdi): Likewise.
|
|||
|
|
|||
|
Tue Jan 26 13:31:38 1999 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* function.c (expand_function_end): Pass arg_pointer_save_area to
|
|||
|
validize_mem before using it. Emit code into a sequence.
|
|||
|
|
|||
|
Tue Jan 26 13:41:38 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (doz + set cr and or + set cr patterns): Add missing
|
|||
|
'#' to split patterns. Correct indentation of some new patterns.
|
|||
|
|
|||
|
1999-01-26 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>
|
|||
|
|
|||
|
* cppfiles.c (safe_read): Deleted.
|
|||
|
(read_and_prescan): New function, replaces safe_read, converts
|
|||
|
and/or warns about trigraphs, silently converts odd line
|
|||
|
terminators (\r, \n\r, \r\n). Warns about no newline at EOF.
|
|||
|
(finclude): Use read_and_prescan; turn off nonblocking mode on
|
|||
|
the input descriptor; remove file-size-examination and
|
|||
|
no-newline-at-EOF gunk which is longer necessary; be more
|
|||
|
careful about checking that we've been handed a legitimate
|
|||
|
file to read (only real files, pipes, and ttys are acceptable).
|
|||
|
* cpplib.h (cpp_options): Rename no_trigraphs flag to
|
|||
|
`trigraphs' and invert its sense.
|
|||
|
(trigraph_table): Declare.
|
|||
|
(cpp_warning_with_line): Prototype.
|
|||
|
* cpplib.c: Remove all references to trigraph_pcp. Define
|
|||
|
trigraph_table; initialize it in initialize_char_syntax. Open
|
|||
|
files in nonblocking mode. s/no_trigraphs/trigraphs/
|
|||
|
throughout, and invert sense. Put cpp_warning_with_line back
|
|||
|
in and export it.
|
|||
|
|
|||
|
Tue Jan 26 23:21:49 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h (COUNTER_REGS): New register class.
|
|||
|
* config/c4x/c4x.md (*rptb_init): Change constraints.
|
|||
|
(rptb_end): Emit alternate looping instructions if
|
|||
|
RC register not allocated for loop counter.
|
|||
|
(decrement_and_branch_on_count): Allow other registers
|
|||
|
for loop counter.
|
|||
|
|
|||
|
1999-01-25 Zack Weinberg <zack@rabi.columbia.edu>
|
|||
|
|
|||
|
* cppexp.c (struct arglist): Removed.
|
|||
|
(parse_number): Use HOST_WIDE_INT for the accumulator.
|
|||
|
Allow two `l' suffixes unless C89. Clean up. Make static.
|
|||
|
(parse_charconst): New function broken out of cpp_lex.
|
|||
|
Code cleaned up drastically. Don't use a token_buffer.
|
|||
|
(token_buffer): Removed.
|
|||
|
(cpp_lex): Don't call parse_number on a constant string.
|
|||
|
Use parse_charconst.
|
|||
|
(cpp_parse_expr): Properly handle an ERROR op returned by
|
|||
|
cpp_lex.
|
|||
|
|
|||
|
1999-01-25 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c: Don't include signal.h, sys/times.h, or
|
|||
|
sys/resource.h. Don't declare localtime.
|
|||
|
(macroexpand): Handle special symbols here.
|
|||
|
(push_macro_expansion): Chop off the trailing '@ ' if possible
|
|||
|
here.
|
|||
|
(cpp_get_token): Don't do either of the above two things here.
|
|||
|
Move `string' label just after case '"' so that wide strings
|
|||
|
don't crash the preprocessor.
|
|||
|
|
|||
|
Sun Jan 24 20:13:45 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (left shift + set cr patterns): Add missing '#' to
|
|||
|
split patterns.
|
|||
|
(move register + set cr pattern): Likewise.
|
|||
|
(movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
|
|||
|
inadvertently deleted.
|
|||
|
|
|||
|
Sun Jan 24 08:07:59 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* stmt.c (stmt_loop_nest_empty): New function.
|
|||
|
* tree.h (stmt_loop_nest_empty): Declare it.
|
|||
|
* rtl.def (CALL_PLACEHOLDER): New rtx code.
|
|||
|
|
|||
|
Sun Jan 24 21:24:43 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
|
|||
|
New functions.
|
|||
|
(c4x_check_legit_addr): Remove USE and PLUS, allow
|
|||
|
LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
|
|||
|
(c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and
|
|||
|
CONST cases. Add LO_SUM.
|
|||
|
(c4x_print_operand): Modified 'C' and 'R' cases for calls.
|
|||
|
Added 'U' case. Remove dependence on SYMBOL_REF_FLAG.
|
|||
|
(c4x_print_operand_address): Handle LO_SUM.
|
|||
|
(c4x_scan_for_ldp): Delete. Hooray!
|
|||
|
(c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
|
|||
|
Split all insns.
|
|||
|
(c4x_immed_int_constant): Renamed from c4x_int_constant. All callers
|
|||
|
changed.
|
|||
|
(c4x_immed_float_constant): Renamed from c4x_float_constant. All
|
|||
|
callers changed.
|
|||
|
(c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
|
|||
|
and CONST.
|
|||
|
(c4x_U_constraint, symbolic_operand): New functions.
|
|||
|
(src_operand): Allow 'I' constants in HImode. Allow LO_SUM,
|
|||
|
disable SYMBOL_REF, LABEL_REF, and CONST.
|
|||
|
(lsrc_operand, tsrc_operand): Call src_operand instead of
|
|||
|
general_operand.
|
|||
|
(c4x_operand_subword): Update comments.
|
|||
|
|
|||
|
* config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
|
|||
|
(LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
|
|||
|
plus HIGH and LO_SUM for the C40.
|
|||
|
(ENCODE_SECTION_INFO): Define macro.
|
|||
|
(symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
|
|||
|
prototypes.
|
|||
|
(PREDICATE_CODES): Add symbolic_operand.
|
|||
|
|
|||
|
* config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
|
|||
|
c4x_emit_move_sequence.
|
|||
|
(floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
|
|||
|
to avoid symbol references.
|
|||
|
(all patterns with g constraint): Replace 'g' constraint with 'rIm'.
|
|||
|
(set_high): Renamed from set_high_use.
|
|||
|
(set_lo_sum): Renamed from set_ior_lo_use.
|
|||
|
(all call patterns): Make MEM explicit in call address operands.
|
|||
|
Modified output templates to use 'U' modifier.
|
|||
|
|
|||
|
Sun Jan 24 01:15:05 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Jan 23 22:34:57 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* final.c (bb_str): Qualify a char* with the keyword `const'.
|
|||
|
(add_bb_string, final_scan_insn, output_asm_insn): Likewise.
|
|||
|
|
|||
|
* fix-header.c (read_scan_file): Likewise.
|
|||
|
|
|||
|
* genoutput.c (output_epilogue, process_template): Likewise.
|
|||
|
|
|||
|
* local-alloc.c (requires_inout, block_alloc): Likewise.
|
|||
|
|
|||
|
* output.h (output_asm_insn, assemble_string): Likewise.
|
|||
|
|
|||
|
* recog.c (recog_constraints, check_asm_operands,
|
|||
|
decode_asm_operands, extract_insn, preprocess_constraints,
|
|||
|
constrain_operands): Likewise.
|
|||
|
|
|||
|
* recog.h (operand_alternative, recog_constraints, insn_template,
|
|||
|
insn_outfun, insn_operand_constraint, insn_name): Likewise.
|
|||
|
|
|||
|
* regclass.c (record_reg_classes, scan_one_insn): Likewise.
|
|||
|
|
|||
|
* regmove.c (find_matches): Likewise.
|
|||
|
|
|||
|
* reload.c (alternative_allows_memconst): Likewise.
|
|||
|
|
|||
|
* reload1.c (constraint_accepts_reg_p,
|
|||
|
reload_cse_simplify_operands): Likewise.
|
|||
|
|
|||
|
* rtl.h (decode_asm_operands): Likewise.
|
|||
|
|
|||
|
* scan.h (fn_decl): Likewise.
|
|||
|
|
|||
|
* varasm.c (assemble_string): Likewise.
|
|||
|
|
|||
|
Sat Jan 23 01:37:36 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (gcc_tooldir): Handle case where exec_prefix has
|
|||
|
not been explicitly set.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* fold-const.c (lshift_double): Mark 'prec' arguments as possibly
|
|||
|
unused.
|
|||
|
|
|||
|
* bitmap.h (bitmap_head_def): Make indx field unsigned.
|
|||
|
|
|||
|
* configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
|
|||
|
use $exec_prefix/$target_alias for gcc_tooldir.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Fri Jan 22 11:48:56 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* cppp.c (xrealloc): Fix typo last change.
|
|||
|
* cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
|
|||
|
* genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
|
|||
|
* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
|
|||
|
|
|||
|
1999-01-22 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.h (CR0_REGNO_P): New macro to test if cr0.
|
|||
|
(CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
|
|||
|
(PREDICATE_CODES): Add cc_reg_not_cr0_operand.
|
|||
|
(cc_reg_not_cr0_operand): Add declaration.
|
|||
|
|
|||
|
* rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
|
|||
|
pseudo register, or a control register that is not CR0.
|
|||
|
|
|||
|
* rs6000.md (all combiner patterns building . instructions): For
|
|||
|
all `.' instructions that do something and set cr0, add an
|
|||
|
alternative that does the operation, and then sets a different
|
|||
|
flag, in order to avoid using the costly mcrf instruction and also
|
|||
|
allow cr0 to be clobbered in asm statements. Also fix a few
|
|||
|
patterns that used the wrong register.
|
|||
|
|
|||
|
* rs6000.h (rs6000_cpu_select): Make string, names be const char *.
|
|||
|
(rs6000_debug_name): Make const char *, not char *.
|
|||
|
|
|||
|
* sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
|
|||
|
|
|||
|
* rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
|
|||
|
(rs6000_select): Use const char * in casts.
|
|||
|
|
|||
|
Fri Jan 22 07:43:01 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (gcc_tooldir): Move before first reference.
|
|||
|
Let autoconf substitute in a value.
|
|||
|
* configure.in (gcc_tooldir): Only use a relative path to the
|
|||
|
tool directory if $exec_prefix == $prefix.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* Makefile.in (tooldir): Replace with gcc_tooldir.
|
|||
|
|
|||
|
Thu Jan 21 23:21:57 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* m68k.md (ashldi_const): Disable for !TARGET_5200. Fix indentation.
|
|||
|
(ashldi3 expander): Similarly. Update comments.
|
|||
|
(ashrdi_const, lshrdi_const): Fix indentation.
|
|||
|
(ashrdi3, lshrdi3): Fix indentation. Update comments.
|
|||
|
|
|||
|
Thu Jan 21 21:53:36 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* emit-rtl.c (try_split): Don't try to split non-instructions.
|
|||
|
|
|||
|
Thu Jan 21 23:47:30 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* expr.c (emit_push_insn): Fix dumb typo.
|
|||
|
|
|||
|
Thu Jan 21 20:24:02 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
|
|||
|
transformations that we have performed earlier.
|
|||
|
* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
|
|||
|
|
|||
|
* alpha.md (prologue_stack_probe_loop): Don't do our own label
|
|||
|
handling, call gen_label_rtx instead.
|
|||
|
|
|||
|
Thu Jan 21 17:45:18 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
|
|||
|
|
|||
|
* cccp.c (xrealloc): Call malloc given a NULL old pointer.
|
|||
|
* collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
|
|||
|
* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
|
|||
|
* genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
|
|||
|
* genrecog.c, mips-tfile.c, protoize.c: Likewise.
|
|||
|
|
|||
|
Thu Jan 21 19:44:55 1999 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
|
|||
|
--with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
|
|||
|
adding -Wl,-bbigtoc to BOOT_LDFLAGS.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
* config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
|
|||
|
|
|||
|
Thu Jan 21 15:48:03 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cppexp.c (cpp_lex): Allocate token_buffer dynamically.
|
|||
|
|
|||
|
Thu Jan 21 14:18:04 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
|
|||
|
move_by_pieces.
|
|||
|
(MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
|
|||
|
(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
|
|||
|
(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
|
|||
|
(move_by_pieces): Use new macros.
|
|||
|
(emit_block_move): Use new macros.
|
|||
|
(clear_by_pieces): Use new macros.
|
|||
|
(clear_storage): Use new macros.
|
|||
|
(emit_push_insn): Use new macros.
|
|||
|
(expand_expr): Use new macros.
|
|||
|
* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
|
|||
|
Define.
|
|||
|
(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
|
|||
|
(MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
|
|||
|
(MOVE_MAX_PIECES): Move 8 bytes on SH4.
|
|||
|
* tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
|
|||
|
USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
|
|||
|
USE_STORE_PRE_DECREMENT): Describe new macros.
|
|||
|
|
|||
|
Thu Jan 21 14:13:31 1999 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* varasm.c (output_constant_pool): Use floor_log2 instead of
|
|||
|
exact_log2 for ASM_OUTPUT_ALIGN.
|
|||
|
|
|||
|
* stor-layout.c (layout_type): Do machine-dependent extra alignment.
|
|||
|
|
|||
|
* emit-rtl.c (operand_subword): Handle case when a subword outside
|
|||
|
the operand.
|
|||
|
|
|||
|
* tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
|
|||
|
the macros.
|
|||
|
|
|||
|
Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* cse.c (fold_rtx): Revert 29 Dec change.
|
|||
|
(cse_insn): Revert 12 Jan change.
|
|||
|
* expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
|
|||
|
* regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
|
|||
|
* rtl.def: Likewise.
|
|||
|
* rtl.h (CONSTANT_P): Likewise.
|
|||
|
|
|||
|
* expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
|
|||
|
to memory.
|
|||
|
* recog.c (immediate_operand): Accept CONSTANT_P_RTX.
|
|||
|
* alpha.c (input_operand): Likewise.
|
|||
|
* c4x.c (const_operand): Likewise.
|
|||
|
|
|||
|
* explow.c (allocate_dynamic_stack_space): Use register_operand
|
|||
|
instead of arith_operand, which does not exist.
|
|||
|
|
|||
|
* 1750a.h: Fix comment closure.
|
|||
|
* a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
|
|||
|
* arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
|
|||
|
* arm.h (TARGET_SWITCHES): Fix typo.
|
|||
|
* i370.md (anon mult and div patterns): Fix set mode mismatch.
|
|||
|
* i860.c (output_delayed_branch): Fix operands to constrain_operands.
|
|||
|
(output_delay_insn): Likewise.
|
|||
|
* m88k.md (anon rotate insns): Fix set mode mismatch.
|
|||
|
(anon BLKmode moves): Commonize and fix set mode mismatches.
|
|||
|
* ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
|
|||
|
* romp.md (movdf): Fix typo.
|
|||
|
|
|||
|
Thu Jan 21 00:29:35 1999 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* Makefile.in (install-common): Remove extraneous chmod for gcov
|
|||
|
install.
|
|||
|
|
|||
|
Wed Jan 20 18:15:08 1999 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* function.c (assign_parms): Save and restore setting of
|
|||
|
TREE_USED (parm).
|
|||
|
|
|||
|
Wed Jan 20 12:51:42 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
|
|||
|
Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
|
|||
|
|
|||
|
Tue Jan 19 21:20:52 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* recog.c (pop_operand): New function.
|
|||
|
* recog.h (pop_operand): Declare it.
|
|||
|
* genrecog.c (preds): Define it.
|
|||
|
|
|||
|
* expr.c (do_jump_for_compare): Handle conditional branch expanders
|
|||
|
emitting multiple jump instructions.
|
|||
|
* jump.c (condjump_label): New function.
|
|||
|
* rtl.h (condjump_label): Declare it.
|
|||
|
|
|||
|
Tue Jan 19 21:08:20 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expr.c (emit_move_insn_1): Revert 17 Dec change. Don't emit
|
|||
|
clobber during or after reload.
|
|||
|
|
|||
|
Tue Jan 19 16:56:03 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* genoutput.c (name_for_index): New function.
|
|||
|
(scan_operands, validate_insn_alternatives): Use it.
|
|||
|
* genrecog.c (insn_name_ptr_size): New variable.
|
|||
|
(make_insn_sequence): Fill in insn_name_ptr.
|
|||
|
(merge_trees): Use it.
|
|||
|
|
|||
|
Tue Jan 19 16:37:36 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386/isc.h (TARGET_DEFAULT): Define symbolicly.
|
|||
|
* i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
|
|||
|
* i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
|
|||
|
|
|||
|
Tue Jan 19 15:00:10 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (NUM_STORES): Delete.
|
|||
|
(loop_store_mems): Turn into an EXPR_LIST of MEMs.
|
|||
|
(prescan_loop): Properly initialize loop_mems_idx.
|
|||
|
(note_addr_stored): Simplify using list structure instead of
|
|||
|
fixed sized array.
|
|||
|
(invariant_p, check_dbra_loop, load_mems): Similarly.
|
|||
|
|
|||
|
* flow.c (invalidate_from_autoinc): New function.
|
|||
|
(mark_set_1, mark_used_regs): Use it.
|
|||
|
|
|||
|
* Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
|
|||
|
|
|||
|
1999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* invoke.texi (-mlong-double-64): New option description.
|
|||
|
|
|||
|
1999-01-19 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
|
|||
|
LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
|
|||
|
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New. Set to LONG_DOUBLE_TYPE_SIZE
|
|||
|
if not defined.
|
|||
|
* i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
|
|||
|
(CPP_SPECS): Add -mlong-double-64 support.
|
|||
|
(TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
|
|||
|
(TARGET_SWITCHES): Add -mlong-double-64 support.
|
|||
|
(LONG_DOUBLE_TYPE_SIZE): Likewise.
|
|||
|
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
|
|||
|
* i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
|
|||
|
(CPP_SPECS): Add -mlong-double-64 support.
|
|||
|
* i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
|
|||
|
(MULTILIB_DIRNAMES): Add ld64.
|
|||
|
* i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
|
|||
|
|
|||
|
Tue Jan 19 11:54:04 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
|
|||
|
invisible reference.
|
|||
|
|
|||
|
Tue Jan 19 14:51:36 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (offsettable_addr_operand): Delete.
|
|||
|
(offsettable_mem_operand): New function.
|
|||
|
* rs6000.h (PREDICATE_CODES): Reflect function change.
|
|||
|
(RS6000_SAVE_TOC): Represent address as MEM.
|
|||
|
* win-nt.h (RS6000_SAVE_TOC): Same.
|
|||
|
* rs6000.md (indirect calls): Change offsettable address parameter
|
|||
|
to offsettable memory parameter.
|
|||
|
|
|||
|
Tue Jan 19 10:24:53 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* rtl.h (rtx_def): Update documentation.
|
|||
|
(MEM_IN_STRUCT_P): Likewise.
|
|||
|
(MEM_SCALAR_P): New macro.
|
|||
|
(MEM_COPY_ATTRIBUTES): Likewise.
|
|||
|
(MEM_SET_IN_STRUCT_P): Likewise.
|
|||
|
* rtl.texi (MEM_SCALAR_P): Document.
|
|||
|
* alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
|
|||
|
(fixed_scalar_and_varying_struct_p): New function. Use
|
|||
|
MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
|
|||
|
(aliases_everything_p): Likewise.
|
|||
|
(true_dependence): Use them.
|
|||
|
(write_dependence_p): New function, containing code common to
|
|||
|
anti_dependence and output_dependence.
|
|||
|
(anti_dependence): Use it.
|
|||
|
(output_dependence): Likewise.
|
|||
|
* calls.c (save_fixed_argument_area): Don't clear
|
|||
|
MEM_IN_STRUCT_P.
|
|||
|
(expand_call): Use MEM_SET_IN_STRUCT_P.
|
|||
|
(emit_library_call): Don't clear MEM_IN_STRUCT_P.
|
|||
|
(emit_library_call_value): Likewise.
|
|||
|
(store_one_arg): Use MEM_SET_IN_STRUCT_P.
|
|||
|
* combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
|
|||
|
(make_extraction): Likewise.
|
|||
|
(simplify_shift_const): Likewise.
|
|||
|
(gen_lowpart_for_combine): Likewise.
|
|||
|
* cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* emit-rtl.c (operand_subword): Likewise.
|
|||
|
(change_address): Likewise.
|
|||
|
* explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
|
|||
|
(emit_group_store): Use MEM_SET_IN_STRUCT_P.
|
|||
|
(copy_blkmode_from_reg): Likewise.
|
|||
|
(store_field): Likewise.
|
|||
|
(expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
|
|||
|
heuristically. Use MEM_SET_IN_STRUCT_P.
|
|||
|
(get_memory_rtx): Likewise.
|
|||
|
* final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* function.c (assign_stack_temp): Clear MEM_SCALAR_P and
|
|||
|
MEM_ALIAS_SET on newly returned MEMs.
|
|||
|
(assign_temp): Use MEM_SET_IN_STRUCT_P.
|
|||
|
(put_reg_into_stack): Likewise.
|
|||
|
(fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
|
|||
|
(gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
|
|||
|
(assign_parms): Likewise.
|
|||
|
(expand_function): Likewise.
|
|||
|
* integrate.c (expand_inline_function): Likewise.
|
|||
|
(copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
|
|||
|
* optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* print-rtl.c (print_rtx): Print /f for frame_related.
|
|||
|
* recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* reload1.c (reload): Copy MEM_SCALAR_P as well.
|
|||
|
* stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
|
|||
|
(expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
|
|||
|
(output_constant_def): Likewise.
|
|||
|
* a29k.c (a29k_set_memflags_1): Take scalar_p.
|
|||
|
Set MEM_SCALAR_P.
|
|||
|
(a29k_set_memflags): Use it.
|
|||
|
* alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* c4x.c (c4x_scan_for_ld): Likewise.
|
|||
|
* h8300.c (fix_bit_operand): Likewise.
|
|||
|
* m88k.c (legitimize_address): Likewise.
|
|||
|
(block_move_loop): Likewise.
|
|||
|
(block_move_no_loop): Likewise.
|
|||
|
(block_move_sequence): Likewise.
|
|||
|
(m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
|
|||
|
* mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
|
|||
|
* rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
|
|||
|
* sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
|
|||
|
* arm.h (arm_gen_load_multiple): Take scalar_p.
|
|||
|
(arm_store_load_multiple): Likewise.
|
|||
|
* arm.c (arm_gen_load_multiple): Likewise.
|
|||
|
(arm_gen_store_multiple): Likewise.
|
|||
|
(arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
|
|||
|
|
|||
|
Tue Jan 19 12:30:37 1999 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
|
|||
|
calls within a libcall block to indicate no throws are possible.
|
|||
|
* flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
|
|||
|
libcall blocks. Don't add edges to exception handlers if we see
|
|||
|
a REG_EH_REGION note with a value of 0.
|
|||
|
(make_edges): Override active_eh_region vector if the call has a note
|
|||
|
indicating the call does not throw.
|
|||
|
|
|||
|
1999-01-19 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
|
|||
|
|
|||
|
Tue Jan 19 06:26:30 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
|
|||
|
|
|||
|
Mon Jan 18 09:56:41 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* invoke.texi (C++ Dialect Options): Document -fno-rtti.
|
|||
|
|
|||
|
1999-01-18 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* invoke.texi (-mcpu=740, -mcpu=750): New options.
|
|||
|
(-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
|
|||
|
PPC750.
|
|||
|
|
|||
|
1999-01-18 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
|
|||
|
supported with -mcpu=xxx.
|
|||
|
(processor_type): Add PROCESSOR_PPC750.
|
|||
|
(ADJUST_PRIORITY): Call rs6000_adjust_priority.
|
|||
|
(RTX_COSTS): Supply costs for 750 multiply/divide operations.
|
|||
|
(rs6000_adjust_priority): Add declaration.
|
|||
|
|
|||
|
* rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
|
|||
|
processor type as 750, not 603. Allow -mmultiple and -mstring on
|
|||
|
little endian 750 systems.
|
|||
|
(rs6000_adjust_priority): Stub for now.
|
|||
|
(get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
|
|||
|
|
|||
|
* rs6000.md (function/cpu attributes): Add initial ppc750 support.
|
|||
|
|
|||
|
* sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
|
|||
|
little endian.
|
|||
|
(CC1_SPEC): Pass -mstrict-align if little endian, and not
|
|||
|
overridden.
|
|||
|
(CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
|
|||
|
(SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
|
|||
|
|
|||
|
* {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
|
|||
|
little endian.
|
|||
|
|
|||
|
* t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
|
|||
|
|
|||
|
Mon Jan 18 12:03:08 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.md (div_trap): Split div_trap_mips16
|
|||
|
from div_trap.
|
|||
|
(div_trap_normal,div_trap_mips16): Correct the length attributes.
|
|||
|
|
|||
|
Mon Jan 18 11:48:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
|
|||
|
Instead of writing to const char *buf directly, use a non-const
|
|||
|
variable `wbuf' to allocate and write a string, then set buf = wbuf.
|
|||
|
|
|||
|
* cppulp.c (user_label_prefix): Qualify a char* with the `const'
|
|||
|
keyword.
|
|||
|
|
|||
|
* dyn-string.c (dyn_string_append): Likewise.
|
|||
|
|
|||
|
* dyn-string.h (dyn_string_append): Likewise.
|
|||
|
|
|||
|
* final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
|
|||
|
|
|||
|
* output.h (end_final, output_operand_lossage, asm_fprintf,
|
|||
|
named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
|
|||
|
Likewise.
|
|||
|
|
|||
|
* profile.c (init_branch_prob): Likewise.
|
|||
|
|
|||
|
* toplev.c (set_target_switch, vmessage,
|
|||
|
v_message_with_file_and_line, v_message_with_decl,
|
|||
|
v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
|
|||
|
verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
|
|||
|
v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
|
|||
|
v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
|
|||
|
open_dump_file, dump_rtl, clean_dump_file,
|
|||
|
print_version, print_single_switch, print_switch_values,
|
|||
|
dump_base_name, debug_args, lang_independent_options,
|
|||
|
user_label_prefix, documented_lang_options, target_switches,
|
|||
|
target_options, print_time, pfatal_with_name, fatal_io_error,
|
|||
|
fatal_insn, default_print_error_function, print_error_function,
|
|||
|
report_error_function, error_with_file_and_line, error_with_decl,
|
|||
|
error_for_asm, error, fatal, warning_with_file_and_line,
|
|||
|
warning_with_decl, warning_for_asm, warning, pedwarn,
|
|||
|
pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
|
|||
|
really_sorry, botch, output_quoted_string, output_file_directive,
|
|||
|
open_dump_file, rest_of_decl_compilation, display_help, main):
|
|||
|
Likewise.
|
|||
|
|
|||
|
* toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
|
|||
|
fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
|
|||
|
warning_with_file_and_line, error_with_file_and_line, sorry,
|
|||
|
really_sorry, default_print_error_function, report_error_function,
|
|||
|
rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
|
|||
|
error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
|
|||
|
output_file_directive, botch): Likewise.
|
|||
|
|
|||
|
* tree.h (make_decl_rtl): Likewise.
|
|||
|
|
|||
|
* varasm.c (strip_reg_name, named_section, decode_reg_name,
|
|||
|
make_decl_rtl): Likewise.
|
|||
|
|
|||
|
Mon Jan 18 11:35:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
|
|||
|
directory logically rather than physically.
|
|||
|
|
|||
|
Mon Jan 18 09:05:37 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* loop.c (insert_bct): Hide the definition of variables
|
|||
|
`increment_direction', `compare_direction', `add_iteration' and
|
|||
|
`loop_var_mode'.
|
|||
|
|
|||
|
* recog.c (mode_dependent_address_p): Mark parameter `addr' with
|
|||
|
ATTRIBUTE_UNUSED. Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
|
|||
|
(mode_independent_operand): Mark label `lose' with
|
|||
|
ATTRIBUTE_UNUSED_LABEL.
|
|||
|
|
|||
|
* regclass.c (n_occurrences): Remove prototype and definition.
|
|||
|
|
|||
|
* reload.c (find_reloads_address_1): Mark variable `tem' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
|
|||
|
|
|||
|
* sbitmap.c (sbitmap_copy): Likewise.
|
|||
|
|
|||
|
* scan-decls.c (scan_decls): Hide label `handle_comma'.
|
|||
|
|
|||
|
* toplev.c (output_lang_identify): Mark prototype with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* tree.c (make_node): Cast the first argument of `bzero' to PTR.
|
|||
|
(make_tree_vec): Likewise.
|
|||
|
(build1): Likewise.
|
|||
|
|
|||
|
* varasm.c (assemble_static_space): Mark variable `tem' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
Mon Jan 18 04:28:36 1999 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* Makefile.in (GCOV_INSTALL_NAME): New macro.
|
|||
|
(install-common): Use it.
|
|||
|
(uninstall): Use it.
|
|||
|
(uninstall): Use correct names for protoize and unprotoize.
|
|||
|
|
|||
|
Mon Jan 18 03:52:56 1999 Christian Bruel <Christian.Bruel@st.com>
|
|||
|
Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (last_mem_set): Delete variable. References removed.
|
|||
|
(mem_set_list): New variable.
|
|||
|
(life_analysis): Initialize and finalize alias analysis.
|
|||
|
(propagate_block); Initialize mem_set_list. Clear for CALL_INSNs.
|
|||
|
(insn_dead_p): For a store to memory, search the entire mem_set_list
|
|||
|
for a match.
|
|||
|
(mark_set_1): Kill entries on the mem_set_list for aliased writes or
|
|||
|
changes to their addresses. Add new entries to the mem_set_list for
|
|||
|
memory writes writes.
|
|||
|
(mark_used_regs): Kill entries on the mem_set_list which may be
|
|||
|
referenced by a load operation.
|
|||
|
|
|||
|
Mon Jan 18 01:01:02 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* alias.c (base_alias_check): Add missing return for differing
|
|||
|
symbols case.
|
|||
|
|
|||
|
Mon Jan 18 00:36:13 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|||
|
|
|||
|
* mips-tdump.c (print_file_desc): Handle unknown filenames and
|
|||
|
missing local symbols.
|
|||
|
|
|||
|
Sun Jan 17 21:04:31 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
|
|||
|
|
|||
|
* system.h (bcopy): Implement with memmove not memcpy.
|
|||
|
|
|||
|
Sun Jan 17 19:23:20 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (cppulp.o): Add dependencies.
|
|||
|
|
|||
|
* i386.md (integer conditional moves): Add missing earlyclobbers.
|
|||
|
|
|||
|
* regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update
|
|||
|
REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
|
|||
|
where a register is live.
|
|||
|
|
|||
|
Sun Jan 17 03:20:47 1999 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* reg-stack.c (subst_stack_regs_pat): Abort if the destination
|
|||
|
of a FP conditional move is not on the FP register stack.
|
|||
|
|
|||
|
Sun Jan 17 01:15:04 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Jan 16 23:40:33 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (reload_cse_regs_1): Do not call
|
|||
|
reload_cse_simplify_operands for an insn with asm operands.
|
|||
|
|
|||
|
* cccp.c (print_help): Fix typos.
|
|||
|
* cpplib.c (print_help): Fix typos.
|
|||
|
* toplev.c (f_optiosn): Fix typos.
|
|||
|
(documented_lang_options): Fix typos.
|
|||
|
|
|||
|
Sat Jan 16 21:48:17 1999 Marc Espie (Marc.Espie@openbsd.org)
|
|||
|
|
|||
|
* gcc.c (do_spec_1): Fix obvious typo.
|
|||
|
|
|||
|
Sat Jan 16 19:31:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-decl.c (duplicate_decls): If `warn_traditional', warn when
|
|||
|
a non-static function declaration follows a static one.
|
|||
|
|
|||
|
* invoke.texi (-Wtraditional): Document the extra check now done
|
|||
|
by this flag.
|
|||
|
|
|||
|
Sat Jan 16 15:13:46 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.md (shadd): Create shadd insns, even if the result of the shift is
|
|||
|
needed without the addition.
|
|||
|
|
|||
|
Sat Jan 16 10:48:16 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
|
|||
|
|
|||
|
Fri Jan 15 23:44:37 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
|
|||
|
|
|||
|
Fri Jan 15 22:30:04 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
|
|||
|
* rs6000.c (u_short_cint_operand, add_operand, logical_operand,
|
|||
|
non_add_cint_operand, non_logical_cint_operand): Likewise.
|
|||
|
(get_issue_rate): Add CPU_PPC604E case.
|
|||
|
* rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
|
|||
|
|
|||
|
Fri Jan 15 18:42:12 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expr.c (queued_subexp_p): Make public.
|
|||
|
* expr.h (queued_subexp_p): Declare it.
|
|||
|
* recog.c (asm_operand_ok): New function.
|
|||
|
(check_asm_operands): Use it. After reload, use constrain_operands
|
|||
|
instead.
|
|||
|
* recog.h (asm_operand_ok): Declare it.
|
|||
|
* stmt.c (expand_asm_operands): Use it to try harder to make
|
|||
|
asms initially satisfy their constraints.
|
|||
|
|
|||
|
Fri Jan 15 17:43:59 1999 Jeffrey A. Law <law@rtl.cygnus.com>
|
|||
|
|
|||
|
* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
|
|||
|
(mem (lo_sum (...)) for TFmode unless TARGET_V9.
|
|||
|
|
|||
|
Sat Jan 16 12:47:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
|
|||
|
in delay slot of RPTBD.
|
|||
|
|
|||
|
Sat Jan 16 12:26:40 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
|
|||
|
divide and modulo sign problem.
|
|||
|
|
|||
|
Fri Jan 15 11:02:31 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* unroll.c (loop_iterations): Return 0 if the last loop insn
|
|||
|
is not a jump insn or if the loop has multiple back edges.
|
|||
|
|
|||
|
1999-01-15 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3};
|
|||
|
it's working properly now. Remove comment saying "see m68k-motorola-sysv
|
|||
|
as an example".
|
|||
|
* configure: Regenerate using autoconf.
|
|||
|
|
|||
|
* fixinc/fixincl.c (main): Do not ignore SIGCHLD.
|
|||
|
|
|||
|
Thu Jan 14 22:38:41 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
|
|||
|
a register with another DEST_ADDR giv if the address is not valid.
|
|||
|
|
|||
|
* pa.c (hppa_expand_epilogue): Save and restore the static chain
|
|||
|
around the call to mcount.
|
|||
|
|
|||
|
* h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
|
|||
|
|
|||
|
* stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
|
|||
|
generating non-canonical rtl.
|
|||
|
|
|||
|
1999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* config/i960/i960.c (i960_output_move_double_zero,
|
|||
|
i960_output_move_quad_zero): New functions for moving zeros.
|
|||
|
(i960_output_move_double, i960_output_move_quad): Additional code
|
|||
|
for situation when moving unaligned register group.
|
|||
|
|
|||
|
* config/i960/i960.h (i960_output_move_double_zero,
|
|||
|
i960_output_move_quad_zero): The function definitions.
|
|||
|
|
|||
|
* config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
|
|||
|
|
|||
|
1999-01-13 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* config/i960/i960.c (i960_function_prologue): New code (optimal
|
|||
|
solution) for saving global registers in local registers.
|
|||
|
(form_reg_groups, reg_group_compare, split_reg_group): New
|
|||
|
functions used by the code.
|
|||
|
(reg_group): New structure definition for the new code.
|
|||
|
|
|||
|
1999-01-13 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* fixinc/fixincl.c (create_file): Pass file creation mask as
|
|||
|
third parameter to "open". Use O_TRUNC flag to open instead of
|
|||
|
explicitly unlink'ing the file.
|
|||
|
(process): and forget about the "chmod" stuff.
|
|||
|
|
|||
|
Wed Jan 13 20:12:37 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* integrate.c (expand_inline_function): Recognize (mem (addressof))
|
|||
|
and substitute. Copy the return value from there into a new pseudo.
|
|||
|
|
|||
|
Wed Jan 13 16:47:00 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
|
|||
|
before generating a call to abort for volatile functions.
|
|||
|
* config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
|
|||
|
(TARGET_ABORT_NORETURN): Define.
|
|||
|
(abort-on-noreturn): New option.
|
|||
|
|
|||
|
Thu Jan 14 13:52:42 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
|
|||
|
and binarycc operations in 3rd annulled delay slot!
|
|||
|
|
|||
|
Wed Jan 13 16:16:44 1999 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
|
|||
|
before generating a call to abort for volatile functions.
|
|||
|
* config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
|
|||
|
(TARGET_ABORT_NORETURN): Define.
|
|||
|
(abort-on-noreturn): New option.
|
|||
|
|
|||
|
Wed Jan 13 13:30:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c (xstrdup): Renamed from `savestring'. All callers changed.
|
|||
|
Remove prototype which we get from libiberty.h.
|
|||
|
|
|||
|
* collect2.c (xstrdup): Likewise.
|
|||
|
|
|||
|
* genextract.c (xstrdup): Likewise for `copystr'.
|
|||
|
(mybzero): Remove it and use `memset' instead.
|
|||
|
|
|||
|
* genoutput.c (mybcopy, mybzero): Remove these. All callers changed
|
|||
|
to use `memcpy' and `memset' instead.
|
|||
|
|
|||
|
* genrecog.c (xstrdup): Renamed from `copystr'. All callers
|
|||
|
changed. Remove prototype.
|
|||
|
(mybcopy, mybzero): Remove these and use memcpy/memset.
|
|||
|
|
|||
|
Wed Jan 13 00:59:04 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
|
|||
|
generating code for TARGET_64BIT.
|
|||
|
|
|||
|
Tue Jan 12 14:05:37 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
|
|||
|
HOST_WIDE_INT word-size.
|
|||
|
(rs6000_stack_info): Remove redundant alignment of fpmem.
|
|||
|
|
|||
|
Tue Jan 12 14:05:37 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
|
|||
|
(u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
|
|||
|
(input_operand): Adjust CONSTANT_P_RTX handling.
|
|||
|
* rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
|
|||
|
* rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
|
|||
|
(movhi, movqi): Remove CONSTANT_P_RTX handling.
|
|||
|
(movdi): Adjust CONSTANT_P_RTX handling.
|
|||
|
|
|||
|
1999-01-12 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* configure: Regenerate using autoconf.
|
|||
|
|
|||
|
* fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include.
|
|||
|
* fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems.
|
|||
|
(process): "fchmod" isn't available on all systems, use "chmod"
|
|||
|
instead.
|
|||
|
* fixinc/server.c: Add #include <sys/types.h>.
|
|||
|
(STDIN_FILENO): Add default definition if no include file defines
|
|||
|
it already.
|
|||
|
(STDOUT_FILENO): Likewise.
|
|||
|
|
|||
|
Tue Jan 12 10:23:24 1999 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
|
|||
|
|
|||
|
1999-01-12 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
|
|||
|
ensure all prototypes necessary for building libio will be available.
|
|||
|
* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
|
|||
|
definitions here as they are not host specific.
|
|||
|
* m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
|
|||
|
|
|||
|
Tue Jan 12 02:53:46 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
|
|||
|
|
|||
|
Tue Jan 12 02:36:10 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Tue Jan 12 01:30:19 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* rtl.c (rtx_alloc): Use memset instead of inline loop.
|
|||
|
|
|||
|
* recog.h (recog_op_alt): Declare extern.
|
|||
|
|
|||
|
Tue Jan 12 00:23:31 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): If the note accesses a mem+addressof
|
|||
|
in a wider mode than any replacement, adjust the cached replacement.
|
|||
|
Cache trivial substitutions as well.
|
|||
|
|
|||
|
Tue Jan 12 00:06:00 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (OBJECTS): Add sbitmap.o.
|
|||
|
(BASIC_BLOCK_H): Add sbitmap.h.
|
|||
|
* basic-block.h: Move simple bitmap code to sbitmap.h.
|
|||
|
* flow.c: Move simple bitmap code to sbitmap.c.
|
|||
|
* sbitmap.h, sbitmap.c: New files.
|
|||
|
|
|||
|
Mon Jan 11 23:51:50 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.h (TARGET_SWITCHES): Document switches.
|
|||
|
(TARGET_OPTIONS): Likewise.
|
|||
|
|
|||
|
* alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
|
|||
|
|
|||
|
Mon Jan 11 22:54:14 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
|
|||
|
|
|||
|
Mon Jan 11 22:36:01 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* basic-block.h (basic_block_head): Rename to x_basic_block_head.
|
|||
|
(basic_block_end): Rename to x_basic_block_end.
|
|||
|
(BLOCK_HEAD, BLOCK_END): Update.
|
|||
|
|
|||
|
* caller-save.c: Change basic_block_head/end references to
|
|||
|
BLOCK_HEAD/END.
|
|||
|
* combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
|
|||
|
* graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
|
|||
|
* regmove.c, reload1.c, reorg.c, sched.c: Likewise.
|
|||
|
|
|||
|
Sat Jan 9 23:54:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gcc.c (xstrerror): Renamed from my_strerror. All callers
|
|||
|
changed. Remove prototype since we get that from libiberty.h.
|
|||
|
|
|||
|
* protoize.c (xstrerror): Likewise.
|
|||
|
|
|||
|
Sat Jan 9 23:22:04 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gcc.c (read_specs): Ensure format specifiers match their arguments.
|
|||
|
|
|||
|
Sat Jan 9 20:04:24 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* tree.c (copy_node): Oops. That would be copy not zero
|
|||
|
in that last change.
|
|||
|
|
|||
|
Sun Jan 10 15:35:41 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c: Include system.h.
|
|||
|
(c4x_caller_save_map): Disable caller save for RC.
|
|||
|
(c4x_optimization_options): Disable scheduling before reload.
|
|||
|
(valid_parallel_load_store) : Define return type as int.
|
|||
|
Remove unused variable regs.
|
|||
|
* config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
|
|||
|
class.
|
|||
|
* config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
|
|||
|
handle rotations.
|
|||
|
(*db, decrement_and_branch_until_zero): Fix up constraints
|
|||
|
to keep reload happy.
|
|||
|
|
|||
|
Sat Jan 9 18:35:29 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* tree.c (make_node): Call bzero instead of inline clear.
|
|||
|
(copy_node, make_tree_vec, build1): Likewise.
|
|||
|
(get_identifier): Call strlen instead of inline count.
|
|||
|
(maybe_get_identifier): Likewise.
|
|||
|
|
|||
|
Sun Jan 10 14:04:51 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc
|
|||
|
operations in 3rd annulled delay slot.
|
|||
|
(*lshrqi3_const_set): Disallow c constraint for operand0.
|
|||
|
(modhi3+1, modhi3+2): Set attribute type to multi.
|
|||
|
* config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
|
|||
|
!= operator.
|
|||
|
|
|||
|
Sat Jan 9 11:44:55 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gansidecl.h: Allow attribute unused on labels only when we are
|
|||
|
version 2.93 or higher. Not all versions of 2.92 have this feature.
|
|||
|
|
|||
|
* version.c: Bump minor number to 93.
|
|||
|
|
|||
|
Fri Jan 8 10:51:13 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.h: Declare output_function_epilogue.
|
|||
|
* recog.h: Declare next_insn_tests_no_inequality.
|
|||
|
|
|||
|
Fri Jan 8 01:43:53 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* stmt.c (optimize_tail_recursion): New function, extracted from ...
|
|||
|
(expand_return): Use optimize_tail_recursion.
|
|||
|
* tree.h (optimize_tail_recursion): Declare.
|
|||
|
|
|||
|
* toplev.c (compile_file): Move call to output_func_start_profiler
|
|||
|
to after the loop to emit deferred functions.
|
|||
|
|
|||
|
Thu Jan 7 19:52:53 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
|||
|
|
|||
|
* system.h (abort): Supply more detailed information on how to
|
|||
|
report an Internal Compiler Error.
|
|||
|
|
|||
|
Thu Jan 7 09:25:58 1999 Bruce Korb (korb@datadesign.com)
|
|||
|
|
|||
|
* fixinc/fixincl.c (*): More decapitalization of variables
|
|||
|
plus some explanatory comments.
|
|||
|
|
|||
|
* fixinc/Makefile.in fixinc/mkfixinc.sh:
|
|||
|
When the fixincl program does not work for a certain system,
|
|||
|
we substitute a shell script. Added user commentary when
|
|||
|
this happens.
|
|||
|
|
|||
|
Thu Jan 7 11:26:17 1999 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
|
|||
|
allocate memory that will live beyond this function.
|
|||
|
(expand_call): Free it here.
|
|||
|
|
|||
|
Thu Jan 7 03:08:17 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
|
|||
|
integer data not destined for fp regs.
|
|||
|
(LEGITIMIZE_RELOAD_ADDRESS): New.
|
|||
|
|
|||
|
Thu Jan 7 03:03:42 1999 Stan Cox <scox@cygnus.com>
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
Support for Hypersparc and Sparclite86x:
|
|||
|
* sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
|
|||
|
(CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
|
|||
|
(ASM_CPU32_DEFAULT_SPEC): Likewise.
|
|||
|
(TARGET_CPU_DEFAULT): Likewise.
|
|||
|
(enum processor_type): Likewise.
|
|||
|
(CPP_ENDIAN_SPEC): Handle little endian data.
|
|||
|
(LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
|
|||
|
(ADJUST_COST): Call sparc_adjust_cost.
|
|||
|
* sparc.c (sparc_override_options): Fix up for the new targets.
|
|||
|
(supersparc_adjust_cost): Make static.
|
|||
|
(hypersparc_adjust_cost): New.
|
|||
|
(ultrasparc_adjust_cost): Make static.
|
|||
|
(sparc_adjust_cost): New.
|
|||
|
* sparc.md (attr cpu): Add hypersparc and sparclite86x.
|
|||
|
(function_unit): Add hypersparc scheduling rules.
|
|||
|
|
|||
|
* configure.in (with_cpu handler): Recognize hypersparc.
|
|||
|
|
|||
|
Thu Jan 7 23:54:05 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c: Added space after negation operator.
|
|||
|
* config/c4x/c4x.h: Likewise.
|
|||
|
* config/c4x/c4x.md: Likewise.
|
|||
|
|
|||
|
Thu Jan 7 23:39:27 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
|
|||
|
|
|||
|
Thu Jan 7 00:29:25 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
|
|||
|
when a test can't be performed due to limited width of
|
|||
|
HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
|
|||
|
Fix UDIV case for cases where the first operand has the highest bit
|
|||
|
set.
|
|||
|
|
|||
|
Thu Jan 7 00:01:38 1999 Lutz Vieweg <lkv@mania.robin.de>
|
|||
|
|
|||
|
* pa.h (reg_class): Add FPUPPER_REGS.
|
|||
|
(REG_CLASS_NAMES): Similarly.
|
|||
|
(REG_CLASS_CONTENTS): Similarly.
|
|||
|
(REGNO_REG_CLASS): Handle FPUPPER_REGS.
|
|||
|
(FP_REG_CLASS_P): Likewise.
|
|||
|
(REG_CLASS_FROM_LETTER): Similarly.
|
|||
|
(CLASS_MAX_NREGS): Similarly.
|
|||
|
|
|||
|
1999-01-06 Brendan Kehoe <brendan@cygnus.com>
|
|||
|
|
|||
|
* fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
|
|||
|
for a typedef of bool. Make sure to have a copy of the file is
|
|||
|
in place before we look to fix it. Fix typo in variable name to
|
|||
|
FILE.
|
|||
|
|
|||
|
Wed Jan 6 07:51:05 1999 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
|
|||
|
value_mode for the return mode.
|
|||
|
|
|||
|
Wed Jan 6 17:55:19 1999 Robert Lipe <robertlipe@usa.net>
|
|||
|
|
|||
|
* configure.in: New flag --with-dwarf2. If set, enables DWARF-2
|
|||
|
debugging as default.
|
|||
|
|
|||
|
* config/tm-dwarf2.h: New file.
|
|||
|
|
|||
|
Wed Jan 6 16:08:54 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* h8300.h (ASM_OUTPUT_LABELREF): Define.
|
|||
|
|
|||
|
* pa.h (DONT_RECORD_EQUIVALENCE): Kill.
|
|||
|
* local-alloc.c (update_equiv_regs): Corresponding changes.
|
|||
|
* tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
|
|||
|
|
|||
|
* calls.c (special_function_p): Push alloca test inside the large
|
|||
|
conditional which excludes functions not at file scope or not
|
|||
|
extern.
|
|||
|
|
|||
|
* calls.c (special_function_p): New function broken out of
|
|||
|
expand_call.
|
|||
|
(precompute_register_parameters): Likewise.
|
|||
|
(store_one_arg): Likewise.
|
|||
|
(store_unaligned_argumetns_into_pseudos): Likewise.
|
|||
|
(save_fixed_argument_area): Likewise.
|
|||
|
(restore_fixed_argument_area): Likewise.
|
|||
|
(expand_call): Corresponding changes.
|
|||
|
|
|||
|
Thu Jan 7 00:12:24 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (addqi3): If the destination operand is
|
|||
|
a hard register other than an extended precision register,
|
|||
|
emit addqi3_noclobber.
|
|||
|
(*addqi3_noclobber_reload): New pattern added so that reload
|
|||
|
will recognize a store of a pseudo, equivalent to the sum
|
|||
|
of the frame pointer and a constant, as an add insn.
|
|||
|
|
|||
|
1999-01-06 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* fixinc/fixincl.c: Re-indent according to the GNU standards.
|
|||
|
fixinc/server.c: Likewise.
|
|||
|
fixinc/server.h: Likewise.
|
|||
|
|
|||
|
Wed Jan 6 10:43:29 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
|
|||
|
handling.
|
|||
|
(const_sint32_operand): Likewise.
|
|||
|
|
|||
|
Wed Jan 6 09:44:51 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* toplev.h: In addition to checking _JBLEN, also check if `setjmp'
|
|||
|
is a macro when deciding if we can use `jmp_buf' in prototypes.
|
|||
|
|
|||
|
Wed Jan 6 03:18:53 1999 Mark Elbrecht <snowball3@usa.net>
|
|||
|
|
|||
|
* configure.in (pc-msdosdjgpp): Set x_make to x-go32.
|
|||
|
* configure: Rebuilt.
|
|||
|
* i386/xm-go32.h: Define LIBSTDCXX.
|
|||
|
* i386/x-go32: New.
|
|||
|
* i386/go32.h (MD_EXEC_PREFIX): Define.
|
|||
|
(FILE_NAME_ABSOLUTE_P): Define.
|
|||
|
(LINK_COMMAND_SPEC): Define.
|
|||
|
|
|||
|
Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net>
|
|||
|
|
|||
|
* expr.c (store_expr): If the lhs is a memory location pointed
|
|||
|
to be a postincremented (or postdecremented) pointer, always
|
|||
|
force the rhs to be evaluated into a pseudo.
|
|||
|
|
|||
|
Wed Jan 6 00:54:21 1999 Geoff Keating <geoffk@ozemail.com.au>
|
|||
|
|
|||
|
* real.c (mtherr): Print more reasonable warning messages.
|
|||
|
|
|||
|
Tue Jan 5 21:57:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
|
|||
|
|
|||
|
* cccp.c: Include prefix.h, don't prototype prefix.c functions.
|
|||
|
(new_include_prefix): Constify char* parameters.
|
|||
|
|
|||
|
* cppfiles.c (read_name_map): Likewise.
|
|||
|
(append_include_chain): Likewise. Also, use a writable char* copy
|
|||
|
of parameter `dir' which we then modify, rather than using the
|
|||
|
parameter itself to store the new writable string.
|
|||
|
(remap_filename): Constify some variables. Also, use a writable
|
|||
|
char* to store an allocated string which we will be modifying.
|
|||
|
|
|||
|
* cpplib.c: Include prefix.h, don't prototype prefix.c functions.
|
|||
|
(cpp_start_read): Constify variable `str'.
|
|||
|
|
|||
|
* cpplib.h (append_include_chain): Constify a char* parameter.
|
|||
|
|
|||
|
* gcc.c Include prefix.h, don't prototype prefix.c functions.
|
|||
|
(add_prefix, save_string): Constify char* parameters.
|
|||
|
(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
|
|||
|
|
|||
|
* prefix.c: Include prefix.h.
|
|||
|
(get_key_value, translate_name, save_string, update_path,
|
|||
|
set_std_prefix): Constify various char* parameters and variables.
|
|||
|
(save_string): Use xmalloc, not malloc.
|
|||
|
(translate_name): Use a writable temporary variable to create and
|
|||
|
modify a string before setting it to a const char*.
|
|||
|
|
|||
|
* prefix.h: New file to prototype functions exported from prefix.c.
|
|||
|
|
|||
|
Tue Jan 5 08:52:18 1999 Bruce Korb (korb@datadesign.com)
|
|||
|
|
|||
|
* fixinc/fixincl.c (various): Added debug code so
|
|||
|
Manfred can trace the processing.
|
|||
|
|
|||
|
* fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of
|
|||
|
struct utsname on Ultrix V4.[35].
|
|||
|
|
|||
|
* fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated.
|
|||
|
|
|||
|
Mon Jan 4 15:37:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (skip_if_group): Split out the logic that handles
|
|||
|
directive recognition to its own function. Don't use
|
|||
|
parse markers; use a bare pointer into the buffer. Use
|
|||
|
copy/skip_rest_of_line instead of doing it by hand. Remove
|
|||
|
`return on any directive' mode which was never used, and take
|
|||
|
only one argument.
|
|||
|
(consider_directive_while_skipping): New function, subroutine
|
|||
|
of skip_if_group. Logic streamlined a bit.
|
|||
|
(conditional_skip, do_elif, do_else): Call skip_if_group with
|
|||
|
only one argument.
|
|||
|
|
|||
|
Mon Jan 4 15:27:30 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
|
|||
|
error.
|
|||
|
|
|||
|
Mon Jan 4 11:55:51 1999 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* extend.texi (Bound member functions): Document.
|
|||
|
|
|||
|
Mon Jan 4 11:01:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
|
|||
|
lang_to_string, type_to_string): Make return type const char*.
|
|||
|
(print_symbol): Apply `const' keyword to a char*.
|
|||
|
(print_file_desc): Cast structure member `crfd' to ulong when
|
|||
|
comparing against one.
|
|||
|
|
|||
|
* mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
|
|||
|
(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
|
|||
|
(progname, input_name): Apply `const' keyword to a char*.
|
|||
|
Don't redundantly include sys/stat.h.
|
|||
|
(alloc_info): Apply `const' keyword to a char*.
|
|||
|
(st_to_string, sc_to_string): Likewise.
|
|||
|
(hash_string): Cast variable `hash_string' to a symint_t when
|
|||
|
comparing against one.
|
|||
|
(add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
|
|||
|
Likewise cast it to long when comparing against one.
|
|||
|
(add_local_symbol): Apply `const' keyword to a char*.
|
|||
|
(add_ext_symbol): Likewise.
|
|||
|
(add_unknown_tag): Likewise.
|
|||
|
(add_procedure): Cast a printf-style field width to an int.
|
|||
|
(add_file): Cast PAGE_USIZE to long when comparing against one.
|
|||
|
(parse_begin): Cast a printf-style field width to an int.
|
|||
|
(parse_bend): Likewise.
|
|||
|
(parse_def): Likewise.
|
|||
|
(parse_end): Likewise.
|
|||
|
(mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
|
|||
|
(parse_stabs_common): Fix format specifier.
|
|||
|
(parse_input): Change type of variable `i' to Size_t.
|
|||
|
(write_object): Fix arguments to match format specifiers.
|
|||
|
Cast variable `num_write' to long when comparing against one.
|
|||
|
(read_seek): Cast variable `sys_read' to symint_t when comparing
|
|||
|
against one. Fix arguments to match format specifiers. Cast
|
|||
|
variable `size' to long when comparing against one.
|
|||
|
(copy_object): Cast result of `sizeof' to int when comparing
|
|||
|
against one. Fix arguments to match format specifiers. Cast
|
|||
|
variable `ifd' to long when comparing against a signed value.
|
|||
|
Likewise, likewise.
|
|||
|
|
|||
|
Mon Jan 4 10:30:33 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-common.c (decl_attributes): Allow applying attribute `unused'
|
|||
|
on a LABEL_DECL.
|
|||
|
|
|||
|
* c-parse.in (label): Parse attributes after a label, and call
|
|||
|
`decl_attributes' to handle them.
|
|||
|
|
|||
|
* gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
|
|||
|
|
|||
|
* genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
|
|||
|
generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
|
|||
|
|
|||
|
* invoke.texi: Note that labels can be marked `unused'.
|
|||
|
|
|||
|
Sun Jan 3 23:32:18 1999 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Jan 3 23:00:42 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
|
|||
|
RTL for a compare/jump sequence.
|
|||
|
|
|||
|
Sun Jan 3 22:58:15 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
|
|||
|
for a target with HAVE_cc0 defined.
|
|||
|
(emit_cmp_and_jump_insns): New function.
|
|||
|
* expr.h (emit_cmp_and_jump_insns): Prototype it.
|
|||
|
* loop.c (check_dbra_loop): Use it to replace calls
|
|||
|
to emit_cmp_insn and emit_jump_insn and to canonicalize
|
|||
|
the comparison if necessary.
|
|||
|
* unroll.c (unroll_loop): Likewise.
|
|||
|
|
|||
|
Sun Jan 3 21:01:04 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|||
|
|
|||
|
* fixincludes (sys/utsname.h): Provide forward declaration of
|
|||
|
struct utsname on Ultrix V4.[35].
|
|||
|
|
|||
|
* mips.md (div_trap): Use local labels instead of dot-relative
|
|||
|
branches.
|
|||
|
|
|||
|
Sun Jan 3 20:40:34 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.md (branch, negated branch): Handle (const_int 0) as first
|
|||
|
source operand.
|
|||
|
* pa.c (output_cbranch): Likewise.
|
|||
|
|
|||
|
Sun Jan 3 03:20:38 1999 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (rs6000_stack_info): Undo spurious part of last
|
|||
|
change.
|
|||
|
|
|||
|
1999-01-01 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* extend.texi (__builtin_constant_p): Add missing @smallexample.
|
|||
|
|
|||
|
Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.md (doubleword shifts): Fix dumb mistakes in previous change.
|
|||
|
|
|||
|
Wed Dec 30 23:38:55 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* m68k.md (adddi_dilshr32): Allow all operands to be registers too.
|
|||
|
(adddi_dishl32): Similarly.
|
|||
|
|
|||
|
* cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
|
|||
|
for each insn in the skipped block.
|
|||
|
|
|||
|
* reload1.c (reload_as_needed): Verify that the insn satisfies its
|
|||
|
constraints after replacing a register address with an autoincrement
|
|||
|
address for reload inheritance purposes.
|
|||
|
|
|||
|
* i386.md (doubleword shifts): Avoid namespace pollution.
|
|||
|
|
|||
|
Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
|
|||
|
|
|||
|
* configure.in (FreeBSD ELF): Needs special crt files.
|
|||
|
|
|||
|
Wed Dec 30 22:50:13 1998 Geoffrey Noer <noer@cygnus.com>
|
|||
|
|
|||
|
* i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
|
|||
|
|
|||
|
1998-12-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): While reversing the loop, if the
|
|||
|
comparison value has a VOID mode use the mode of the other operand
|
|||
|
to compute the mask.
|
|||
|
|
|||
|
Wed Dec 30 22:24:00 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.md ({save,restore}_stack_function): Take 2 operands to
|
|||
|
avoid warnings in compiling explow.c.
|
|||
|
|
|||
|
(patch from Ken Raeburn, raeburn@cygnus.com)
|
|||
|
* rs6000.c (rs6000_stack_info): Force 8-byte alignment of
|
|||
|
fpmem_offset. Compute total size after that, and then
|
|||
|
rs6000_fpmem_offset using both values.
|
|||
|
|
|||
|
Mon Dec 28 19:26:32 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
|||
|
|
|||
|
* gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
|
|||
|
the future; indeed that already happens in some cases.
|
|||
|
|
|||
|
Tue Dec 29 11:58:53 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* sparc.c (input_operand): Recognize (const (constant_p_rtx)).
|
|||
|
(arith_operand): Remove constant_p_rtx handling.
|
|||
|
(const64_operand, const64_high_operand): Likewise.
|
|||
|
(arith11_operand, arith10_operand, arith_double_operand): Likewise.
|
|||
|
(arith11_double_operand, arith10_double_operand, small_int): Likewise.
|
|||
|
(small_int_or_double, uns_small_int, zero_operand): Likewise.
|
|||
|
* sparc.h (PREDICATE_CODES): Likewise.
|
|||
|
|
|||
|
* rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
|
|||
|
|
|||
|
Tue Dec 29 11:32:54 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
|||
|
|
|||
|
* rtl.def (CONSTANT_P_RTX): Clarify commentary.
|
|||
|
* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
|
|||
|
consider constant CONSTRUCTOR constant and to defer some cases
|
|||
|
to cse.
|
|||
|
* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
|
|||
|
* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
|
|||
|
|
|||
|
Tue Dec 29 11:30:10 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
|
|||
|
* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
|
|||
|
|
|||
|
* alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
|
|||
|
(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
|
|||
|
(sext_add_operand, and_operand, or_operand): Likewise.
|
|||
|
(reg_or_cint_operand, some_operand, input_operand): Likewise.
|
|||
|
* alpha.h (PREDICATE_CODES): Likewise.
|
|||
|
|
|||
|
Sat Dec 26 23:26:26 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Dec 26 09:17:04 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* gengenrtl.c (gencode): Always use bzero to clear memory instead
|
|||
|
of dangerous casts and stores.
|
|||
|
|
|||
|
* Makefile.in (compare, gnucompare): Add missing else true clauses.
|
|||
|
|
|||
|
Fri Dec 25 23:00:56 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* alpha.md (builtin_longjmp): Add missing "DONE".
|
|||
|
|
|||
|
Thu Dec 24 10:39:57 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (execute): Enable -pipe with win32.
|
|||
|
|
|||
|
Wed Dec 23 10:27:44 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/t-arm-elf: Add multiplib option for leading
|
|||
|
underscores.
|
|||
|
|
|||
|
* config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
|
|||
|
'user_label_prefix' rather than macro USER_LABEL_PREFIX.
|
|||
|
|
|||
|
(thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
|
|||
|
than variable 'reload_address_base_reg_class'. [Note this
|
|||
|
change is unrelated to the others in this patch].
|
|||
|
|
|||
|
* config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
|
|||
|
leading underscore.
|
|||
|
|
|||
|
Wed Dec 23 09:51:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* alias.c (record_alias_subset): Remove ignored `&'.
|
|||
|
(init_alias_once): Likewise.
|
|||
|
|
|||
|
* c-lex.c (UNGETC): Cast first argument of comma expression to void.
|
|||
|
|
|||
|
* config/mips/mips.c (mips_asm_file_end): Cast the result of
|
|||
|
fwrite to `int' when comparing against one.
|
|||
|
|
|||
|
* config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
|
|||
|
(INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
|
|||
|
|
|||
|
* cse.c (rehash_using_reg): Change type of variable `i' to
|
|||
|
unsigned int.
|
|||
|
|
|||
|
* dwarf2out.c (initial_return_save): Cast -1 to unsigned before
|
|||
|
assigning it to one.
|
|||
|
|
|||
|
* except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
|
|||
|
|
|||
|
* final.c (final_scan_insn): Likewise for variable `i'.
|
|||
|
(output_asm_insn): Cast a char to unsigned char when used as an
|
|||
|
array index.
|
|||
|
|
|||
|
* gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
|
|||
|
assigning it to one.
|
|||
|
|
|||
|
* loop.c (strength_reduce): Remove unused variables `count' and `temp'.
|
|||
|
|
|||
|
* recog.c (preprocess_constraints): Cast a char to unsigned char
|
|||
|
when used as an array index.
|
|||
|
|
|||
|
* regmove.c (find_matches): Likewise.
|
|||
|
|
|||
|
* reload1.c (calculate_needs): Add default case in switch.
|
|||
|
(eliminate_regs_in_insn): Initialize variable `offset'.
|
|||
|
(set_offsets_for_label): Change type of variable `i' to unsigned.
|
|||
|
(reload_as_needed): Wrap variable `i' in macro check on
|
|||
|
AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
|
|||
|
|
|||
|
* scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
|
|||
|
with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t
|
|||
|
when comparing against one.
|
|||
|
|
|||
|
* stor-layout.c (layout_decl): Cast maximum_field_alignment to
|
|||
|
unsigned when comparing against one. Likewise for
|
|||
|
GET_MODE_ALIGNMENT().
|
|||
|
(layout_record): Cast record_align to int when comparing against a
|
|||
|
signed value.
|
|||
|
(layout_type): Cast TYPE_ALIGN() to int when comparing against a
|
|||
|
signed value.
|
|||
|
|
|||
|
* tree.c (get_identifier): Cast variable `len' to unsigned when
|
|||
|
comparing against one.
|
|||
|
(maybe_get_identifier): Likewise
|
|||
|
|
|||
|
Wed Dec 23 00:10:01 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Do not set reload_completed.
|
|||
|
* reload1.c (reload): Set reload_completed before calling
|
|||
|
cleanup_subreg_operands.
|
|||
|
|
|||
|
Tue Dec 22 23:58:31 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (emit_reload_insns): Check `set' not null before use.
|
|||
|
|
|||
|
Tue Dec 22 15:15:45 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
|
|||
|
'int'.
|
|||
|
|
|||
|
Tue Dec 22 13:55:44 1998 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
|
|||
|
|
|||
|
* halfpic.c (half_pic_encode): Delete redundant code.
|
|||
|
|
|||
|
Tue Dec 22 13:02:22 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (main): Delete handling of -dM as a preprocessor
|
|||
|
option.
|
|||
|
|
|||
|
Mon Dec 21 17:39:38 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (main): Don't emit any warnings when using -dD, -dM, or
|
|||
|
-dI, which are handled by the preprocessor.
|
|||
|
|
|||
|
Sun Dec 20 16:13:44 1998 John F. Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* configure.in: Handle Digital UNIX 5.x the same as 4.x.
|
|||
|
* i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
|
|||
|
|
|||
|
Sun Dec 20 07:39:52 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Dec 19 22:24:22 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Dec 19 21:41:32 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Dec 19 09:52:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* genattr.c (fatal): Qualify a char* with the `const' keyword.
|
|||
|
|
|||
|
* genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
|
|||
|
write_unit_name, write_eligible_delay, expand_units,
|
|||
|
make_length_attrs, write_attr_case, find_attr,
|
|||
|
make_internal_attr): Likewise.
|
|||
|
* gencheck.c (tree_codes): Likewise.
|
|||
|
* gencodes.c (fatal): Likewise.
|
|||
|
* genconfig.c (fatal): Likewise.
|
|||
|
* genemit.c (fatal): Likewise.
|
|||
|
* genextract.c (fatal, walk_rtx, copystr): Likewise.
|
|||
|
* genflags.c (fatal): Likewise.
|
|||
|
* genopinit.c (fatal, optabs, gen_insn): Likewise.
|
|||
|
* genoutput.c (fatal, error, predicates): Likewise.
|
|||
|
* genpeep.c (fatal): Likewise.
|
|||
|
* genrecog.c (fatal, decision, pred_table, add_to_sequence,
|
|||
|
write_tree_1, write_tree, change_state, copystr, indents): Likewise.
|
|||
|
|
|||
|
Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
|||
|
|
|||
|
* configure.in (with-fast-fixincludes): Fix whitespace.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
|
|||
|
asm() etc. function declarations in __DECC.
|
|||
|
|
|||
|
Thu Dec 17 13:57:23 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* expr.c (emit_move_insn_1): Only emit a clobber if the target
|
|||
|
is a pseudo register.
|
|||
|
|
|||
|
Thu Dec 17 13:50:29 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* gcse.c: Include expr.h in order to get the prototype for
|
|||
|
get_condition() which is used in delete_null_pointer_checks().
|
|||
|
|
|||
|
Thu Dec 17 15:58:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
|
|||
|
|
|||
|
Thu Dec 17 12:31:12 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
|
|||
|
(ALL_CFLAGS): Delete SCHED_CFLAGS.
|
|||
|
|
|||
|
1998-12-17 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
|
|||
|
';').
|
|||
|
|
|||
|
1998-12-17 Michael Tiemann <tiemann@axon.cygnus.com>
|
|||
|
|
|||
|
* i960.md (extend*, zero_extend*): Don't generate rtl that looks
|
|||
|
like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
|
|||
|
optimizations from the combiner.
|
|||
|
|
|||
|
Thu Dec 17 08:27:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
|
|||
|
|
|||
|
Wed Dec 16 17:30:35 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (main): Disable optimize_size if a specific
|
|||
|
optimization level is requested. Always set optimization
|
|||
|
level to 2 if -Os is specified.
|
|||
|
|
|||
|
Wed Dec 16 16:33:04 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
|
|||
|
cpplib.
|
|||
|
* cpplib.c (cpp_start_read): If in_fname is not initialized, try to
|
|||
|
initialize it using fname.
|
|||
|
|
|||
|
1998-12-16 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (do_include): Treat #include_next in the
|
|||
|
primary source file as #include plus warning. Treat
|
|||
|
#include_next in a file included by absolute path as an
|
|||
|
error. fp == CPP_NULL_BUFFER is a fatal inconsistency.
|
|||
|
|
|||
|
Wed Dec 16 12:28:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c: Don't define MIN/MAX anymore.
|
|||
|
* cpplib.c: Likewise.
|
|||
|
* machmode.h: Likewise.
|
|||
|
* system.h: Provide definitions for MIN/MAX.
|
|||
|
|
|||
|
Tue Dec 15 23:47:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* fix-header.c: Don't define xstrdup here.
|
|||
|
|
|||
|
Wed Dec 16 05:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (consec_sets_giv): New argument last_consec_insn.
|
|||
|
(strength_reduce): Provide / use it.
|
|||
|
|
|||
|
Wed Dec 16 17:24:07 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.h (loop_info): New field 'vtop'.
|
|||
|
* loop.c (check_dbra_loop): Use loop_info->vtop rather than
|
|||
|
scanning loop for vtop.
|
|||
|
* unroll.c (subtract_reg_term, find_common_reg_term): New functions.
|
|||
|
(loop_iterations): Use them to determine if loop has a constant
|
|||
|
number of iterations. Set loop_info->vtop. Don't subtract
|
|||
|
common reg term from initial_value and final_value if have a
|
|||
|
do-while loop.
|
|||
|
|
|||
|
Tue Dec 15 13:49:55 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
|
|||
|
|
|||
|
* mn10300.md (bset, bclr): Operand 0 is a read/write operand.
|
|||
|
|
|||
|
* mn10200.md (abssf2, negsf2): New expanders.
|
|||
|
|
|||
|
* mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
|
|||
|
|
|||
|
Tue Dec 15 11:55:30 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* integrate.c (copy_rtx_and_substitute): If a SUBREG is
|
|||
|
replaced by a CONCAT whose components do not have the same
|
|||
|
mode as the original SUBREG, use a new SUBREG to restore the
|
|||
|
mode.
|
|||
|
|
|||
|
* emit-rtl.c (subreg_realpart_p): Cope with subregs containing
|
|||
|
multiword complex values.
|
|||
|
|
|||
|
1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cppalloc.c: Add xstrdup here.
|
|||
|
* cpplib.h: Remove savestring prototype.
|
|||
|
* cpplib.c: Remove savestring function. s/savestring/xstrdup/
|
|||
|
throughout.
|
|||
|
* cppfiles.c: s/savestring/xstrdup/ throughout.
|
|||
|
|
|||
|
1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c: Make all directive handlers read their own
|
|||
|
arguments.
|
|||
|
(struct directive): Remove last two arguments from FUNC
|
|||
|
member prototype. Remove `command_reads_line' member
|
|||
|
entirely.
|
|||
|
(directive_table): Remove initializations of
|
|||
|
command_reads_line flag. Pretty-print.
|
|||
|
(eval_if_expression, do_define, do_line, do_include,
|
|||
|
do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
|
|||
|
do_else, do_elif, do_sccs, do_assert, do_unassert,
|
|||
|
do_warning): Take only two args.
|
|||
|
|
|||
|
(cpp_define): Call do_define with two args and the text to
|
|||
|
define stuffed into a buffer.
|
|||
|
(make_assertion): Call do_assert with two args.
|
|||
|
(handle_directive): Call do_line with two args. Call
|
|||
|
kt->func with two args. Remove command_reads_line
|
|||
|
processing.
|
|||
|
(do_define, do_undef, do_error, do_warning, do_pragma,
|
|||
|
do_sccs): Read the rest of the line here.
|
|||
|
(do_ident): Gobble rest of line, as cccp does.
|
|||
|
(cpp_undef): New function.
|
|||
|
(cpp_start_read): Call cpp_undef instead of do_undef.
|
|||
|
|
|||
|
1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpphash.h (union hash_value): Remove `keydef' member, add a
|
|||
|
`struct hashnode *aschain' member for #assert.
|
|||
|
|
|||
|
* cpplib.c (struct tokenlist_list, struct
|
|||
|
assertion_hashnode): Delete structure definitions.
|
|||
|
(assertion_install, assertion_lookup, delete_assertion,
|
|||
|
check_assertion, compare_token_lists, reverse_token_list,
|
|||
|
read_token_list, free_token_list): Delete functions.
|
|||
|
(parse_assertion): New function.
|
|||
|
(cpp_cleanup): Don't destroy the assertion_hashtable.
|
|||
|
|
|||
|
(do_assert): Gut and rewrite. #assert foo (bar) places
|
|||
|
entries for `#foo' and `#foo(bar)' in the macro hash table,
|
|||
|
type T_ASSERT. The value union's `aschain' member is used
|
|||
|
to chain all answers for a given predicate together.
|
|||
|
(do_unassert): Also rewritten. Take an un-asserted
|
|||
|
answer off the chain from its predicate and call
|
|||
|
delete_macro on the hashnode, or walk a predicate chain
|
|||
|
calling delete_macro on all the entries.
|
|||
|
(cpp_read_check_assertion): Simply call parse_assertion to
|
|||
|
get the canonical assertion name, and look that up in the
|
|||
|
hash table.
|
|||
|
|
|||
|
* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
|
|||
|
Removed.
|
|||
|
|
|||
|
* cpphash.c (install): Use bcopy instead of an explicit loop
|
|||
|
to copy the macro name.
|
|||
|
|
|||
|
* cppexp.c (cpp_lex): Convert the result of
|
|||
|
cpp_read_check_assertion to a `struct operation' directly;
|
|||
|
don't go through parse_number.
|
|||
|
|
|||
|
Tue Dec 15 18:27:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.h (struct induction): Delete times_used member.
|
|||
|
* loop.c (n_times_set): Rename to set_in_loop. Changed all users.
|
|||
|
(n_times_used): Rename to n_times_set. Changed all users.
|
|||
|
(scan_loop): Free reg_single_usage before strength reduction.
|
|||
|
(record_giv, combine_givs): Remove handling of times_used member.
|
|||
|
(combine_givs_used_once): Rename to:
|
|||
|
(combine_givs_used_by_other) . Changed all callers.
|
|||
|
|
|||
|
Tue Dec 15 01:45:26 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
|
|||
|
instead of TREE_CODE_CLASS == 't'.
|
|||
|
(gen_type_die): Likewise.
|
|||
|
(scope_die_for): Ignore FUNCTION_TYPE "scopes".
|
|||
|
|
|||
|
Mon Dec 14 16:23:27 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* real.c (endian): Disable last change unless
|
|||
|
HOST_BITS_PER_WIDE_INT is greater than 32.
|
|||
|
|
|||
|
Mon Dec 14 17:13:36 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* output.h (force_data_section): New prototype.
|
|||
|
* varasm.c (force_data_section): New function to force the
|
|||
|
data section, regardless of what in_section thinks.
|
|||
|
* dwarf2out.c (output_call_frame_info): Call force_data_section
|
|||
|
since varasm may not realize we've changes sections.
|
|||
|
|
|||
|
Mon Dec 14 14:09:34 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
|
|||
|
after completing reload.
|
|||
|
|
|||
|
* rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
|
|||
|
deleted after reload.
|
|||
|
|
|||
|
Mon Dec 14 01:39:28 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* rtl.h (multiple_sets): Fix prototype.
|
|||
|
* rtlanal.c (multiple_sets): Fix return type.
|
|||
|
|
|||
|
Sun Dec 13 12:43:58 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Dec 13 01:05:22 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
1998-12-13 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
|
|||
|
|
|||
|
Sun Dec 13 00:24:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* rtl.h (recompute_reg_usage): Add second argument.
|
|||
|
* flow.c (recompute_reg_usage): Likewise.
|
|||
|
* toplev.c (rest_of_compilation): Supply second argument to
|
|||
|
recompute_reg_usage.
|
|||
|
|
|||
|
* reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
|
|||
|
after reload.
|
|||
|
|
|||
|
Sat Dec 12 23:39:10 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
|
|||
|
(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
|
|||
|
(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
|
|||
|
mcpu32 or m5200.
|
|||
|
|
|||
|
* i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
|
|||
|
|
|||
|
* rtlanal.c (multiple_sets): New function.
|
|||
|
* rtl.h (multiple_sets): Declare it.
|
|||
|
* local-alloc.c (wipe_dead_reg): Use it.
|
|||
|
* global.c (global_conflicts): Likewise.
|
|||
|
|
|||
|
Sat Dec 12 22:13:02 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* global.c (record_conflicts): Don't use an array of shorts to
|
|||
|
store an array of ints.
|
|||
|
(global_conflicts): Likewise.
|
|||
|
|
|||
|
Sat Dec 12 16:49:24 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_expand_block_move): mode_for_size expects
|
|||
|
bits, not bytes. Infer extra alignment from addressof.
|
|||
|
|
|||
|
1998-12-11 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
|
|||
|
.sbss section, not .sdata.
|
|||
|
|
|||
|
1998-12-11 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* cccp.c: Do not #include <sys/stat.h> here; this is already done
|
|||
|
by "system.h".
|
|||
|
* collect2.c: Likewise.
|
|||
|
* cpplib.h: Likewise.
|
|||
|
* gcc.c: Likewise.
|
|||
|
* gcov.c: Likewise.
|
|||
|
* getpwd.c: Likewise.
|
|||
|
* protoize.c: Likewise.
|
|||
|
* toplev.c: Likewise.
|
|||
|
|
|||
|
* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
|
|||
|
and don't try to define it here.
|
|||
|
* Makefile.in (cppmain.o): Depend on machmode.h.
|
|||
|
(cpplib.o): Likewise.
|
|||
|
(cpperror.o): Likewise.
|
|||
|
(cppexp.o): Likewise.
|
|||
|
(cppfiles.o): Likewise.
|
|||
|
(cpphash.o): Likewise.
|
|||
|
(cppalloc.o): Likewise.
|
|||
|
(fix-header.o): Likewise.
|
|||
|
(scan-decls.o): Likewise.
|
|||
|
|
|||
|
Fri Dec 11 11:02:49 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* sh.c (print_operand): Lookup interrupt_handler attribute instead
|
|||
|
of relying on static variable.
|
|||
|
* (calc_live_regs): Likewise.
|
|||
|
* (sh_pragma_insert_attributes): Create interrupt_handler
|
|||
|
attribute if a pragma was specified.
|
|||
|
* (sh_valid_machine_decl_attribute): Don't set static flag.
|
|||
|
* sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
|
|||
|
|
|||
|
Fri Dec 11 12:56:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
|
|||
|
to determine if a register is live at a jump destination.
|
|||
|
Everything is dead at a BARRIER.
|
|||
|
|
|||
|
Thu Dec 10 16:02:06 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* cse.c (simplify_unary_operation): Sign-extend constants when
|
|||
|
they have the most significant bit set for the target.
|
|||
|
* real.c (endian): Sign-extend 32 bit output values on a 64 bit
|
|||
|
host.
|
|||
|
* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
|
|||
|
HOST_WIDE_INT temporary before negating it.
|
|||
|
* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
|
|||
|
|
|||
|
Thu Dec 10 15:05:59 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* objc/objc-act.c (lang_init_options): Enclose cpplib related code in
|
|||
|
#if USE_CPPLIB.
|
|||
|
|
|||
|
Thu Dec 10 13:39:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* collect2.h: New header file for prototypes.
|
|||
|
|
|||
|
* Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
|
|||
|
|
|||
|
* collect2.c: Include collect2.h.
|
|||
|
* tlink.c: Likewise.
|
|||
|
|
|||
|
Wed Dec 9 23:55:11 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c: Update some comments.
|
|||
|
|
|||
|
Wed Dec 9 15:29:26 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* objc/objc-act.c (cpp_initialized): Removed.
|
|||
|
(lang_init_options): Initialize cpplib.
|
|||
|
(lang_decode_option): Move initialization of cpplib to
|
|||
|
lang_init_options.
|
|||
|
* c-lang.c (parse_options,parse_in): Added.
|
|||
|
(lang_init_options): Initialized cpplib here.
|
|||
|
* c-decl.c (parse_options,cpp_initialized): Removed.
|
|||
|
(c_decode_option): Move initialization of cpplib to
|
|||
|
lang_init_options.
|
|||
|
|
|||
|
Wed Dec 9 19:36:57 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_combine, reload_combine_note_store):
|
|||
|
Make STORE_RUID always valid.
|
|||
|
(reload_combine): Check if BASE is clobbered too early.
|
|||
|
|
|||
|
Wed Dec 9 09:53:58 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* reload.c (find_reloads): Display the insn that cannot be
|
|||
|
reloaded.
|
|||
|
|
|||
|
Wed Dec 9 12:15:26 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cccp.c (create_definition): Fix end of buffer logic.
|
|||
|
|
|||
|
Wed Dec 9 10:15:45 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
|
|||
|
pointer parameters changed to use the PARAMS() macro.
|
|||
|
|
|||
|
Wed Dec 9 09:12:40 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* except.h (struct handler_info): Add handler_number field.
|
|||
|
* except.c (gen_exception_label): EH labels no longer need to be
|
|||
|
on the permanent obstack.
|
|||
|
(get_new_handler): Set the label number field.
|
|||
|
(output_exception_table_entry): Regenerate handler label reference
|
|||
|
from the label number field.
|
|||
|
(init_eh): Remove a blank line.
|
|||
|
* integrate.c (get_label_from_map): Labels no longer need to be
|
|||
|
on the permanent obstack.
|
|||
|
|
|||
|
Tue Dec 8 22:04:33 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
|
|||
|
only when OUTER_CODE is SET.
|
|||
|
|
|||
|
Tue Dec 8 22:47:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (strength_reduce): If scan_start points to the loop exit
|
|||
|
test, be wary of subversive use of gotos inside expression statements.
|
|||
|
Don't set maybe_multiple for a backward jump that does not
|
|||
|
include the label under consideration into its range.
|
|||
|
* unroll.c (biv_total_increment): Make use of maybe_multiple field.
|
|||
|
|
|||
|
Tue Dec 8 22:33:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* explow.c (plus_constant_wide): Don't immediately return with
|
|||
|
result of recursive call.
|
|||
|
|
|||
|
Tue Dec 8 15:32:56 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* eh-common.h (struct eh_context): Add table_index for rethrows.
|
|||
|
|
|||
|
* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
|
|||
|
(SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
|
|||
|
processed when inlined or unrolled (ie duplicated in some way).
|
|||
|
|
|||
|
* rtl.c (reg_note_name): Add strings for new reg_note enums.
|
|||
|
|
|||
|
* expr.h (rethrow_libfunc): New library decl.
|
|||
|
|
|||
|
* optabs.c (rethrow_libfunc): Initialize.
|
|||
|
|
|||
|
* except.h (struct eh_entry): Add new field 'rethrow_label'.
|
|||
|
(new_eh_region_entry): No longer exported from except.c.
|
|||
|
(duplicate_handlers): Renamed to duplicate_eh_handlers and
|
|||
|
different prototype.
|
|||
|
(rethrow_symbol_map, rethrow_used): New exported functions.
|
|||
|
(eh_region_from_symbol): New exported function.
|
|||
|
|
|||
|
* except.c (create_rethrow_ref): New function to create a single
|
|||
|
SYMBOL_REF for a rethrow region.
|
|||
|
(push_eh_entry): Initialize a rethrow ref.
|
|||
|
(func_eh_entry): Add a rethrow_label field.
|
|||
|
(new_eh_region_entry): Make static, and initialize the rethrow entry.
|
|||
|
(duplicate_eh_handlers): Create a new region, and remap labels/symbols.
|
|||
|
(eh_region_from_symbol): Find an EH region based on its rethrow symbol.
|
|||
|
(rethrow_symbol_map): Given a label map, maps a rethrow symbol for
|
|||
|
a region into an appropriate new symbol.
|
|||
|
(rethrow_used): Indicate whether a rethrow symbol has been referenced.
|
|||
|
(expand_eh_region_end): Don't issue jump around code for new-exceptions.
|
|||
|
(end_catch_handler): Emit a barrier for new-exceptions since
|
|||
|
control can never drop through the end of a catch block.
|
|||
|
(expand_end_all_catch): new-exceptions never fall through a catch
|
|||
|
block.
|
|||
|
(expand_rethrow): Use __rethrow routine for new exceptions.
|
|||
|
(output_exception_table_entry): Generate rethrow labels, if needed.
|
|||
|
(output_exception_table): Generate start and end rethrow labels.
|
|||
|
(init_eh): Create rethrow symbols for beginning and end of table.
|
|||
|
(scan_region): Don't eliminate EH regions which are the targets of
|
|||
|
rethrows.
|
|||
|
|
|||
|
* flow.c (make_edges): Add different edges for rethrow calls,
|
|||
|
identified by having the REG_EH_RETHROW reg label.
|
|||
|
(delete_unreachable_blocks): Don't delete regions markers which are
|
|||
|
the target of a rethrow.
|
|||
|
|
|||
|
* integrate.c (save_for_inline_eh_labelmap): New callback routine to
|
|||
|
allow save_for_inline_copying to call duplicate_eh_handlers.
|
|||
|
(save_for_inline_copying): Call duplicate_eh_handlers instead of
|
|||
|
exposing internal details of exception regions.
|
|||
|
(copy_for_inline): Check if SYMBOL_REFs need adjustment.
|
|||
|
(expand_inline_function_eh_labelmap): New callback routine to
|
|||
|
allow expand_inline_function to call duplicate_eh_handlers.
|
|||
|
(expand_inline_function): Call duplicate_eh_handlers instead of
|
|||
|
exposing internal details of exception regions.
|
|||
|
(copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
|
|||
|
flag is set.
|
|||
|
|
|||
|
* libgcc2.c (find_exception_handler): Generalize to enable it to
|
|||
|
pick up processing where it left off last time for a rethrow.
|
|||
|
(__unwinding_cleanup): New function. debug hook which is called before
|
|||
|
unwinding when __throw finds there is nothing but cleanups left.
|
|||
|
(throw_helper): Common parts of __throw extracted out for reuse.
|
|||
|
(__throw): Common parts moved to throw_helper.
|
|||
|
(__rethrow): New function for performing rethrows.
|
|||
|
|
|||
|
Tue Dec 8 13:11:04 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (current_function_decl): Tweak declaration.
|
|||
|
|
|||
|
Tue Dec 8 10:23:52 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* c-decl.c (flag_isoc9x): Default off.
|
|||
|
(c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
|
|||
|
* cccp.c (print_help, main): Likewise.
|
|||
|
* gcc.c (default_compilers): Update for -std=gnu*.
|
|||
|
|
|||
|
Tue Dec 8 01:14:46 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
|
|||
|
* demangle.h: Deleted.
|
|||
|
|
|||
|
* reload1.c (current_function_decl): Declare.
|
|||
|
|
|||
|
Tue Dec 8 11:58:51 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
|
|||
|
|
|||
|
Tue Dec 8 09:28:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
|
|||
|
|
|||
|
1998-12-08 Ulrich Drepper <drepper@cygnus.com>
|
|||
|
|
|||
|
* configure.in: Test for availability of putc_unlocked, fputc_unlocked,
|
|||
|
and fputs_unlocked.
|
|||
|
* configure: Rebuilt.
|
|||
|
* system.h: If the *_unlocked functions are available use them
|
|||
|
instead of the locked counterparts by defining macros.
|
|||
|
* config.in: Regenerated.
|
|||
|
|
|||
|
Tue Dec 8 00:34:05 1998 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
|
|||
|
wrong and should only be used for dump related things, not
|
|||
|
debugging information, instead main_input_filename should be used.
|
|||
|
Also, reuse output_file_directive if possible.
|
|||
|
* i386/aix386ng.h (ASM_FILE_START): Likewise.
|
|||
|
* i386/isc.h (ASM_FILE_START): Likewise.
|
|||
|
* i386/win-nt.h (ASM_FILE_START): Likewise.
|
|||
|
* i386/sun386.h (ASM_FILE_START): Likewise.
|
|||
|
|
|||
|
Mon Dec 7 23:56:28 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* configure.in (mips*-*-linux*): Handle big and little endian
|
|||
|
systems.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Mon Dec 7 23:14:51 1998 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* emit-rtl.c: Fix typo.
|
|||
|
|
|||
|
Mon Dec 7 23:07:38 1998 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* reload1.c (eliminate_regs): Don't do anything, if we're not
|
|||
|
generating code.
|
|||
|
|
|||
|
Mon Dec 7 15:27:09 1998 DJ Delorie <dj@cygnus.com>
|
|||
|
|
|||
|
* mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
|
|||
|
Add comment.
|
|||
|
* mips/mips.c (mips_select_section): Add comment.
|
|||
|
|
|||
|
Mon Dec 7 17:55:06 1998 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* cccp.c (ignore_escape_flag): Add support for \ as `natural'
|
|||
|
characters in file names in #line to be consistent with #include
|
|||
|
handling. We support escape processing in the # 1 "..." version of
|
|||
|
the command. See also support in cp/lex.c.
|
|||
|
(handle_directive): Likewise.
|
|||
|
(do_line): Likewise.
|
|||
|
|
|||
|
1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
|
|||
|
so it'll work on non-ASCII platforms. Always consider $ an
|
|||
|
identifier character. Take no arguments.
|
|||
|
(cpp_reader_init): Call initialize_char_syntax with no
|
|||
|
arguments.
|
|||
|
(cpp_start_read): Don't call initialize_char_syntax again.
|
|||
|
Clear is_idchar['$'] and is_idstart['$'] if not
|
|||
|
opts->dollars_in_ident.
|
|||
|
|
|||
|
* cpplib.h (struct cpp_reader): Replace void *data element by
|
|||
|
cpp_options *opts. Rearrange elements to make gdb printout
|
|||
|
less annoying (put buffer stack at end).
|
|||
|
(CPP_OPTIONS): Get rid of now-unnecessary cast.
|
|||
|
|
|||
|
* cppmain.c: s/data/opts/ when initializing cpp_reader
|
|||
|
structure.
|
|||
|
* c-decl.c: Likewise.
|
|||
|
* objc/objc-act.c: Likewise.
|
|||
|
* fix-header.c: Likewise.
|
|||
|
|
|||
|
1998-12-07 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.h (struct cpp_buffer): Replace dir and dlen members
|
|||
|
with a struct file_name_list pointer.
|
|||
|
(struct cpp_reader): Add pointer to chain of `actual
|
|||
|
directory' include searchpath entries.
|
|||
|
(struct file_name_list): Add *alloc pointer for the sake of
|
|||
|
the actual-directory chain.
|
|||
|
|
|||
|
Move definition of HOST_WIDE_INT here.
|
|||
|
(cpp_parse_escape): Change prototype to match changes in
|
|||
|
cppexp.c.
|
|||
|
|
|||
|
* cppfiles.c (actual_directory): New function.
|
|||
|
(finclude): Use it to initialize the buffer's actual_dir
|
|||
|
entry.
|
|||
|
(find_include_file): We don't need to fix up max_include_len
|
|||
|
here.
|
|||
|
|
|||
|
* cpplib.c (do_include): Don't allocate a file_name_list on
|
|||
|
the fly for current directory "" includes, use the one that's
|
|||
|
been preallocated in pfile->buffer->actual_dir. Hoist out
|
|||
|
duplicate code from the search_start selection logic.
|
|||
|
(cpp_reader_init): Initialize pfile->actual_dirs.
|
|||
|
|
|||
|
Remove definition of HOST_WIDE_INT. Change calls
|
|||
|
to cpp_parse_escape to match changes in cppexp.c (note
|
|||
|
hardcoded MASK, which is safe since this is the source
|
|||
|
character set).
|
|||
|
|
|||
|
* cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
|
|||
|
to handle wide character constants in #if directives. The
|
|||
|
function now returns a HOST_WIDE_INT, and takes a third
|
|||
|
argument which is a binary mask for all legal values (0x00ff
|
|||
|
for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.) Define
|
|||
|
MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK. Change callers of
|
|||
|
cpp_parse_escape to match. [Fixes c-torture/execute/widechar-1.c]
|
|||
|
|
|||
|
Mon Dec 7 15:38:25 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
|
|||
|
|
|||
|
Mon Dec 7 15:38:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
|
|||
|
* cppalloc.c: Move function `xcalloc' from cpplib.c to here.
|
|||
|
* cpplib.c: Move function `xcalloc' from here to cppalloc.c.
|
|||
|
|
|||
|
Mon Dec 7 11:30:49 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* final.c (output_asm_name): Use tabs to separate comments from
|
|||
|
assembly text.
|
|||
|
|
|||
|
Include instruction lengths (if defined) in output.
|
|||
|
|
|||
|
Mon Dec 7 10:53:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
|
|||
|
in the loop_info structure.
|
|||
|
|
|||
|
Mon Dec 7 11:04:40 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* configure.in (arm*-*-ecos-elf): New target.
|
|||
|
* configure: Regenerated.
|
|||
|
* config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
|
|||
|
* config/arm/ecos-elf.h: New file.
|
|||
|
* config/arm/unknown-elf.h (TARGET_VERSION): Check
|
|||
|
for redefinition.
|
|||
|
|
|||
|
Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.c (output_far_jump): Emit braf only for TARGET_SH2.
|
|||
|
|
|||
|
Sun Dec 6 04:19:45 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Dec 6 05:16:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): New argument loop_info. Update fields
|
|||
|
as needed.
|
|||
|
|
|||
|
Sun Dec 6 03:40:13 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Dec 6 07:49:29 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
|
|||
|
compressed reports are ok and preferred over URLs.
|
|||
|
|
|||
|
Sun Dec 6 07:45:33 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* invoke.texi (Warning Options): Soften the tone of -pedantic.
|
|||
|
|
|||
|
Sun Dec 6 00:20:44 1998 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* print-rtl.c (print_rtx): Add prototype.
|
|||
|
|
|||
|
* unroll.c (iteration_info): Make it static.
|
|||
|
|
|||
|
Sun Dec 6 01:19:46 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alias.c (memrefs_conflict_p): A second ANDed address
|
|||
|
disables the aligned address optimization.
|
|||
|
|
|||
|
Sat Dec 5 18:48:25 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_emit_set_const_1): Fix parenthesis error
|
|||
|
in -c << n case.
|
|||
|
|
|||
|
Sat Dec 5 15:14:52 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* i960.h (BOOL_TYPE_SIZE): Define.
|
|||
|
|
|||
|
Sun Dec 6 00:28:16 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
|
|||
|
from old valid_parallel_operands_4.
|
|||
|
(valid_parallel_operands_4): Check that operands for 4 operand
|
|||
|
parallel insns are valid, excluding load/store insns.
|
|||
|
* config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
|
|||
|
* config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
|
|||
|
valid_parallel_load_store instead of valid_parallel_operands_4.
|
|||
|
(*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
|
|||
|
*negqf2_movqf_clobber, *absqi2_movqi_clobber,
|
|||
|
*fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
|
|||
|
*notqi_movqi_clobber): Use valid_parallel_operands_4.
|
|||
|
(*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
|
|||
|
*ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
|
|||
|
*subqi3_movqi_clobber): Use valid_parallel_operands_5.
|
|||
|
|
|||
|
Sat Dec 5 23:52:01 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (iteration_info): Delete extern.
|
|||
|
|
|||
|
Fri Dec 4 20:15:57 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
|
|||
|
|
|||
|
* final.c (cleanup_subreg_operands): Delete some unused code.
|
|||
|
|
|||
|
* recog.h (MAX_RECOG_ALTERNATIVES): New macro.
|
|||
|
(struct insn_alternative): New structure definition.
|
|||
|
(recog_op_alt): Declare variable.
|
|||
|
(preprocess_constraints): Declare function.
|
|||
|
* recog.c (recog_op_alt): New variable.
|
|||
|
(extract_insn): Verify number of alternatives is in range.
|
|||
|
(preprocess_constraints): New function.
|
|||
|
* reg-stack.c: Include recog.h.
|
|||
|
(constrain_asm_operands): Delete.
|
|||
|
(get_asm_operand_lengths): Delete.
|
|||
|
(get_asm_operand_n_inputs): New function.
|
|||
|
(record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
|
|||
|
N_OUTPUTS args. All callers changed.
|
|||
|
Compute number of inputs and outputs here by calling
|
|||
|
get_asm_operand_n_inputs.
|
|||
|
Instead of constrain_asm_operands, call extract_insn,
|
|||
|
constrain_operands and preprocess_constraints. Use information
|
|||
|
computed by these functions throughout.
|
|||
|
(record_reg_life): Delete code that is unused due to changes in
|
|||
|
record_asm_reg_life.
|
|||
|
(subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
|
|||
|
N_INPUTS and N_OUTPUTS args. All callers changed.
|
|||
|
Similar changes as in record_asm_reg_life.
|
|||
|
(subst_stack_regs): Move n_operands declaration into the if statement
|
|||
|
where it's used.
|
|||
|
Delete code that is unused due to changes in subst_asm_stack_regs.
|
|||
|
* stmt.c (expand_asm_operands): Verify number of alternatives is in
|
|||
|
range.
|
|||
|
* Makefile.in (reg-stack.o): Depend on recog.h.
|
|||
|
|
|||
|
Fri Dec 4 02:23:24 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* except.c (set_exception_version_code): Argument is an "int".
|
|||
|
|
|||
|
Fri Dec 4 01:29:28 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Fri Dec 4 01:29:28 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* configure.in (mipsel-*-linux*): New target.
|
|||
|
* mips/linux.h: New file, based on other Linux targets.
|
|||
|
|
|||
|
Thu Dec 3 11:19:50 1998 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* gthr-vxworks.h (__ehdtor): Fix memory leak. The delete hook
|
|||
|
runs in the context of the deleter, not the deletee, so we must
|
|||
|
use taskVarGet to find the correct memory to free.
|
|||
|
(__gthread_key_create): Initialize the task
|
|||
|
variable subsystem so that the task variable is still active when
|
|||
|
the delete hook is run.
|
|||
|
|
|||
|
1998-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
|
|||
|
|
|||
|
* pdp11.h: Use optimize_size for space optimizations.
|
|||
|
* pdp11.c: Likewise.
|
|||
|
* pdp11.md: Likewise.
|
|||
|
|
|||
|
* pdp11.h (TARGET_40_PLUS): Fix typo.
|
|||
|
|
|||
|
Thu Dec 3 11:48:32 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* local-alloc.c (block_alloc): Slightly retune heuristic to widen
|
|||
|
qty lifetimes.
|
|||
|
|
|||
|
Thu Dec 3 22:30:18 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* alias.c (addr_side_effect_eval): New function.
|
|||
|
(memrefs_conflict_p): Use it.
|
|||
|
* rtl.h (addr_side_effect_eval): Prototype it.
|
|||
|
|
|||
|
1998-12-02 Joseph S. Myers <jsm28@cam.ac.uk>
|
|||
|
|
|||
|
* pdp11.md (extendsfdf2): Fix mode mismatch in SET.
|
|||
|
|
|||
|
Wed Dec 2 11:23:07 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* reload.c (find_reloads): When force const to memory, put result
|
|||
|
in substed_operand not *recog_operand_loc.
|
|||
|
|
|||
|
1998-12-02 Ulrich Drepper <drepper@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c: Fix indentation from last patch.
|
|||
|
Remove trailing whitespace.
|
|||
|
* real.c: Likewise.
|
|||
|
|
|||
|
Wed Dec 2 10:11:12 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (delete_block): Call set_last_insn after we have reset
|
|||
|
NEXT_INSN (kept_tail).
|
|||
|
|
|||
|
Wed Dec 2 00:47:31 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mips.md (trap_if): Use "$0" for the value zero.
|
|||
|
|
|||
|
Tue Dec 1 20:49:49 1998 Ulrich Drepper <drepper@cygnus.com>
|
|||
|
Stephen L Moshier <moshier@world.std.com>
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* c-common.c (declare_function_name): Declare predefined variable
|
|||
|
`__func__'.
|
|||
|
|
|||
|
* c-decl.c (flag_isoc9x): Set to 1 by default.
|
|||
|
(c_decode_option): Handle -std= option. Remove -flang-isoc9x.
|
|||
|
(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
|
|||
|
|
|||
|
* c-parse.in: Allow constructors in ISO C 9x.
|
|||
|
Rewrite designator list handling.
|
|||
|
Allow [*] parameters.
|
|||
|
Don't warn about comma at end of enum definition for ISO C 9x.
|
|||
|
|
|||
|
* cccp.c (c9x): New variable.
|
|||
|
(rest_extension): New variable.
|
|||
|
(print_help): Document new -std= option.
|
|||
|
(main): Recognize -std= option. Set c9x appropriately.
|
|||
|
(create_definition): Recognize ISO C 9x vararg macros.
|
|||
|
|
|||
|
* gcc.c (default_compilers): Adjust specs for -std options.
|
|||
|
(option_map): Add --std.
|
|||
|
(display_help): Document -std.
|
|||
|
|
|||
|
* toplev.c (documented_lang_options): Add -std and remove
|
|||
|
-flang-isoc9x.
|
|||
|
|
|||
|
* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
|
|||
|
or REAL_VALUE_HTOF based on base of the constants.
|
|||
|
* fold-const.c (real_hex_to_f): New function. Replacement function
|
|||
|
for hex FP conversion if REAL_ARITHMETIC is not defined.
|
|||
|
* real.c (asctoeg): Add handling of hex FP constants.
|
|||
|
* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
|
|||
|
real_hex_to_f.
|
|||
|
|
|||
|
Tue Dec 1 16:45:49 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
|
|||
|
-mcheck-range-division/-mcheck-zero-division checking. Avoid as macro
|
|||
|
expansion. Use hi/lo as destination register.
|
|||
|
(div_trap): New.
|
|||
|
(divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
|
|||
|
umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
|
|||
|
Avoid as macro expansion. Use hi/lo as destination register.
|
|||
|
|
|||
|
* mips.h (MASK_CHECK_RANGE_DIV): New.
|
|||
|
(MASK_NO_CHECK_ZERO_DIV): New.
|
|||
|
(ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
|
|||
|
(CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
|
|||
|
return address for leaf functions out of r31 to support
|
|||
|
builtin_return_address.
|
|||
|
|
|||
|
Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
|
|||
|
NEXT_INSN(x) to check insn x.
|
|||
|
|
|||
|
Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (delete_block): Call set_last_insn if we end up deleting the
|
|||
|
last insn in the rtl chain.
|
|||
|
|
|||
|
* reload1.c (reload): Do not set reload_completed or split insns
|
|||
|
here. Instead...
|
|||
|
* toplev.c (rest_of_compilation): Set reload_completed after
|
|||
|
reload returns. Split insns after reload_cse has run.
|
|||
|
|
|||
|
Tue Dec 1 11:55:04 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* final.c (final_scan_insn): Abort if block_depth falls below 0.
|
|||
|
|
|||
|
Tue Dec 1 10:23:16 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
|
|||
|
|
|||
|
Tue Dec 1 10:22:18 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
|
|||
|
use of user-label_prefix.
|
|||
|
|
|||
|
Tue Dec 1 17:58:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (emit_reload_insns): Clear spill_reg_store
|
|||
|
when doing a new non-inherited reload from the same pseudo.
|
|||
|
|
|||
|
* local-alloc.c (function_invariant_p): New function.
|
|||
|
(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
|
|||
|
to decide if an equivalence should be recorded.
|
|||
|
* reload1.c (num_eliminable_invariants): New static variable.
|
|||
|
(reload): Set it. Use function_invariant_p instead of CONSTANT_P
|
|||
|
to decide if an equivalence should be recorded.
|
|||
|
Unshare PLUS.
|
|||
|
(calculate_needs_all_insns): Skip insns that only set an equivalence.
|
|||
|
Take num_eliminable_invariants into account when deciding
|
|||
|
if register elimination should be done.
|
|||
|
(reload_as_needed): Take num_eliminable_invariants into account
|
|||
|
when deciding if register elimination should be done.
|
|||
|
(eliminate_regs): Handle non-constant reg_equiv_constant.
|
|||
|
* rtl.h (function_invariant_p): Declare.
|
|||
|
|
|||
|
Mon Nov 30 02:00:08 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Nov 30 00:42:59 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Nov 29 22:59:40 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* except.c (add_new_handler): Complain about additional handlers
|
|||
|
after one that catches everything.
|
|||
|
|
|||
|
Sat Nov 28 10:56:32 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (alpha*-*-netbsd): Fix typo.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Fri Nov 27 12:28:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* system.h: Include libiberty.h.
|
|||
|
|
|||
|
* c-aux-info.c: Remove prototypes for concat/concat3. Change
|
|||
|
function `concat' from fixed parameters to variable parameters,
|
|||
|
as is done in libiberty. All callers of concat/concat3
|
|||
|
changed to use the new `concat' with variable args.
|
|||
|
|
|||
|
* cccp.c: Remove things made redundant by libiberty.h and/or
|
|||
|
conform to libiberty standards.
|
|||
|
* cexp.y: Likewise.
|
|||
|
* collect2.c: Likewise.
|
|||
|
* config/1750a/1750a.h: Likewise.
|
|||
|
* cppalloc.c: Likewise.
|
|||
|
* cppexp.c: Likewise.
|
|||
|
* cppfiles.c: Likewise.
|
|||
|
* cpphash.c: Likewise.
|
|||
|
* cpplib.c: Likewise.
|
|||
|
* dyn-string.c: Likewise.
|
|||
|
* fix-header.c: Likewise.
|
|||
|
* gcc.c: Likewise.
|
|||
|
* gcov.c: Likewise.
|
|||
|
* genattr.c: Likewise.
|
|||
|
* genattrtab.c: Likewise.
|
|||
|
* gencheck.c: Likewise.
|
|||
|
* gencodes.c: Likewise.
|
|||
|
* genconfig.c: Likewise.
|
|||
|
* genemit.c: Likewise.
|
|||
|
* genextract.c: Likewise.
|
|||
|
* genflags.c: Likewise.
|
|||
|
* gengenrtl.c: Likewise.
|
|||
|
* genopinit.c: Likewise.
|
|||
|
* genoutput.c: Likewise.
|
|||
|
* genpeep.c: Likewise.
|
|||
|
* genrecog.c: Likewise.
|
|||
|
* getpwd.c: Likewise.
|
|||
|
* halfpic.c: Likewise.
|
|||
|
* hash.c: Likewise.
|
|||
|
* mips-tdump.c: Likewise. Wrap malloc/realloc/calloc prototypes
|
|||
|
in NEED_DECLARATION_* macros.
|
|||
|
|
|||
|
* mips-tfile.c: Remove things made redundant by libiberty.h and/or
|
|||
|
conform to libiberty standards.
|
|||
|
(fatal): Fix const-ification of variable `format' in
|
|||
|
!ANSI_PROTOTYPES case.
|
|||
|
|
|||
|
* prefix.c: Remove things made redundant by libiberty.h and/or
|
|||
|
conform to libiberty standards.
|
|||
|
|
|||
|
* print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
|
|||
|
conflicting with function `spaces' from libiberty.
|
|||
|
|
|||
|
* profile.c: Remove things made redundant by libiberty.h and/or
|
|||
|
conform to libiberty standards.
|
|||
|
* protoize.c: Likewise.
|
|||
|
* rtl.h: Likewise.
|
|||
|
* scan.h: Likewise.
|
|||
|
* tlink.c: Likewise.
|
|||
|
* toplev.c: Likewise.
|
|||
|
* toplev.h: Likewise.
|
|||
|
* tree.h: Likewise.
|
|||
|
|
|||
|
Thu Nov 26 08:38:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
|
|||
|
|
|||
|
Thu Nov 26 23:45:37 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* README.C4X: Updated URLs.
|
|||
|
* config/c4x/c4x.c (c4x_address_conflict): Fix typo.
|
|||
|
(valid_parallel_operands_5): Remove unused variable.
|
|||
|
|
|||
|
Thu Nov 26 23:40:03 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
|
|||
|
|
|||
|
1998-11-26 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
|
|||
|
which can be configured.
|
|||
|
(LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
|
|||
|
(Makefile): Pass actual LANGUAGES through the environment when
|
|||
|
re-configuring.
|
|||
|
(cstamp-h): Likewise.
|
|||
|
(config.status): Likewise.
|
|||
|
|
|||
|
* configure.in (enable_languages): Add new configuration parameter
|
|||
|
"--enable-languages=lang1,lang2,...".
|
|||
|
(${srcdir}/*/config-lang.in): Change handling to configure only
|
|||
|
those directories, that the user might have enabled; default to
|
|||
|
"all" existing languages.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
Thu Nov 26 00:19:19 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* rtlanal.c (regs_set_between_p): New function.
|
|||
|
* rtl.h (regs_set_between_p): Prototype it.
|
|||
|
* jump.c (jump_optimize): Use it instead of modified_between_p
|
|||
|
in the Sep 2 change.
|
|||
|
|
|||
|
Wed Nov 25 23:32:02 1998 Ian Dall <Ian.Dall@dsto.defence.gov.au>
|
|||
|
Matthias Pfaller <leo@dachau.marco.de>
|
|||
|
|
|||
|
* invoke.texi (Option Summary, NS32K Options): Add description
|
|||
|
of NS32K specific options.
|
|||
|
|
|||
|
* ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
|
|||
|
fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
|
|||
|
fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
|
|||
|
negdf2, absdf2): Use l instead of f since the double class and
|
|||
|
float class are no longer the same.
|
|||
|
(cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
|
|||
|
divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
|
|||
|
ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
|
|||
|
Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
|
|||
|
fixed.
|
|||
|
(cmpsi, cmphi, cmpqi): Use general_operand instead of
|
|||
|
non_immediate_operand. Removes erroneous assumption that can't
|
|||
|
compare constants.
|
|||
|
(movsf, movsi, movhi, movqi,...): New register numbering scheme.
|
|||
|
(movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
|
|||
|
constants.
|
|||
|
(movstrsi, movstrsi1, movstrsi2): Completely new block move
|
|||
|
scheme.
|
|||
|
(...): Patterns to exploit multiply-add instructions.
|
|||
|
(udivmodsi4, udivmodsi_internal4, udivmodhi4,
|
|||
|
udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
|
|||
|
patterns to exploit extended divide insns.
|
|||
|
(udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
|
|||
|
etc patterns.
|
|||
|
|
|||
|
* ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
|
|||
|
float return values as well as simple scalar floats.
|
|||
|
(TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
|
|||
|
Support new flag to denote 32381 fpu.
|
|||
|
(OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
|
|||
|
(CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
|
|||
|
compiling for 32381.
|
|||
|
(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
|
|||
|
REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
|
|||
|
REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
|
|||
|
L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
|
|||
|
LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
|
|||
|
REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
|
|||
|
REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
|
|||
|
REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
|
|||
|
REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
|
|||
|
fpu registers and special register classes for new 32381
|
|||
|
instructions dotf and polyf.
|
|||
|
(MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
|
|||
|
be tieable.
|
|||
|
(INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
|
|||
|
INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
|
|||
|
required.
|
|||
|
(SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
|
|||
|
(MOVE_RATIO): Set to zero because of smart movstrsi implementation.
|
|||
|
(REGISTER_MOVE_COST): Move code to register_move_cost function for
|
|||
|
ease of coding and debugging.
|
|||
|
(CLASS_LIKELY_SPILLED_P): Under new register scheme class
|
|||
|
LONG_FLOAT_REGO is likely spilled but not caught by default
|
|||
|
definition.
|
|||
|
(CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
|
|||
|
instead of hard coded numbers in range check.
|
|||
|
(ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
|
|||
|
(...): Add prototypes for functions in ns32k.c but disable because
|
|||
|
of problems when ns32k.h is included in machine independent files.
|
|||
|
|
|||
|
* ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
|
|||
|
(ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
|
|||
|
hard_regno_mode_ok, secondary_reload_class,
|
|||
|
print_operand, print_operand_address): New register scheme to
|
|||
|
include 32381 fpu registers and special register classes for new
|
|||
|
32381 instructions dotf and polyf.
|
|||
|
(gen_indexed_expr): Make static to keep namespace clean.
|
|||
|
(check_reg): Remove since never called.
|
|||
|
(move_tail, expand_block_move): Helper functions for "movstrsi"
|
|||
|
block move insn.
|
|||
|
(register_move_cost): Helper function for REGISTER_MOVE_COST macro.
|
|||
|
Increase cost of moves which go via memory.
|
|||
|
* netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
|
|||
|
(CPP_PREDEFINES): No longer predefine "unix".
|
|||
|
|
|||
|
* ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
|
|||
|
Remove erroneous %$. print_operand() can work out from the rtx is
|
|||
|
an immediate prefix is required.
|
|||
|
|
|||
|
* ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
|
|||
|
VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
|
|||
|
SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
|
|||
|
convention.
|
|||
|
(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
|
|||
|
pic operands.
|
|||
|
|
|||
|
* ns32k.c (symbolic_reference_mentioned_p, print_operand):
|
|||
|
Correct handling of pic operands.
|
|||
|
(ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
|
|||
|
ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
|
|||
|
-mrtd calling convention.
|
|||
|
|
|||
|
Wed Nov 25 23:42:20 1998 Tom Tromey <tromey@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (option_map): Recognize --output-class-directory.
|
|||
|
|
|||
|
Thu Nov 26 18:26:21 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.h (precondition_loop_p): Added new mode argument.
|
|||
|
* unroll.c (precondition_loop_p): Likewise.
|
|||
|
(approx_final_value): Function deleted and subsumed
|
|||
|
into loop_iterations.
|
|||
|
(loop_find_equiv_value): New function.
|
|||
|
(loop_iterations): Use loop_find_equiv_value to find increments
|
|||
|
too large to be immediate constants. Also use it to find terms
|
|||
|
common to initial and final iteration values that can be removed.
|
|||
|
|
|||
|
Thu Nov 26 18:05:04 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.h (struct loop_info): Define new structure.
|
|||
|
(precondition_loop_p): Added prototype.
|
|||
|
(unroll_loop): Added new argument loop_info to prototype.
|
|||
|
(final_biv_value, final_giv_value): Added new argument n_iterations
|
|||
|
to prototype.
|
|||
|
* loop.c (strength_reduce): Declare new structure loop_iteration_info
|
|||
|
and new pointer loop_info.
|
|||
|
(loop_n_iterations): Replace global variable by element in
|
|||
|
loop_info structure.
|
|||
|
(check_final_value): New argument n_iterations.
|
|||
|
(insert_bct): New argument loop_info.
|
|||
|
(loop_unroll_factor): Replace global array by element in
|
|||
|
loop_info structure.
|
|||
|
(loop_optimize): Remove code to allocate and initialize
|
|||
|
loop_unroll_factor_array.
|
|||
|
* unroll.c (precondition_loop_p): No longer static since
|
|||
|
used by branch on count optimization.
|
|||
|
(precondition_loop_p, unroll_loop): New argument loop_info.
|
|||
|
(final_biv_value, final_giv_value, find_splittable_regs): New
|
|||
|
argument n_iterations.
|
|||
|
(loop_iteration_var, loop_initial_value, loop_increment,
|
|||
|
loop_final_value, loop_comparison_code, loop_unroll_factor):
|
|||
|
Replaced global variables by loop_info structure.
|
|||
|
(loop_unroll_factor): Replace global array by element in
|
|||
|
loop_info structure.
|
|||
|
|
|||
|
Thu Nov 26 17:49:29 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
|
|||
|
when loop reversed.
|
|||
|
|
|||
|
* unroll.c (precondition_loop_p): Return loop_initial_value
|
|||
|
for initial_value instead of loop_iteration_var.
|
|||
|
|
|||
|
Thu Nov 26 17:15:38 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md: Fix minor formatting problems. Update docs.
|
|||
|
(*b, *b_rev, *b_noov, *b_noov_rev, *db,
|
|||
|
decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
|
|||
|
to output the instruction sequences.
|
|||
|
(rpts): Delete.
|
|||
|
(rptb_top): Provide alternatives to use any register or memory
|
|||
|
for loop counter.
|
|||
|
(rptb_end): Emit use of operands rather than assigning them
|
|||
|
explicitly to the RS and RE registers.
|
|||
|
|
|||
|
Thu Nov 26 16:37:59 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
|
|||
|
c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
|
|||
|
c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
|
|||
|
c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
|
|||
|
c4x_merge_notes, c4x_parallel_process,
|
|||
|
c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
|
|||
|
c4x_combine_parallel): Delete.
|
|||
|
|
|||
|
Thu Nov 26 15:16:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_override_options): For compatibility
|
|||
|
with old target options clear flag_branch_on_count_reg if
|
|||
|
-mno-rptb specified and set flag_argument_alias is -mno-aliases
|
|||
|
specified.
|
|||
|
(c4x_output_cbranch): Handle a sequence of insns rather than a
|
|||
|
single insn.
|
|||
|
(c4x_rptb_insert): Do not emit a RPTB insn if the RC register
|
|||
|
has not been allocated as the loop counter.
|
|||
|
(c4x_address_conflict): Do not allow two volatile memory references.
|
|||
|
(valid_parallel_operands_4, valid_parallel_operands_5,
|
|||
|
valid_parallel_operands_6): Reject pattern if the register destination
|
|||
|
of the first set is used as part of an address in the second set.
|
|||
|
|
|||
|
Thu Nov 26 14:56:32 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
|
|||
|
(TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
|
|||
|
is no longer enabled if PARALLEL_MPY_FLAG set.
|
|||
|
(HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
|
|||
|
(REG_CLASS_CONTENTS): Add braces around initializers.
|
|||
|
(HAVE_MULTIPLE_PACK): Define.
|
|||
|
(ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
|
|||
|
REAL_VALUE_TO_DECIMAL.
|
|||
|
(ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
|
|||
|
REAL_VALUE_TO_DECIMAL.
|
|||
|
(ar0_reg_operand): Add prototype.
|
|||
|
(ar0_mem_operand): Likewise.
|
|||
|
(ar1_reg_operand): Likewise.
|
|||
|
(ar1_mem_operand): Likewise.
|
|||
|
(ar2_reg_operand): Likewise.
|
|||
|
(ar2_mem_operand): Likewise.
|
|||
|
(ar3_reg_operand): Likewise.
|
|||
|
(ar3_mem_operand): Likewise.
|
|||
|
(ar4_reg_operand): Likewise.
|
|||
|
(ar4_mem_operand): Likewise.
|
|||
|
(ar5_reg_operand): Likewise.
|
|||
|
(ar5_mem_operand): Likewise.
|
|||
|
(ar6_reg_operand): Likewise.
|
|||
|
(ar6_mem_operand): Likewise.
|
|||
|
(ar7_reg_operand): Likewise.
|
|||
|
(ar7_mem_operand): Likewise.
|
|||
|
(ir0_reg_operand): Likewise.
|
|||
|
(ir0_mem_operand): Likewise.
|
|||
|
(ir1_reg_operand): Likewise.
|
|||
|
(ir1_mem_operand): Likewise.
|
|||
|
(group1_reg_operand): Likewise.
|
|||
|
(group1_mem_operand): Likewise.
|
|||
|
(ir1_reg_operand): Likewise.
|
|||
|
(arx_reg_operand): Likewise.
|
|||
|
(not_rc_reg): Likewise.
|
|||
|
(not_modify_reg): Likewise.
|
|||
|
(c4x_group1_reg_operand): Remove prototype.
|
|||
|
(c4x_group1_mem_operand): Likewise.
|
|||
|
(c4x_arx_reg_operand): Likewise.
|
|||
|
|
|||
|
Wed Nov 25 19:02:55 1998 (Stephen L Moshier) <moshier@world.std.com>
|
|||
|
|
|||
|
* emit-rtl.c (gen_lowpart_common): Remove earlier change.
|
|||
|
* real.c (make_nan): Make SIGN arg actually specify the sign bit.
|
|||
|
|
|||
|
Thu Nov 26 14:12:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
|
|||
|
during reload.
|
|||
|
|
|||
|
Wed Nov 25 22:05:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
|
|||
|
unless FMOVD_WORKS is defined.
|
|||
|
|
|||
|
Wed Nov 25 20:11:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* regclass.c (init_reg_sets): Move code that calculates tables
|
|||
|
dependent on reg_class_contents from here...
|
|||
|
(init_reg_sets_1): To here.
|
|||
|
|
|||
|
Wed Nov 25 14:54:46 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.h: Delete struct import_file. Add ihash element to
|
|||
|
struct cpp_buffer. Delete dont_repeat_files and
|
|||
|
import_hash_table elements from cpp_reader; change
|
|||
|
all_include_files to a hash table. Delete all foobar_include
|
|||
|
/ last_foobar_include elements from struct cpp_options; put
|
|||
|
back four such: quote_include, bracket_include,
|
|||
|
system_include, after_include. Redo struct file_name_list
|
|||
|
completely. Add new structure type include_hash. Add
|
|||
|
prototypes for merge_include_chains and include_hash. Change
|
|||
|
prototypes for finclude, find_include_file, and
|
|||
|
append_include_chain to match changes below.
|
|||
|
|
|||
|
* cppfiles.c (simplify_pathname, include_hash,
|
|||
|
remap_filename, merge_include_chains): New functions.
|
|||
|
(add_import, lookup_import, open_include_file): Removed.
|
|||
|
(INO_T_EQ): Define this (copied from cccp.c).
|
|||
|
(hack_vms_include_specification): Remove all calls and #if 0
|
|||
|
out the definition. It was being called incorrectly and at
|
|||
|
the wrong times. Until a VMSie can look at this, it's better
|
|||
|
to not pretend to support it.
|
|||
|
(append_include_chain): Change calling convention; now takes
|
|||
|
only one directory at a time, and sets up the data structure
|
|||
|
itself.
|
|||
|
(redundant_include_p): Rewritten - this is now used for all
|
|||
|
include redundancy, whether by #ifndef, #import, or #pragma
|
|||
|
once. Looks up things in the include hash table.
|
|||
|
(file_cleanup): Decrement pfile->system_include_depth here if
|
|||
|
it's >0.
|
|||
|
(find_include_file): Calling convention changed; now passes
|
|||
|
around a struct include_hash instead of 3 separate parameters.
|
|||
|
Guts ripped out and replaced with new include_hash mechanism.
|
|||
|
(finclude): Calling convention changed as for
|
|||
|
find_include_file. Error exits pulled out-of-line. Reformat.
|
|||
|
(safe_read): Return a long, not an int.
|
|||
|
(deps_output): Don't recurse.
|
|||
|
|
|||
|
* cpplib.c (is_system_include): Deleted.
|
|||
|
(path_include): Fix up call to append_include_chain.
|
|||
|
(do_include): Fix up calls to find_include_file and finclude.
|
|||
|
Clean up dependency output a bit. Shorten obnoxiously lengthy
|
|||
|
#import warning message. Don't decrement
|
|||
|
pfile->system_include_depth here.
|
|||
|
(do_pragma): Understand the include_hash structure. Reformat.
|
|||
|
(do_endif): Correct handling of control macros. Understand
|
|||
|
the include_hash.
|
|||
|
(cpp_start_read): Fix up calls to finclude. Call
|
|||
|
merge_include_chains.
|
|||
|
(cpp_handle_option): Fix up calls to append_include_chain.
|
|||
|
Understand the four partial include chains.
|
|||
|
(cpp_finish): Add debugging code (#if 0-ed out) for the
|
|||
|
include_hash.
|
|||
|
(cpp_cleanup): Free the include_hash, not the import hash and
|
|||
|
the all_include and dont_repeat lists which no longer exist.
|
|||
|
|
|||
|
Wed Nov 25 11:26:19 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (no_new_pseudos): Define.
|
|||
|
(rest_of_compilation): Set no_new_pseudos as needed.
|
|||
|
* emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
|
|||
|
if no_new_pseudos is set.
|
|||
|
* rtl.h (no_new_pseudos): Declare it.
|
|||
|
* reload1.c (reload): Update comments.
|
|||
|
* md.texi: Corresponding changes.
|
|||
|
|
|||
|
Wed Nov 25 11:26:17 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
|
|||
|
(choose_reload_regs): Rename it here as well. When computing it,
|
|||
|
also merge in used hardregs.
|
|||
|
|
|||
|
1998-11-25 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* gcc.c: Split out Objective-C specs to...
|
|||
|
* objc/lang-specs.h: here. (New file.) Make the specs cpplib
|
|||
|
aware.
|
|||
|
|
|||
|
* c-lex.c (init_parse): Always initialize the filename global.
|
|||
|
* objc/objc-act.c (lang_init): Always call check_newline at
|
|||
|
beginning of file.
|
|||
|
|
|||
|
Wed Nov 25 00:48:29 1998 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload): Remove unused variable.
|
|||
|
(reload_reg_free_for_value_p): Add missing parameter definition.
|
|||
|
|
|||
|
* jump.c (jump_optimize): Remove unused variable.
|
|||
|
|
|||
|
Wed Nov 25 00:07:11 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
|
|||
|
|
|||
|
* cse.c (fold_rtx): Make autoincrement addressing mode tests be
|
|||
|
runtime selectable.
|
|||
|
* expr.c (move_by_pieces): Similarly.
|
|||
|
(move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
|
|||
|
* flow.c (find_auto_inc): Similarly.
|
|||
|
(try_pre_increment): Similarly.
|
|||
|
* loop.c (strength_reduce): Similarly.
|
|||
|
* regclass.c (auto_inc_dec_reg_p): Similarly.
|
|||
|
* regmove.c (try_auto_increment): Similarly.
|
|||
|
(fixup_match_1): Similarly.
|
|||
|
* rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
|
|||
|
(HAVE_PRE_DECREMENT): Similarly.
|
|||
|
(HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
|
|||
|
* Corresponding changes to all target header files.
|
|||
|
* tm.texi: Update docs for autoinc addressing modes.
|
|||
|
|
|||
|
Tue Nov 24 20:24:59 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
|
|||
|
* configure: Rebuild.
|
|||
|
* config/elfos.h: New file.
|
|||
|
* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
|
|||
|
config/m68k/t-m68kelf: New file.
|
|||
|
|
|||
|
Tue Nov 24 13:40:06 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (HOST_AR): Define.
|
|||
|
(HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
|
|||
|
(libcpp.a): Use the host tools explicitly.
|
|||
|
(STAGESTUFF): Add libcpp.a.
|
|||
|
|
|||
|
Tue Nov 24 09:33:49 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/m32r/m32r.md (movstrsi_internal): Describe changes made
|
|||
|
to source and destination registers.
|
|||
|
|
|||
|
Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
|
|||
|
The strategy we now use is to pre allocate the top_elt along
|
|||
|
with the EH context so that each thread has its own top_elt.
|
|||
|
This is necessary as the dynamic cleanup chain is used on the
|
|||
|
top element of the stack and each thread MUST have its own.
|
|||
|
(eh_context_static): Likewise.
|
|||
|
(new_eh_context): Likewise.
|
|||
|
(__sjthrow): Likewise.
|
|||
|
|
|||
|
Mon Nov 23 20:25:03 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
|
|||
|
* i386.md (prologue_get_pc): Remove unused variable.
|
|||
|
|
|||
|
Mon Nov 23 17:05:40 1998 Geoffrey Noer <noer@cygnus.com>
|
|||
|
|
|||
|
* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
|
|||
|
|
|||
|
Mon Nov 23 16:40:00 1998 Ulrich Drepper <drepper@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (OBJS): Add graph.o.
|
|||
|
(graph.o): New dependency list.
|
|||
|
* flags.h: Declare dump_for_graph and define graph_dump_types type.
|
|||
|
* print-rtl.c (dump_for_graph): Define new variable.
|
|||
|
(print_rtx): Rewrite to allow use in graph dumping functions.
|
|||
|
* toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
|
|||
|
finish_graph_dump_file.
|
|||
|
Define graph_dump_format.
|
|||
|
(compile_file): If graph dumping is enabled also clear these files.
|
|||
|
Finish graph dump files.
|
|||
|
(rest_of_compilation): Also dump graph information if enabled.
|
|||
|
(main): Recognize -dv to enabled VCG based graph dumping.
|
|||
|
* graph.c: New file. Graph dumping functions.
|
|||
|
|
|||
|
Mon Nov 23 16:39:04 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* configure.in: Look for <sys/stat.h>.
|
|||
|
* system.h: Include it before substitute S_ISREG definitions.
|
|||
|
|
|||
|
Mon Nov 23 17:40:37 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
|
|||
|
* config/mips/iris6.h: Same.
|
|||
|
* config/mips/mips.md: Same.
|
|||
|
* config/mips/mips.c: Same; also add "-mabi=o64" option.
|
|||
|
* config/mips/mips.h: Same; also define ABI_O64.
|
|||
|
|
|||
|
Mon Nov 23 17:02:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* configure.in: Use AC_PREREQ(2.12.1).
|
|||
|
|
|||
|
Mon Nov 23 10:16:38 1998 Melissa O'Neill <oneill@cs.sfu.ca>
|
|||
|
|
|||
|
* cccp.c (S_ISREG, S_ISDIR): Delete defines.
|
|||
|
* cpplib.c, gcc.c: Likewise.
|
|||
|
* system.h (S_ISREG, S_ISDIR): Define if not already defined.
|
|||
|
|
|||
|
Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* local-alloc.c (local_alloc): Use malloc not alloca for
|
|||
|
reg_qty, reg_offset, ref_next_in_qty.
|
|||
|
|
|||
|
Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* caller-save.c (insert_one_insn): Initialize the live_before and
|
|||
|
live_after register sets.
|
|||
|
|
|||
|
Add SH4 support:
|
|||
|
|
|||
|
* config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
|
|||
|
(___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
|
|||
|
* sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
|
|||
|
(fp_reg_names, assembler_dialect): New variables.
|
|||
|
(print_operand_address): Handle SUBREGs.
|
|||
|
(print_operand): Added 'o' case.
|
|||
|
Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
|
|||
|
Name of FP registers depends on mode.
|
|||
|
(expand_block_move): Emit different code for SH4 hardware.
|
|||
|
(prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
|
|||
|
(from_compare): Likewise.
|
|||
|
(add_constant): New argument last_value. Changed all callers.
|
|||
|
(find_barrier): Don't try HImode load for FPUL_REG.
|
|||
|
(machine_dependent_reorg): Likewise.
|
|||
|
(sfunc_uses_reg): A CLOBBER cannot be the address register use.
|
|||
|
(gen_far_branch): Emit a barrier after the new jump.
|
|||
|
(barrier_align): Don't trust instruction lengths before
|
|||
|
fixing up pcloads.
|
|||
|
(machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
|
|||
|
Use auto-inc addressing for fp registers if doubles need to
|
|||
|
be loaded in two steps.
|
|||
|
Set sh_flag_remove_dead_before_cse.
|
|||
|
(push): Support for TARGET_FMOVD. Use gen_push_fpul for fpul.
|
|||
|
(pop): Support for TARGET_FMOVD. Use gen_pop_fpul for fpul.
|
|||
|
(calc_live_regs): Support for TARGET_FMOVD. Don't save FPSCR.
|
|||
|
Support for FIRST_XD_REG .. LAST_XD_REG.
|
|||
|
(sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
|
|||
|
(sh_expand_epilogue): Likewise.
|
|||
|
(sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
|
|||
|
(initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
|
|||
|
(arith_reg_operand): FPUL_REG is OK for SH4.
|
|||
|
(fp_arith_reg_operand, fp_extended_operand): New functions.
|
|||
|
(tertiary_reload_operand, fpscr_operand): Likewise.
|
|||
|
(commutative_float_operator, noncommutative_float_operator): Likewise.
|
|||
|
(binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
|
|||
|
(emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
|
|||
|
(expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
|
|||
|
(emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
|
|||
|
* sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
|
|||
|
(CONDITIONAL_REGISTER_USAGE): Likewise.
|
|||
|
(HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
|
|||
|
(TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
|
|||
|
(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
|
|||
|
(target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
|
|||
|
(OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
|
|||
|
to -1 and sh_flag_remove_dead_before_cse to 1.
|
|||
|
(ASSEMBLER_DIALECT): Define to assembler_dialect.
|
|||
|
(assembler_dialect, fp_reg_names): Declare.
|
|||
|
(OVERRIDE_OPTIONS): Add code for TARGET_SH4.
|
|||
|
Hide names of registers that are not accessible.
|
|||
|
(CACHE_LOG): Take TARGET_CACHE32 into account.
|
|||
|
(LOOP_ALIGN): Take TARGET_HARWARD into account.
|
|||
|
(FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
|
|||
|
(FIRST_PSEUDO_REGISTER: Now 49.
|
|||
|
(FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
|
|||
|
(HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
|
|||
|
(HARD_REGNO_MODE_OK): Update.
|
|||
|
(enum reg_class): Add DF_REGS and FPSCR_REGS.
|
|||
|
(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
|
|||
|
(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
|
|||
|
(CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
|
|||
|
(NPARM_REGS): Eight floating point parameter registers on SH4.
|
|||
|
(BASE_RETURN_VALUE_REG): SH4 also passes double values
|
|||
|
in floating point registers.
|
|||
|
(GET_SH_ARG_CLASS): Likewise.
|
|||
|
Complex float types are also returned in float registers.
|
|||
|
(BASE_ARG_REG): Complex float types are also passes in float registers.
|
|||
|
(FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
|
|||
|
(LIBCALL_VALUE): Remove trailing semicolon.
|
|||
|
(ROUND_REG): Round when double precision value is passed in floating
|
|||
|
point register(s).
|
|||
|
(FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
|
|||
|
passed on the stack.
|
|||
|
(FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
|
|||
|
(FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
|
|||
|
(TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
|
|||
|
(INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
|
|||
|
(MODE_DISP_OK_8): Not for SH4 DFmode.
|
|||
|
(GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
|
|||
|
Allow indexed addressing for PSImode after reload.
|
|||
|
(LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
|
|||
|
(LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
|
|||
|
Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
|
|||
|
(DOUBLE_TYPE_SIZE): 64 for SH4.
|
|||
|
(RTX_COSTS): Add PLUS case.
|
|||
|
Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
|
|||
|
(REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
|
|||
|
MAC_REGS, PR_REGS, DF_REGS.
|
|||
|
(REGISTER_NAMES): Use fp_reg_names.
|
|||
|
(enum processor_type): Add PROCESSOR_SH4.
|
|||
|
(sh_flag_remove_dead_before_cse): Declare.
|
|||
|
(rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
|
|||
|
(PREDICATE_CODES): Add binary_float_operator,
|
|||
|
commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
|
|||
|
fpscr_operand, noncommutative_float_operator.
|
|||
|
(ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
|
|||
|
(SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
|
|||
|
* sh.md (attribute cpu): Add value sh4.
|
|||
|
(attrbutes fmovd, issues): Define.
|
|||
|
(attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
|
|||
|
(function units memory, int, mpy, fp): Make dependent on issue rate.
|
|||
|
(function units issue, single_issue, load_si, load): Define.
|
|||
|
(function units load_store, fdiv, gp_fpul): Define.
|
|||
|
(attribute hit_stack): Provide proper default.
|
|||
|
(use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
|
|||
|
(udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
|
|||
|
(udivsi3, divsi3): Emit special patterns for SH4 hardware,
|
|||
|
(mulsi3_call): Now uses match_operand for function address.
|
|||
|
(mulsi3): Also emit code for SH1 case. Wrap result in REG_LIBCALL /
|
|||
|
REG_RETVAL notes.
|
|||
|
(push, pop, push_e, pop_e): Now define_expands.
|
|||
|
(push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
|
|||
|
(movsi_ie): Added y/i alternative.
|
|||
|
(ic_invalidate_line_i, movdf_i4): New insns.
|
|||
|
(movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
|
|||
|
(reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
|
|||
|
(movdf): Add special code for SH4.
|
|||
|
(movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
|
|||
|
(call_valuei, calli, call_value): Likewise.
|
|||
|
(movsf): Emit no-op move.
|
|||
|
(mov_nop, movsi_y): New insns.
|
|||
|
(blt, sge): Generalize to handle DFmode.
|
|||
|
(return predicate): Call emit_fpscr_use and remove_dead_before_cse.
|
|||
|
(block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
|
|||
|
(block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
|
|||
|
(fpu_switch0, fpu_switch1, movpsi): New expanders.
|
|||
|
(fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
|
|||
|
(toggle_sz): New insn.
|
|||
|
(addsf3, subsf3, mulsf3, divsf3): Now define_expands.
|
|||
|
(addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
|
|||
|
(macsf3): Make use of fpscr visible. Disable for SH4.
|
|||
|
(floatsisf2): Make use of fpscr visible.
|
|||
|
(floatsisf2_i4): New insn.
|
|||
|
(floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
|
|||
|
(ieee_ccmpeqsf_t): Likewise.
|
|||
|
(fix_truncsfsi2): Emit different code for SH4.
|
|||
|
(fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
|
|||
|
(cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
|
|||
|
(negsf2, sqrtsf2, abssf2): Now expanders.
|
|||
|
(adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
|
|||
|
(negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
|
|||
|
(muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
|
|||
|
(fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
|
|||
|
(fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
|
|||
|
(fix_truncdfsi2_i4_2+1): New splitters.
|
|||
|
(negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
|
|||
|
(extendsfdf2, truncdfsf2): New expanders.
|
|||
|
(truncdfsf2_i4): New insn.
|
|||
|
* t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
|
|||
|
(MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
|
|||
|
* float-sh.h: When testing for __SH3E__, also test for
|
|||
|
__SH4_SINGLE_ONLY__ .
|
|||
|
* va-sh.h (__va_freg): Define to float.
|
|||
|
(__va_greg, __fa_freg, __gnuc_va_list, va_start):
|
|||
|
Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
|
|||
|
(__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
|
|||
|
(__PASS_AS_FLOAT): Use different definition for __SH4__ and
|
|||
|
__SH4_SINGLE__.
|
|||
|
(TARGET_SH4_P): Define.
|
|||
|
(va_arg): Use it.
|
|||
|
|
|||
|
* sh.md (movdf_k, movsf_i): Tweak the condition so that
|
|||
|
init_expr_once is satisfied about the existence of load / store insns.
|
|||
|
|
|||
|
* sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
|
|||
|
Change m constraint in source operand to mr / mf.
|
|||
|
|
|||
|
* va-sh.h (__va_arg_sh1): Use __asm instead of asm.
|
|||
|
|
|||
|
* (__VA_REEF): Define.
|
|||
|
(__va_arg_sh1): Use it.
|
|||
|
|
|||
|
* va-sh.h (va_start, va_arg, va_copy): Add parentheses.
|
|||
|
|
|||
|
Sun Nov 22 21:34:02 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386/dgux.c (struct option): Add new "description field".
|
|||
|
* m88k/m88k.c (struct option): Likewise.
|
|||
|
|
|||
|
Sun Nov 22 16:07:57 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Nov 22 13:40:02 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* regmove.c (regmove_profitable_p): Use return value of find_matches
|
|||
|
properly.
|
|||
|
|
|||
|
Sun Nov 22 02:47:37 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Nov 21 22:12:09 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
|
|||
|
without reload having been called earlier.
|
|||
|
|
|||
|
* v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
|
|||
|
addressing modes.
|
|||
|
(v850_reorg): Similarly.
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Avoid using gen_add2_insn.
|
|||
|
|
|||
|
Sat Nov 21 02:18:38 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (move_movables): Start of libcall might be new loop start.
|
|||
|
|
|||
|
Fri Nov 20 12:14:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
|
|||
|
|
|||
|
Fri Nov 20 08:34:00 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* function.c (nonlocal_goto_handler_slots): Renamed from
|
|||
|
nonlocal_goto_handler_slot; now an EXPR_LIST chain.
|
|||
|
(push_function_context_to): Adjust for this change.
|
|||
|
(pop_function_context_from): Likewise.
|
|||
|
(init_function_start): Likewise.
|
|||
|
(expand_function_end): Likewise.
|
|||
|
* function.h (struct function): Likewise.
|
|||
|
* calls.c (expand_call): Likewise.
|
|||
|
* explow.c (allocate_dynamic_stack_space): Likewise.
|
|||
|
* expr.h (nonlocal_goto_handler_slots): Rename its declaration.
|
|||
|
* stmt.c (declare_nonlocal_label): Make a new handler slot for each
|
|||
|
label.
|
|||
|
(expand_goto): When doing a nonlocal goto, find corresponding handler
|
|||
|
slot for it. Don't put the label address in the static chain register.
|
|||
|
(expand_end_bindings): Break out nonlocal goto handling code into
|
|||
|
three new functions.
|
|||
|
(expand_nl_handler_label, expand_nl_goto_receiver,
|
|||
|
expand_nl_goto_receivers): New static functions, broken out of
|
|||
|
expand_end_bindings and adapted to create one handler per nonlocal
|
|||
|
label.
|
|||
|
* function.c (delete_handlers): Delete insn if it references any of
|
|||
|
the nonlocal goto handler slots.
|
|||
|
* i960.md (nonlocal_goto): Comment out code that modifies
|
|||
|
static_chain_rtx.
|
|||
|
* sparc.md (nonlocal_goto): Likewise.
|
|||
|
(goto_handler_and_restore_v9): Comment out.
|
|||
|
(goto_handler_and_restore_v9_sp64): Comment out.
|
|||
|
|
|||
|
Thu Nov 19 23:44:38 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* expr.c (STACK_BYTES): Delete unused macro.
|
|||
|
* calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
|||
|
(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
|
|||
|
(expand_call): Likewise.
|
|||
|
(emit_library_call): Likewise.
|
|||
|
(emit_library_call_value): Likewise.
|
|||
|
* function.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
|||
|
(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
|
|||
|
* explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
|
|||
|
(round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
|
|||
|
(allocate_dynamic_stack_space): Likewise.
|
|||
|
* tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
|
|||
|
(STACK_BOUNDARY): Update description to reflect the new situation.
|
|||
|
|
|||
|
Thu Nov 19 22:20:51 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reorg.c (relax_delay_slots): When optimizing for code size, if a
|
|||
|
return with a filled delay slot is followed by a return with an
|
|||
|
unfilled delay slot, delete the first return and reemit the insn
|
|||
|
that was previously in its delay slot.
|
|||
|
|
|||
|
* i860.c (single_insn_src_p): Add missing parens.
|
|||
|
* ginclude/math-3300.h: Likewise.
|
|||
|
|
|||
|
Thu Nov 19 20:55:59 1998 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* regclass.c (init_reg_sets_1): Add prototype.
|
|||
|
(init_reg_modes): Likewise.
|
|||
|
|
|||
|
1998-11-19 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* c-common.c: Change warning messages to say `comparison is
|
|||
|
always true' or `comparison is always false' instead of the
|
|||
|
confusing `is always 0', `is always 1'.
|
|||
|
|
|||
|
Thu Nov 19 19:05:49 1998 Per Bothner <bothner@cygnus.com>
|
|||
|
|
|||
|
* print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
|
|||
|
break instead of return (which loses closing '>').
|
|||
|
|
|||
|
Thu Nov 19 19:34:13 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
|
|||
|
standard 387 constants.
|
|||
|
|
|||
|
* i386.md (jump): Explicitly set "memory" attribute.
|
|||
|
(indirect_jump, prologue_set_stack_ptr): Likewise.
|
|||
|
(prologue_get_pc_and_set_got, pop): Likewise.
|
|||
|
(allocate_stack_worder, blockage, return_internal): Likewise.
|
|||
|
(return_pop_internal, nop): Likewise.
|
|||
|
(epilogue_set_stack_ptr, leave): Likewise.
|
|||
|
|
|||
|
Thu Nov 19 15:42:54 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
|
|||
|
|
|||
|
Thu Nov 19 23:20:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_reg_free_for_value_p):
|
|||
|
Early auto_inc reloads don't conflict with outputs.
|
|||
|
|
|||
|
Thu Nov 19 12:58:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
|
|||
|
Instead call AC_HEADER_SYS_WAIT.
|
|||
|
|
|||
|
* collect2.c: Don't provide defaults for sys/wait.h macros.
|
|||
|
* gcc.c: Likewise.
|
|||
|
* protoize.c: Likewise. Also, don't include sys/wait.h.
|
|||
|
|
|||
|
* system.h: Include sys/wait.h and provide macro defaults.
|
|||
|
|
|||
|
1998-11-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* Makefile.in (mandir): Set to @mandir@.
|
|||
|
(man1dir): New variable to hold the former value of $(mandir).
|
|||
|
Replace all uses of $(mandir) by $(man1dir).
|
|||
|
|
|||
|
Wed Nov 18 16:31:28 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* reload.c (find_reloads_address_part): If have a CONST_INT, create
|
|||
|
a new one before passing it to force_const_mem.
|
|||
|
|
|||
|
* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
|
|||
|
find_reloads_address call.
|
|||
|
|
|||
|
Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* expr.c (store_expr): Don't generate load-store pair
|
|||
|
if TEMP is identical (according to ==) with TARGET.
|
|||
|
|
|||
|
Tue Nov 17 22:25:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_reg_free_for_value_p): When considered reload
|
|||
|
has an output, matching inputs are not sufficient to avoid conflict.
|
|||
|
|
|||
|
Tue Nov 17 11:51:16 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* hash.h (hash_table_key): New type.
|
|||
|
(hash_entry): Change `string' field to generic `key'.
|
|||
|
(hash_table): Add `comp' and `hash' functions.
|
|||
|
(hash_table_init): Take them as input.
|
|||
|
(hash_table_init_n): Likewise.
|
|||
|
(hash_lookup): Modify for generic keys.
|
|||
|
(hash_newfunc): Likewise.
|
|||
|
(hash_traverse): Likewise.
|
|||
|
(string_hash): New function.
|
|||
|
(string_compare): Likewise.
|
|||
|
(string_copy): Likewise.
|
|||
|
* hash.c (hash_table_init_n): Modify for generic keys.
|
|||
|
(hash_table_init): Likewise.
|
|||
|
(hash_lookup): Likewise.
|
|||
|
(hash_newfunc): Likewise.
|
|||
|
(hash_traverse): Likewise.
|
|||
|
(string_hash): Split out from hash_lookup.
|
|||
|
(string_compare): New function.
|
|||
|
(string_copy): Split out from hash_lookup.
|
|||
|
* tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
|
|||
|
tables.
|
|||
|
(symbol_hash_lookup): Likewise.
|
|||
|
(file_hash_newfunc): Likewise.
|
|||
|
(file_hash_lookup): Likewise.
|
|||
|
(demangled_hash_newfunc): Likewise.
|
|||
|
(demangled_hash_lookup): Likewise.
|
|||
|
(tlink_int): Likewise.
|
|||
|
(read_repo_file): Likewise.
|
|||
|
(recompile_files): Likewise.
|
|||
|
(demangle_new_symbols): Likewise.
|
|||
|
(scan_linker_output): Likewise.
|
|||
|
|
|||
|
Tue Nov 17 17:13:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* flow.c (insn_dead_p): New argument NOTES. Changed all callers.
|
|||
|
|
|||
|
Mon Nov 16 17:56:07 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (output_mi_thunk): Improve test for local branch.
|
|||
|
|
|||
|
Mon Nov 16 17:56:07 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
|||
|
|
|||
|
* rs6000.c (output_mi_thunk): Correct test for aggregate values.
|
|||
|
|
|||
|
Mon Nov 16 21:02:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_reg_free_before_p): Delete.
|
|||
|
Changed all callers to use reload_reg_free_for_value_p instead.
|
|||
|
(reload_reg_free_for_value_p): Handle more reload types.
|
|||
|
A RELOAD_FOR_INPUT doesn't conflict with its
|
|||
|
RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
|
|||
|
Add special case for OUT == const0_rtx.
|
|||
|
Added ignore_address_reloads argument. Changed all callers.
|
|||
|
|
|||
|
Mon Nov 16 02:22:29 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* toplev.c (compile_file): Don't pedwarn about undefined static
|
|||
|
functions just because we passed -Wunused.
|
|||
|
|
|||
|
Mon Nov 16 04:41:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Unshare rtl created by
|
|||
|
store_bit_field.
|
|||
|
|
|||
|
Mon Nov 16 04:23:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* regmove.c (regmove_optimize): Don't do anything but
|
|||
|
optimize_reg_copy[123] when flag_regmove is not set.
|
|||
|
|
|||
|
Sat Nov 14 15:05:07 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
|
|||
|
value in paradoxical SImode result, rather than truncating midpoint.
|
|||
|
|
|||
|
Fri Nov 13 22:19:23 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (reg_not_elim_operand): New.
|
|||
|
* alpha.h (PREDICATE_CODES): Add it.
|
|||
|
* alpha.md (s48addq, s48subq patterns): Use it as the predicate
|
|||
|
for the multiplicand.
|
|||
|
|
|||
|
Fri Nov 13 22:50:37 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (movsf): Remove explicit secondary-reload-like
|
|||
|
functionality. Only truncate SFmode store if in FPR.
|
|||
|
(movsf splitters): Combine const_double splitters.
|
|||
|
(movsf_hardfloat): Add GPR support.
|
|||
|
|
|||
|
Fri Nov 13 11:02:11 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
|
|||
|
deprecate -mlive-g0 and -mbroken-saverestore.
|
|||
|
* t-splet (MULTILIB_OPTIONS): Likewise.
|
|||
|
|
|||
|
* sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
|
|||
|
in a leaf function. Clarify total_size/extra_size relationship.
|
|||
|
|
|||
|
Thu Nov 12 19:20:57 1998 Geoffrey Noer <noer@cygnus.com>
|
|||
|
|
|||
|
* i386/cygwin32.asm: Delete.
|
|||
|
* i386/cygwin.asm: New file, renamed from cygwin32.asm.
|
|||
|
* i386/cygwin32.h: Delete.
|
|||
|
* i386/cygwin.h: New file, renamed from cygwin32.h.
|
|||
|
* i386/t-cygwin32: Delete.
|
|||
|
* i386/t-cygwin: New file, renamed from t-cygwin32. Include
|
|||
|
cygwin.asm instead of cygwin32.asm. Remove "32" from comment.
|
|||
|
* i386/x-cygwin32: Delete.
|
|||
|
* i386/x-cygwin: New file, renamed from x-cygwin32.
|
|||
|
* i386/xm-cygwin32: Delete.
|
|||
|
* i386/xm-cygwin: New file, renamed from xm-cygwin32. Use newly
|
|||
|
renamed cygwin_ funcs for path translations.
|
|||
|
* i386/win32.h: Define __CYGWIN__ when -mcygwin given.
|
|||
|
* i386/winnt.c: Remove "32" from comment about cygwin.
|
|||
|
* i386/mingw32.h: Fix references to cygwin32.h in light of above.
|
|||
|
* rs6000/cygwin32.h: Delete.
|
|||
|
* rs6000/cygwin.h: New file, renamed from cygwin32.h. Add
|
|||
|
-D__CYGWIN__ to CPP_PREDEFINES.
|
|||
|
* rs6000/x-cygwin32: Delete.
|
|||
|
* rs6000/x-cygwin: New file, renamed from x-cygwin32.
|
|||
|
* rs6000/xm-cygwin32: Delete.
|
|||
|
* rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
|
|||
|
|
|||
|
* configure.in: Check for cygwin* instead of cygwin32. Account
|
|||
|
for the rename of cygwin-related config files to lose the "32"s.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
* cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
|
|||
|
toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
|
|||
|
|
|||
|
Wed Nov 11 12:25:19 1998 Tom Tromey <tromey@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (JAVAGC): New macro.
|
|||
|
* configure: Rebuilt.
|
|||
|
* configure.in: Recognize --enable-java-gc argument. Subst
|
|||
|
`JAVAGC' variable.
|
|||
|
|
|||
|
Thu Nov 12 03:32:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
Handle equivalences that have been obscured by gcse:
|
|||
|
|
|||
|
* reload1.c (reload): Handle equivalences set up in multiple places.
|
|||
|
* local-alloc.c (reg_equiv_init_insns): New variable.
|
|||
|
(no_equiv): New function.
|
|||
|
(update_equiv_regs): Handle equivalences set up in multiple places.
|
|||
|
Don't ignore an insn just because its destination is likely to be
|
|||
|
spilled.
|
|||
|
|
|||
|
Wed Nov 11 13:46:13 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* except.c (expand_eh_return): Readd force_operand call lost in
|
|||
|
Sept 15 change.
|
|||
|
|
|||
|
Tue Nov 10 17:04:11 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
|
|||
|
|
|||
|
1998-11-09 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
|
|||
|
|
|||
|
Mon Nov 9 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* regmove.c (regmove_optimize): Fix error in last change.
|
|||
|
|
|||
|
Mon Nov 9 16:37:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
|
|||
|
|
|||
|
* mips.c (function_prologue): When TARGET_MIPS16, adjust the register
|
|||
|
offset in the .mask pseudo to compensate for frame pointer adjustments.
|
|||
|
(mips16_fp_args, build_mips16_call_stub): For little endian, do not
|
|||
|
word swap arguments moved to/from FP registers.
|
|||
|
* mips16.S (DFREVCMP): Reverse arguments to OPCODE.
|
|||
|
|
|||
|
Mon Nov 9 09:47:06 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Nov 9 02:14:14 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Nov 9 03:06:24 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
|
|||
|
times, then it can not be completely replaced.
|
|||
|
|
|||
|
Mon Nov 9 00:39:02 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
|
|||
|
|
|||
|
Sun Nov 8 17:50:30 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gansidecl.h: Prepend a "G" to the macro wrapping this file
|
|||
|
(to distinguish it from the macro wrapping ansidecl.h.)
|
|||
|
Include libiberty's ansidecl.h. Remove all redundant definitions.
|
|||
|
Define the PROTO() style macros in terms of the PARAMS() ones.
|
|||
|
|
|||
|
|
|||
|
* calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
|
|||
|
__STDC__, when deciding whether to use ANSI variable args.
|
|||
|
(emit_library_call_value): Likewise.
|
|||
|
|
|||
|
* cccp.c (error): Likewise.
|
|||
|
(warning): Likewise.
|
|||
|
(error_with_line): Likewise.
|
|||
|
(warning_with_line): Likewise.
|
|||
|
(pedwarn): Likewise.
|
|||
|
(pedwarn_with_line): Likewise.
|
|||
|
(pedwarn_with_file_and_line): Likewise.
|
|||
|
(fatal): Likewise.
|
|||
|
|
|||
|
* cexp.y (error): Likewise.
|
|||
|
(pedwarn): Likewise.
|
|||
|
(warning): Likewise.
|
|||
|
|
|||
|
* collect2.c (fatal_perror): Likewise.
|
|||
|
(fatal): Likewise.
|
|||
|
(error): Likewise.
|
|||
|
|
|||
|
* combine.c (gen_rtx_combine): Likewise.
|
|||
|
|
|||
|
* cpperror.c (cpp_message): Likewise.
|
|||
|
(cpp_fatal): Likewise.
|
|||
|
|
|||
|
* cpplib.c (cpp_error): Likewise.
|
|||
|
(cpp_warning): Likewise.
|
|||
|
(cpp_pedwarn): Likewise.
|
|||
|
(cpp_error_with_line): Likewise.
|
|||
|
(cpp_warning_with_line): Likewise.
|
|||
|
(cpp_pedwarn_with_line): Likewise.
|
|||
|
(cpp_pedwarn_with_file_and_line): Likewise.
|
|||
|
|
|||
|
* cpplib.h: Don't define PARAMS() macro.
|
|||
|
|
|||
|
* demangle.h: Likewise.
|
|||
|
|
|||
|
* doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
|
|||
|
when deciding whether to use ANSI variable args.
|
|||
|
|
|||
|
* emit-rtl.c (gen_rtx): Likewise.
|
|||
|
(gen_rtvec): Likewise.
|
|||
|
|
|||
|
* final.c (asm_fprintf): Likewise.
|
|||
|
|
|||
|
* fix-header.c (cpp_message): Likewise.
|
|||
|
(fatal): Likewise.
|
|||
|
(cpp_fatal): Likewise.
|
|||
|
|
|||
|
* gcc.c (concat): Likewise.
|
|||
|
(fatal): Likewise.
|
|||
|
(error): Likewise.
|
|||
|
|
|||
|
* genattr.c (fatal): Likewise.
|
|||
|
|
|||
|
* genattrtab.c (attr_rtx): Likewise.
|
|||
|
(attr_printf): Likewise.
|
|||
|
(fatal): Likewise.
|
|||
|
|
|||
|
* gencodes.c (fatal): Likewise.
|
|||
|
|
|||
|
* genconfig.c (fatal): Likewise.
|
|||
|
|
|||
|
* genemit.c (fatal): Likewise.
|
|||
|
|
|||
|
* genextract.c (fatal): Likewise.
|
|||
|
|
|||
|
* genflags.c (fatal): Likewise.
|
|||
|
|
|||
|
* genopinit.c (fatal): Likewise.
|
|||
|
|
|||
|
* genoutput.c (fatal): Likewise.
|
|||
|
(error): Likewise.
|
|||
|
|
|||
|
* genpeep.c (fatal): Likewise.
|
|||
|
|
|||
|
* genrecog.c (fatal): Likewise.
|
|||
|
|
|||
|
* halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
|
|||
|
deciding whether to declare `tree_node' and `rtx_def'.
|
|||
|
|
|||
|
* hash.h: Don't define stuff we get from gansidecl.h.
|
|||
|
|
|||
|
* mips-tfile.c: Likewise. Define __proto() in terms of PARAMS().
|
|||
|
(fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
|
|||
|
whether to use ANSI variable args.
|
|||
|
(error): Likewise.
|
|||
|
|
|||
|
* prefix.c (concat): Likewise.
|
|||
|
|
|||
|
* scan.h: Likewise.
|
|||
|
|
|||
|
* system.h: Likewise.
|
|||
|
|
|||
|
* toplev.c (error_with_file_and_line): Likewise.
|
|||
|
(error_with_decl): Likewise.
|
|||
|
(error_for_asm): Likewise.
|
|||
|
(error): Likewise.
|
|||
|
(fatal): Likewise.
|
|||
|
(warning_with_file_and_line): Likewise.
|
|||
|
(warning_with_decl): Likewise.
|
|||
|
(warning_for_asm): Likewise.
|
|||
|
(warning): Likewise.
|
|||
|
(pedwarn): Likewise.
|
|||
|
(pedwarn_with_decl): Likewise.
|
|||
|
(pedwarn_with_file_and_line): Likewise.
|
|||
|
(sorry): Likewise.
|
|||
|
(really_sorry): Likewise.
|
|||
|
|
|||
|
* toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
|
|||
|
whether to declare `tree_node' and `rtx_def'.
|
|||
|
|
|||
|
* tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
|
|||
|
deciding whether to use ANSI variable args.
|
|||
|
(build_nt): Likewise.
|
|||
|
(build_parse_node): Likewise.
|
|||
|
|
|||
|
Sun Nov 8 13:10:55 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sat Nov 7 23:34:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
|
|||
|
|
|||
|
Sat Nov 7 22:26:19 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* collect2.c (main, case 'b'): Use else if.
|
|||
|
|
|||
|
Sat Nov 7 15:35:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
|
|||
|
Arrange to include gansidecl.h in {ht}config.h & tm.h just
|
|||
|
before the config/ directory headers.
|
|||
|
(tm_file_list, host_xm_file_list, build_xm_file_list): Handle
|
|||
|
gansidecl.h in the list of dependencies.
|
|||
|
|
|||
|
* Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
|
|||
|
(TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
|
|||
|
mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
|
|||
|
gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
|
|||
|
dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
|
|||
|
cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
|
|||
|
Likewise.
|
|||
|
|
|||
|
* cccp.c: Don't include gansidecl.h.
|
|||
|
* cexp.y: Likewise.
|
|||
|
* collect2.c: Likewise.
|
|||
|
* config/c4x/c4x.c: Likewise.
|
|||
|
* config/v850/v850.h: Likewise.
|
|||
|
* cppalloc.c: Likewise.
|
|||
|
* cpperror.c: Likewise.
|
|||
|
* cppexp.c: Likewise.
|
|||
|
* cppfiles.c: Likewise.
|
|||
|
* cpphash.c: Likewise.
|
|||
|
* cpplib.c: Likewise.
|
|||
|
* cppmain.c: Likewise.
|
|||
|
* cppulp.c: Likewise.
|
|||
|
* demangle.h: Likewise.
|
|||
|
* doprint.c: Likewise.
|
|||
|
* dyn-string.c: Likewise.
|
|||
|
* eh-common.h: Likewise.
|
|||
|
* fix-header.c: Likewise.
|
|||
|
* frame.c: Likewise.
|
|||
|
* gcc.c: Likewise.
|
|||
|
* gcov.c: Likewise.
|
|||
|
* gen-protos.c: Likewise.
|
|||
|
* gencheck.c: Likewise.
|
|||
|
* halfpic.h: Likewise.
|
|||
|
* hash.c: Likewise.
|
|||
|
* machmode.h: Likewise.
|
|||
|
* mbchar.c: Likewise.
|
|||
|
* prefix.c: Likewise.
|
|||
|
* protoize.c: Likewise.
|
|||
|
* recog.h: Likewise.
|
|||
|
* rtl.h: Likewise.
|
|||
|
* scan-decls.c: Likewise.
|
|||
|
* tree.h: Likewise.
|
|||
|
* varray.h: Likewise.
|
|||
|
|
|||
|
Sat Nov 7 11:37:53 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.md (call_value_pop): If we're not popping anything,
|
|||
|
defer to call_value.
|
|||
|
(call_pop): Likewise defer to call.
|
|||
|
|
|||
|
Sat Nov 7 02:49:56 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* function.c (purge_addressof): Clear purge_addressof_replacements
|
|||
|
only after processing the whole function.
|
|||
|
|
|||
|
Sat Nov 7 00:54:55 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (reload): If we can not perform a particular elimination
|
|||
|
when we thought we could earlier, then we must always iterate through
|
|||
|
the loop at least one more time.
|
|||
|
|
|||
|
Fri Nov 6 19:37:33 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (add_operand): Simplify the CONST_INT match.
|
|||
|
(sext_add_operand): Correct typo in comparison by using
|
|||
|
CONST_OK_FOR_LETTER_P.
|
|||
|
* alpha.md (s?addq): Use sext_add_operand to allow the negative
|
|||
|
constant alternatives to be generated.
|
|||
|
(mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
|
|||
|
small constants, since the hw instructions do.
|
|||
|
|
|||
|
Fri Nov 6 20:15:19 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
|
|||
|
previous insn to store directly into our reload register, make sure
|
|||
|
that if the source of the previous insn is a reload register, its
|
|||
|
spill_reg_store and spill_reg_stored_to values are cleared.
|
|||
|
|
|||
|
Fri Nov 6 16:35:10 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (floatunssidf2_internal splitter): Use base register
|
|||
|
operand, not hard-coded SP.
|
|||
|
|
|||
|
Fri Nov 6 04:07:53 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* jump.c (calculate_can_reach_end): Fix thinko.
|
|||
|
|
|||
|
Fri Nov 6 00:16:04 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reorg.c (fill_simple_delay_slots): Fix typo.
|
|||
|
|
|||
|
* romp.h (LEGITIMIZE_ADDRESS): Fix typo.
|
|||
|
|
|||
|
Fri Nov 6 00:10:00 1998 Jan Hubicka (hubicka@freesoft.cz)
|
|||
|
|
|||
|
* i386.md (extendsidi2): Use # in the output template.
|
|||
|
(extendsidi splitters): New splitters.
|
|||
|
|
|||
|
Thu Nov 5 11:13:27 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* configure.in: Use unknown-elf.h as tm_file for arm-elf
|
|||
|
configurations.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
Thu Nov 5 07:59:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* jump.c (init_label_info, delete_barrier_successors,
|
|||
|
mark_all_labels, delete_unreferenced_labels,
|
|||
|
delete_noop_moves, calculate_can_reach_end): New functions broken
|
|||
|
out of jump_optimize.
|
|||
|
(jump_optimize): Use them.
|
|||
|
|
|||
|
Thu Nov 5 07:57:45 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* except.c (expand_fixup_region_end): Make sure outer context labels
|
|||
|
are not issued in an inner context during cleanups.
|
|||
|
|
|||
|
Thu Nov 5 04:03:06 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (addsi3, subsi3): No new temporaries once cse is
|
|||
|
no longer expected.
|
|||
|
|
|||
|
Thu Nov 5 03:29:19 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
|
|||
|
to expose this midpoint to CSE.
|
|||
|
|
|||
|
Thu Nov 5 03:42:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
|
|||
|
|
|||
|
Thu Nov 5 10:53:01 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* configure.in: Bring over gcc2 change of Nov 19 1997.
|
|||
|
|
|||
|
Wed Nov 4 23:43:08 1998 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* toplev.c (output_lang_identify): Make definition dependent on
|
|||
|
ASM_IDENTIFY_LANGUAGE.
|
|||
|
|
|||
|
* print-rtl.c (spaces): Make static.
|
|||
|
|
|||
|
Wed Nov 4 22:16:36 1998 Hans-Peter Nilsson <hp@axis.se>
|
|||
|
|
|||
|
* extend.texi: Clarify proper uses for register clobbers in asms.
|
|||
|
|
|||
|
Wed Nov 4 22:16:36 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* recog.h (enum op_type): Define.
|
|||
|
(constrain_operands): Adjust prototype.
|
|||
|
(recog_op_type): Declare new variable.
|
|||
|
* recog.c (recog_op_type): New variable.
|
|||
|
(insn_invalid_p): Allow modifying an asm statement after reload.
|
|||
|
(extract_insn): Set up recog_op_type.
|
|||
|
(constrain_operands): Lose INSN_CODE_NUM arg. All callers changed.
|
|||
|
Don't compute operand types, use recog_op_type.
|
|||
|
Use the information computed by extract_insn instead of the previous
|
|||
|
method of finding it by insn code number.
|
|||
|
* caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
|
|||
|
* reorg.c (fill_slots_from_thread): Likewise.
|
|||
|
* reload1.c (reload_as_needed): Likewise.
|
|||
|
(gen_reload): Likewise.
|
|||
|
(inc_for_reload): Likewise.
|
|||
|
(reload_cse_simplify_operands): Likewise.
|
|||
|
Use the information computed by extract_insn instead of the previous
|
|||
|
method of finding it by insn code number.
|
|||
|
* genattrtab.c (write_attr_case): Generate call to extract_insn, not
|
|||
|
insn_extract.
|
|||
|
* final.c (final_scan_insn): Use extract_insn, not insn_extract.
|
|||
|
(cleanup_operand_subregs): Use extract_insn, not insn_extract.
|
|||
|
Use the information computed by extract_insn instead of the previous
|
|||
|
method of finding it by insn code number.
|
|||
|
* regmove.c (find_matches): Likewise. Change meaning of the return
|
|||
|
value to be nonzero if the optimization can be performed, zero if
|
|||
|
not. All callers changed.
|
|||
|
Shorten some variable names to fix formatting problems.
|
|||
|
(regmove_optimize): Shorten some variable names to fix formatting
|
|||
|
problems.
|
|||
|
Use the information computed by extract_insn instead of the previous
|
|||
|
method of finding it by insn code number.
|
|||
|
* regclass.c (scan_one_insn): Likewise.
|
|||
|
(record_reg_classes): Don't compute operand types, use recog_op_type.
|
|||
|
* reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
|
|||
|
recog_constraints instead.
|
|||
|
|
|||
|
Wed Nov 4 21:37:46 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* rtl.h (flow2_completed): Declare.
|
|||
|
* flow.c (flow2_completed): Definition.
|
|||
|
* toplev.c (rest_of_compilation): Set and clear flow2_completed
|
|||
|
as necessary.
|
|||
|
|
|||
|
Wed Nov 4 19:15:37 1998 Melissa O'Neill <oneill@cs.sfu.ca>
|
|||
|
|
|||
|
* Makefile.in (libcpp.a): Ranlib libcpp.a.
|
|||
|
|
|||
|
* cppulp.c (user_label_prefix): Initialize.
|
|||
|
|
|||
|
Wed Nov 4 19:07:08 1998 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* flow.c (mark_regs_live_at_end): Mark the stack pointer as live
|
|||
|
at a RETURN if current_function_sp_is_unchanging is set.
|
|||
|
|
|||
|
Wed Nov 4 18:16:29 1998 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* emit-rtl.c (try_split): Fixed error in Oct 10 patch.
|
|||
|
|
|||
|
Wed Nov 4 15:11:15 1998 Geoffrey Noer <noer@cygnus.com>
|
|||
|
|
|||
|
* i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
|
|||
|
TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
|
|||
|
(SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
|
|||
|
(CPP_PREDEFINES): Don't define __CYGWIN32__ here.
|
|||
|
(STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
|
|||
|
(CPP_SPEC): Handle -mno-cygwin option. Define __CYWIN__ in addition
|
|||
|
to __CYGWIN32__.
|
|||
|
(LIB_SPEC): Handle -mno-cygwin option.
|
|||
|
(LINK_SPEC): Handle -mdll.
|
|||
|
|
|||
|
Wed Nov 4 22:56:14 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload.c (find_reloads): Fix test for usage by other reload
|
|||
|
to handle secondary reloads properly.
|
|||
|
|
|||
|
Wed Nov 4 17:25:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
|
|||
|
intermediate structure which has exactly the members provided by
|
|||
|
ELIMINABLE_REGS. Define NUM_ELIMINABLE_REGS in terms of the
|
|||
|
static intermediate structure.
|
|||
|
|
|||
|
(init_elim_table): Xmalloc() `reg_eliminate', and initialize it
|
|||
|
from the intermediate structure. Do the same analogous fix in
|
|||
|
the case where ELIMINABLE_REGS is not defined.
|
|||
|
|
|||
|
Tue Nov 3 20:50:03 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.h (SELECT_SECTION): Fix thinko.
|
|||
|
|
|||
|
Tue Nov 3 17:51:36 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (output_call_frame_info): Comments on last change.
|
|||
|
|
|||
|
Tue Nov 3 07:51:43 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.c (add_constant): When taking the address of an item in the
|
|||
|
pool, get the mode of the item addressed.
|
|||
|
|
|||
|
* arm.c (final_prescan_insn case INSN): If an insn doesn't
|
|||
|
contain a SET or a PARALLEL, don't consider it for conditional
|
|||
|
execution.
|
|||
|
|
|||
|
Restore ABI compatibility for NetBSD.
|
|||
|
* arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
|
|||
|
arm.h.
|
|||
|
(RETURN_IN_MEMORY): Likewise.
|
|||
|
|
|||
|
Mon Nov 2 11:46:17 1998 Doug Evans <devans@canuck.cygnus.com>
|
|||
|
|
|||
|
* m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
|
|||
|
(m32r_output_block_move): Rewrite bytes < 4 handling.
|
|||
|
|
|||
|
Mon Nov 2 10:10:35 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* configure.in: Call AC_FUNC_VFORK.
|
|||
|
|
|||
|
* collect2.c: Define VFORK_STRING as a printable string for
|
|||
|
error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
|
|||
|
defined, include vfork.h. If VMS is defined, define vfork()
|
|||
|
appropriately. Remove vfork check on USG, we're using autoconf.
|
|||
|
(collect_execute): Pass VFORK_STRING to fatal_perror instead of
|
|||
|
checking locally what string to pass.
|
|||
|
(scan_prog_file): Likewise.
|
|||
|
(scan_libraries): Likewise.
|
|||
|
|
|||
|
* gcc.c: Remove vfork check on USG, we're using autoconf.
|
|||
|
Besides, no calls to vfork/fork occur in this file.
|
|||
|
|
|||
|
* protoize.c: Likewise.
|
|||
|
|
|||
|
Mon Nov 2 07:52:28 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* configure.in (DEFAULT_LINKER): Renamed from LD.
|
|||
|
(DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
|
|||
|
(gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Mon Nov 2 01:48:10 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* BUGS: Fix the regexp for `more' to find the appropriate node.
|
|||
|
Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
|
|||
|
|
|||
|
* BUGS: Added link to the WWW FAQ.
|
|||
|
|
|||
|
Sun Nov 1 18:27:15 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* From Christian Gafton:
|
|||
|
* i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
|
|||
|
* sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
|
|||
|
* sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
|
|||
|
|
|||
|
Sat Oct 31 21:42:39 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* c-common.c (c_get_alias_set): Allow all type-punning through
|
|||
|
unions. Don't get confused about the type of a bit-field, despite
|
|||
|
the antics of build_modify_expr.
|
|||
|
|
|||
|
Sat Oct 31 22:35:29 1998 Jean-Pierre Radley <jpr@jpr.com>
|
|||
|
|
|||
|
* fixinc.sco: Parameterize #include_next values.
|
|||
|
* fixinc/fixinc.sco: Likewise.
|
|||
|
|
|||
|
Sat Oct 31 20:39:35 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): No longer set reload_completed.
|
|||
|
* reload1.c (reload): Set it here. Perform instruction splitting
|
|||
|
after reload has completed if we will be running the scheduler
|
|||
|
again.
|
|||
|
|
|||
|
Sat Oct 31 12:30:02 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* jump.c (jump_optimize): Initialize mappings from INSN_UID to
|
|||
|
EH region if exceptions are enabled and we're performing cross
|
|||
|
jump optimizations.
|
|||
|
(find_cross_jump): Exit loop if the insns are in different EH regions.
|
|||
|
|
|||
|
Sat Oct 31 10:02:48 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* dwarf2out.c (output_call_frame_info): Use
|
|||
|
ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
|
|||
|
|
|||
|
Sat Oct 31 10:23:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
|
|||
|
* c-common.c (check_format_info): Don't check for the 'x'
|
|||
|
format character twice, instead check for 'x' and 'X'
|
|||
|
|
|||
|
Fri Oct 30 14:50:25 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (assembler features): Also make gas is configured if
|
|||
|
we find it in the source tree.
|
|||
|
|
|||
|
Fri Oct 30 13:23:20 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.c (i386_comp_type_attributes): Compare whether the
|
|||
|
attributes are defined, not their tree nodes.
|
|||
|
|
|||
|
Fri Oct 30 11:39:47 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* configure.in (gxx_include_dir): Bitten by autoconf quoting
|
|||
|
characters. :-(
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Fri Oct 30 10:43:29 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* configure.in: Ignore non-absolute value in $AS.
|
|||
|
|
|||
|
Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
|
|||
|
|
|||
|
* m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
|
|||
|
|
|||
|
Fri Oct 30 00:42:34 1998 Mark Elbrecht <snowball3@usa.net>
|
|||
|
|
|||
|
* configure.in (msdosdjgpp): Set exeext and target_alias.
|
|||
|
|
|||
|
Thu Oct 29 23:55:43 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* flow.c (XNMALLOC): New macro.
|
|||
|
(flow_int_list_blocks, basic_block_succ, basic_block_pred): New
|
|||
|
static variables.
|
|||
|
(add_edge, add_edge_to_label): New static functions.
|
|||
|
(free_bb_memory): New function.
|
|||
|
(flow_delete_insn): Delete function.
|
|||
|
(basic_block_drops_in): Delete variable.
|
|||
|
(find_basic_blocks): Allocate and initialize basic_block_head,
|
|||
|
basic_block_succ. Don't allocate basic_block_drops_in.
|
|||
|
Call free_bb_memory at the beginning.
|
|||
|
(find_basic_blocks_1): Don't do multiple passes.
|
|||
|
Delete code to compute basic_block_drops_in.
|
|||
|
After calling make_edges, mark blocks reached by current block live.
|
|||
|
Update test for unreachable live blocks.
|
|||
|
(mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
|
|||
|
changed.
|
|||
|
Simplify to call add_edge_to_label when a LABEL_REF is found.
|
|||
|
(make_edges): Simplify to call add_edge_to_label instead of
|
|||
|
mark_label_ref most of the time.
|
|||
|
Compute here whether control drops into the next block.
|
|||
|
(delete_unreachable_blocks): Return void. All callers changed.
|
|||
|
Delete unreachable blocks in reverse order.
|
|||
|
After deleting all unreachable blocks, renumber the remaining ones
|
|||
|
and update n_basic_blocks.
|
|||
|
(delete_block): Speed up deletion a bit.
|
|||
|
Don't set basic_block_drops_in for deleted blocks.
|
|||
|
(free_basic_block_vars): Don't free basic_block_drops_in.
|
|||
|
(life_analysis_1): Update to use new edge representation.
|
|||
|
(dump_flow_info): Delete code to print basic block info; call
|
|||
|
dump_bb_data instead.
|
|||
|
(compute_preds_succs): Delete code to recompute basic_block_drops_in
|
|||
|
and uid_block_number.
|
|||
|
Simply copy the previously computed cfg.
|
|||
|
(dump_bb_data): New arg LIVE_INFO. All callers changed.
|
|||
|
Print register lifetime information if LIVE_INFO is nonzero.
|
|||
|
* basic-block.h (dump_bb_data): Adjust prototype.
|
|||
|
* gcse.c (gcse_main): Update call to dump_bb_data.
|
|||
|
* rtl.h (free_bb_memory): Declare.
|
|||
|
* toplev.c (rest_of_compilation): Call free_bb_memory.
|
|||
|
|
|||
|
* reload1.c (struct elim_table): Delete MAX_OFFSET member.
|
|||
|
(update_eliminable_offsets): Don't compute it.
|
|||
|
(set_initial_elim_offsets): Don't initialize it.
|
|||
|
Break out some code into set_initial_label_offsets so the rest of
|
|||
|
this function can be called from reload_as_needed.
|
|||
|
Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
|
|||
|
ELIMINABLE_REGS isn't.
|
|||
|
(set_initial_label_offsets): New function, broken out of
|
|||
|
set_initial_elim_offsets.
|
|||
|
(set_offsets_for_label): New function, broken out of set_label_offsets
|
|||
|
and reload_as_needed.
|
|||
|
(reload): Call the two new functions.
|
|||
|
(reload_as_needed): Call set_initial_elim_offsets instead of
|
|||
|
duplicating the code. Likewise for set_offsets_for_label.
|
|||
|
|
|||
|
* reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
|
|||
|
(emit_reload_insns): Ensure that when we set reg_reloaded_valid for
|
|||
|
any hard reg, reg_reloaded_dead contains valid data.
|
|||
|
|
|||
|
Thu Oct 29 22:30:54 1998 Marcus Meissner <Marcus.Meissner@informatik.uni-erlangen.de>
|
|||
|
|
|||
|
* i386.c (i386_comp_type_attributes): Return nonzero for mismatched
|
|||
|
"stdcall" and "cdecl" attributes.
|
|||
|
|
|||
|
Thu Oct 29 19:05:17 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* sched.c (update_flow_info): Add code to ! found_orig_dest case to
|
|||
|
handle deleted no-op moves of hard registers.
|
|||
|
* haifa-sched.c (update_flow_info): Likewise.
|
|||
|
|
|||
|
Thu Oct 29 18:07:47 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
|
|||
|
of the sequences to reload the HILO register which do not actually
|
|||
|
reference HILO.
|
|||
|
|
|||
|
Thu Oct 29 12:39:35 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
|
|||
|
|
|||
|
Thu Oct 29 14:10:22 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* except.c (emit_eh_context): Make the EH context register stay alive
|
|||
|
at -O0 so stupid.c doesn't get confused.
|
|||
|
|
|||
|
1998-10-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* emit-rtl.c (try_split): Do not try to split a BARRIER.
|
|||
|
|
|||
|
Thu Oct 29 01:33:54 1998 Jan Hubicka <hubicka@freesoft.cz>
|
|||
|
Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
|
|||
|
(zero_extendsidi2): Use # in output template and handle completely by
|
|||
|
splits.
|
|||
|
(zero_extend splitters): New define_splits.
|
|||
|
(ashiftrt_32): New pattern.
|
|||
|
|
|||
|
Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* tree.c (append_random_chars): New fn.
|
|||
|
(get_file_function_name_long): Use it.
|
|||
|
|
|||
|
Wed Oct 28 22:27:05 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
|
|||
|
(LIBCPP_OBJS): New. Add cppulp.o.
|
|||
|
(cppmain, fix-header): Depend on and use libcpp.a.
|
|||
|
* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
|
|||
|
of the individual object files.
|
|||
|
* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
|
|||
|
last.
|
|||
|
|
|||
|
* cccp.c (user_label_prefix): New.
|
|||
|
(main): Set it off -f*leading-underscore.
|
|||
|
(special_symbol): Use it.
|
|||
|
* cpplib.c (special_symbol): Likewise.
|
|||
|
(cpp_handle_option): Handle -f*leading-underscore.
|
|||
|
* cppulp.c: New file.
|
|||
|
|
|||
|
* output.h (user_label_prefix): Declare it.
|
|||
|
* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
|
|||
|
* toplev.c (f_options, main): Handle -f*leading-underscore.
|
|||
|
|
|||
|
* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
|
|||
|
referencing USER_LABEL_PREFIX directly.
|
|||
|
* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
|
|||
|
* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
|
|||
|
* final.c (asm_fprintf): Use user_label_prefix instead.
|
|||
|
* arm/thumb.c (thumb_print_operand): Likewise.
|
|||
|
|
|||
|
* gcc.c (default_compilers): Pass -f*leading-underscore on to
|
|||
|
cpp wherever appropriate.
|
|||
|
|
|||
|
Wed Oct 28 23:09:25 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
|
|||
|
specific compiler switches.
|
|||
|
|
|||
|
Wed Oct 28 21:05:53 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (c-common.o): Depend on c-pragma.h. Use $(RTL_H) instead
|
|||
|
of rtl.h.
|
|||
|
|
|||
|
Wed Oct 28 20:52:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
|
|||
|
structure which has exactly the members provided by EXTRA_SPECS.
|
|||
|
Xmalloc() the real `extra_specs', and initialize it from this
|
|||
|
intermediate structure.
|
|||
|
|
|||
|
* alpha.h (EXTRA_SPECS): Revert change for missing initializers.
|
|||
|
|
|||
|
* mips.h (EXTRA_SPECS): Likewise.
|
|||
|
|
|||
|
* sparc.h (EXTRA_SPECS): Likewise.
|
|||
|
|
|||
|
Wed Oct 28 16:46:07 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Instead of aborting when a
|
|||
|
bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
|
|||
|
work just put the ADDRESSOF on stack. Otherwise remember all such
|
|||
|
successful replacements, so that exactly the same replacements
|
|||
|
can be made on the REG_NOTEs. Remove the special case for CALL
|
|||
|
insns again.
|
|||
|
(purge_addressof_replacements): New variable.
|
|||
|
(purge_addressof): Clear it at end.
|
|||
|
|
|||
|
1998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
|
|||
|
(lang_init): Call check_newline always.
|
|||
|
* c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
|
|||
|
cpp_start_read, set yy_cur and yy_lim to read from
|
|||
|
parse_in.token_buffer, so that we'll see the first #line
|
|||
|
directive.
|
|||
|
* cpplib.c (cpp_start_read): finclude the main input file
|
|||
|
before processing -include/-imacros. Process -imacros and
|
|||
|
-include separately, and handle -include by stacking a
|
|||
|
buffer for the file in question as if it'd been #included.
|
|||
|
* toplev.c (documented_lang_options): Recognize -H when
|
|||
|
USE_CPPLIB is on.
|
|||
|
|
|||
|
1998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c: Merge do_once into do_pragma. Break file handling
|
|||
|
code out of do_include.
|
|||
|
Move append_include_chain, deps_output,
|
|||
|
file_cleanup, redundant_include_p, import_hash,
|
|||
|
lookup_import, add_import, read_filename_string, read_name_map,
|
|||
|
open_include_file, finclude, safe_read to cppfiles.c.
|
|||
|
Move prototypes for deps_output, append_include_chain,
|
|||
|
finclude to cpplib.h. Move definition of struct
|
|||
|
file_name_list there also.
|
|||
|
|
|||
|
* cppfiles.c: New file. Contains all the above functions
|
|||
|
broken out of cpplib.c; also hack_vms_include_specification
|
|||
|
from cccp.c and find_include_file, a new function broken out of
|
|||
|
do_include.
|
|||
|
|
|||
|
* Makefile.in (cppmain): Depend on cppfiles.o.
|
|||
|
(fix-header): Likewise.
|
|||
|
(cppfiles.o): New target.
|
|||
|
* configure.in (--enable-c-cpplib): Add cppfiles.o to
|
|||
|
extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
|
|||
|
|
|||
|
Wed Oct 28 14:06:49 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
|
|||
|
if pending_types is non-zero.
|
|||
|
(dwarfout_finish): Verify pending_types is zero before finishing.
|
|||
|
|
|||
|
Wed Oct 28 10:29:09 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* expr.c (convert_move): Use shifts to perform the move if a
|
|||
|
suitable extend pattern cannot be found. Code written by
|
|||
|
Richard Henderson <rth@cygnus.com>.
|
|||
|
|
|||
|
Wed Oct 28 03:59:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* regclass.c (renumber, regno_allocated): New static variables, moved
|
|||
|
out of allocate_reg_info.
|
|||
|
(allocate_reg_info): Move these two variables outside the function.
|
|||
|
Move code to free memory into new function free_reg_info.
|
|||
|
(free_reg_info): New function, broken out of allocate_reg_info.
|
|||
|
* toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
|
|||
|
* rtl.h (allocate_reg_info): Don't declare.
|
|||
|
(free_reg_info): Declare.
|
|||
|
|
|||
|
* final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
|
|||
|
|
|||
|
Wed Oct 28 02:38:12 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* toplev.c (compile_file): Temporarily revert last change.
|
|||
|
|
|||
|
Wed Oct 28 00:00:35 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* c-typeck.c (convert_for_assignment): Parenthesize.
|
|||
|
|
|||
|
1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* reload1.c (delete_output_reload): Avoid ambigous else.
|
|||
|
|
|||
|
Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (compile_file): Call allocate_reg_info to free register
|
|||
|
table memory.
|
|||
|
* rtl.h (allocate_reg_info): Declare.
|
|||
|
|
|||
|
* PROJECTS: Remove entry for local spilling.
|
|||
|
|
|||
|
* final.c (cleanup_subreg_operands): New function.
|
|||
|
(final_scan_insn): Use it.
|
|||
|
(alter_subreg): Clear the "used" field when we turn a SUBREG into
|
|||
|
a REG.
|
|||
|
* reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
|
|||
|
operands when reload has finished.
|
|||
|
* reload.h (cleanup_subreg_operands): Declare..
|
|||
|
* flow.c (life_analysis_1): No longer delete CLOBBER insns after
|
|||
|
reload. Handled in reload itself.
|
|||
|
|
|||
|
Tue Oct 27 23:32:34 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload1.c (verify_initial_offsets): New function.
|
|||
|
(reload): Call it after reload_as_needed. Also verify that the frame
|
|||
|
size stays constant during reload_as_needed.
|
|||
|
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
|
|||
|
|
|||
|
* reload.h (struct insn_chain): Add need_operand_change element.
|
|||
|
* reload1.c (new_insn_chain): Clear it.
|
|||
|
(calculate_needs_all_insns): Set it; don't overload need_reload.
|
|||
|
(reload_as_needed): Use it.
|
|||
|
|
|||
|
* reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
|
|||
|
reload_address_base_reg_class throughout. Similar for INDEX_REG_CLASS
|
|||
|
and reload_address_index_reg_class.
|
|||
|
(find_reloads_address_1): Likewise.
|
|||
|
* reload.h (reload_address_base_reg_class,
|
|||
|
reload_address_index_reg_class): Don't declare.
|
|||
|
* reload1.c (reg_old_renumber, pseudo_previous_regs,
|
|||
|
pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
|
|||
|
(used_spill_regs): Now static.
|
|||
|
(reload_address_base_reg_class, reload_address_index_reg_class,
|
|||
|
regs_explicitly_used, counted_for_groups, counted_for_nongroups,
|
|||
|
basic_block_needs, max_needs, group_size, group_mode, max_groups,
|
|||
|
max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
|
|||
|
forbidden_regs):
|
|||
|
Deleted variables.
|
|||
|
(init_reload): Delete code to compute base/index reg classes.
|
|||
|
(reload): Delete variable J.
|
|||
|
Delete code to manage basic_block_needs.
|
|||
|
Don't compute regs_explicitly_used.
|
|||
|
Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
|
|||
|
pseudo_previous_regs.
|
|||
|
Initialize bad_spill_regs_global.
|
|||
|
Don't call order_regs_for_reload here.
|
|||
|
Don't initialize spill_reg_order and n_spills.
|
|||
|
Don't forbid explicitly used regs to be used for spill regs.
|
|||
|
Change main loop to infinite loop, with explicit break statements.
|
|||
|
Make SOMETHING_CHANGED variable local to that loop.
|
|||
|
Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
|
|||
|
max_groups_insn, max_nongroups_insn, group_size, group_mode.
|
|||
|
Make sure spilled_pseudos is cleared before calling spill_hard_reg or
|
|||
|
new_spill_reg.
|
|||
|
Don't call dump_needs.
|
|||
|
Delete code to reset potential_reload_regs.
|
|||
|
Delete code to terminate loop conditional on the global needs variables
|
|||
|
showing no further needs.
|
|||
|
(calculate_needs_all_insns): Return void. All callers changed.
|
|||
|
Initialize something_needs_elimination here, not in reload.
|
|||
|
Delete avoid_return_reg kludge.
|
|||
|
(calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
|
|||
|
All callers changed.
|
|||
|
Initialize the group_mode and group_size elements of the arg CHAIN.
|
|||
|
Delete code to manage basic_block_needs.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
Delete avoid_return_reg kludge.
|
|||
|
(find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
|
|||
|
All callers changed.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
Delete special SMALL_REGISTER_CLASSES code.
|
|||
|
Delete spill_failure code; now in new_spill_reg.
|
|||
|
(find_group): Lose GLOBAL arg, take CHAIN arg, return void.
|
|||
|
All callers changed.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
(maybe_mark_pseudo_spilled): New static function.
|
|||
|
(find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
|
|||
|
All callers changed.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
Call order_regs_for_reload here, not in reload.
|
|||
|
Initialize spill_reg_order and n_spills.
|
|||
|
Simplify test whether an asm insn is involved.
|
|||
|
Delete spill_failure code; now in new_spill_reg.
|
|||
|
Call maybe_mark_pseudo_spilled for everything marked as live in
|
|||
|
CHAIN. Merge CHAIN's used_spill_regs into the global variable
|
|||
|
used_spill_regs.
|
|||
|
(dump_needs): Take CHAIN arg. No longer static, to prevent the
|
|||
|
compiler from optimizing this function (now unused) away.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
(possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg. All callers
|
|||
|
changed.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
(count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
|
|||
|
take CHAIN arg. All callers changed.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
(new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
|
|||
|
CHAIN, NONGROUP args. Return void. All callers changed.
|
|||
|
Verify caller isn't trying to spill a pseudo.
|
|||
|
Simplify test for illegal reg, just use bad_spill_regs.
|
|||
|
Generate better error messages.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
Mark spilled register in CHAIN's used_spill_regs element.
|
|||
|
Don't call spill_hard_reg.
|
|||
|
(spill_hard_reg): Lose GLOBAL arg, return void. All callers changed.
|
|||
|
Mark spilled hard regs in bad_spill_regs_global.
|
|||
|
Mark affected pseudos in spilled_pseudos, but don't spill them.
|
|||
|
(ior_hard_reg_set): New static function.
|
|||
|
(finish_spills): Return int. All callers changed.
|
|||
|
Compute spill_reg_order, n_spills and spill_regs here. Also update
|
|||
|
regs_ever_live for regs used as spills.
|
|||
|
For every pseudo in spilled_pseudos, spill it and mark the previous
|
|||
|
hard reg it had in pseudo_previous_regs. Compute which hard regs
|
|||
|
are used as spills in insns during which it is live, and retry global
|
|||
|
register allocation. Update all life information in the
|
|||
|
reload_insn_chain not to include pseudos without hard regs.
|
|||
|
Call alter_reg for all affected speudos.
|
|||
|
|
|||
|
(scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
|
|||
|
case, it's not clear what it's supposed to do.
|
|||
|
|
|||
|
(hard_reg_use_compare): Take bad_spill_regs into account.
|
|||
|
(pseudos_counted): New static variable.
|
|||
|
(count_pseudo): New static function.
|
|||
|
(order_regs_for_reload): Take CHAIN arg. All callers changed.
|
|||
|
Initialize bad_spill_regs from bad_spill_regs_global, then merge any
|
|||
|
hard registers explicitly used across the current insn into the set.
|
|||
|
Compute hard_reg_n_uses taking only pseudos live across this insn
|
|||
|
into account.
|
|||
|
Tweak sorting of potential_reload_regs.
|
|||
|
(compare_spill_regs): Delete function.
|
|||
|
(reload_as_needed): Don't sort the spill_regs array, it's computed
|
|||
|
in proper order in finish_spills.
|
|||
|
Delete avoid_return_reg kludge.
|
|||
|
Delete code to manage basic_block_needs.
|
|||
|
(allocate_reload_reg): Minor speed/readability tweaks.
|
|||
|
Operate on elements of CHAIN instead of global variables.
|
|||
|
(choose_reload_regs): Lose AVOID_RETURN_REG arg. All callers changed.
|
|||
|
Delete avoid_return_reg kludge.
|
|||
|
Initialize reload_reg_used from CHAIN's used_spill_regs element.
|
|||
|
Delete unused label FAIL.
|
|||
|
(reload_combine): Replace reload_address_index_reg_class with
|
|||
|
INDEX_REGS.
|
|||
|
Don't use used_spill_regs to determine information about lifetime of
|
|||
|
hard regs.
|
|||
|
|
|||
|
Tue Oct 27 13:15:02 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (display_help): Ignore empty target specific
|
|||
|
options, and if -W is also specified on the command line then
|
|||
|
display undocumented options.
|
|||
|
|
|||
|
* config/arm/arm.c: Updated with changes in devo sources.
|
|||
|
* config/arm/arm.h: Updated with changes in devo sources.
|
|||
|
* config/arm/lib1funcs.asm: Updated with changes in devo sources.
|
|||
|
* config/arm/lib1thumb.asm: Add ELF support.
|
|||
|
|
|||
|
Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* collect2.c (aix64_flag): New variable.
|
|||
|
(main, case 'b'): Parse it.
|
|||
|
(GCC_CHECK_HDR): Object magic number must match mode.
|
|||
|
(scan_prog_file): Only check for shared object if valid header.
|
|||
|
Print debugging if header/mode mismatch.
|
|||
|
|
|||
|
Tue Oct 27 10:15:02 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
Added support for arm-elf-linux configuration, submitted by Philip
|
|||
|
Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
|
|||
|
code developed by Catherine Moore <clm@cygnus.com>. The following
|
|||
|
files are affected:
|
|||
|
|
|||
|
* configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
|
|||
|
targets.
|
|||
|
|
|||
|
* configure: Regenerated.
|
|||
|
|
|||
|
* config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
|
|||
|
USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX. Make other macro
|
|||
|
definitions conditional on their not having been already defined.
|
|||
|
|
|||
|
* config/arm/lin1funcs.asm: Add ELF only macros to generate .size
|
|||
|
and .type directives, and add "(PLT)" qualification to function
|
|||
|
calls.
|
|||
|
|
|||
|
* config/arm/linux.h: Deleted. This file is now superseded by
|
|||
|
either linux-elf.h or linux-aout.h.
|
|||
|
|
|||
|
* config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
|
|||
|
(CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
|
|||
|
support).
|
|||
|
Move definitions from old linux.h file here.
|
|||
|
|
|||
|
* config/arm/elf.h: New file. Generic ARM/ELF support.
|
|||
|
|
|||
|
* config/arm/linux-aout.h: New file. Support for Linux with a.out.
|
|||
|
|
|||
|
* config/arm/linux-elf.h: New file. Support for Linux with ELF.
|
|||
|
|
|||
|
* config/arm/linux-elf26.h: New file. Support for Linux with ELF
|
|||
|
using the 26bit APCS.
|
|||
|
|
|||
|
* config/arm/unknown-elf.h: New file. Support for OS'es other
|
|||
|
than Linux with ELF.
|
|||
|
|
|||
|
* config/arm/t-arm-elf: New file. makefile fragment for arm-elf
|
|||
|
builds.
|
|||
|
|
|||
|
* config/arm/coff.h: Include aout.h for basic assembler macros.
|
|||
|
Add support for -mstructure_size_boundary=<n> command line option.
|
|||
|
|
|||
|
* config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
|
|||
|
command line option. Make macro definitions conditional on their
|
|||
|
not having been already defined.
|
|||
|
|
|||
|
* config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
|
|||
|
command line option.
|
|||
|
|
|||
|
|
|||
|
Tue Oct 27 08:56:46 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
|
|||
|
has been changed to not include a newline. Use this macro instead.
|
|||
|
(output_enumeral_list, const_value_attribute, name_attribute,
|
|||
|
comp_dir_attribute, prototyped_attribute, producer_attribute,
|
|||
|
inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
|
|||
|
dwarfout_file_scope_decl, generate_new_sfname_entry,
|
|||
|
generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
|
|||
|
ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
|
|||
|
|
|||
|
Mon Oct 26 13:35:02 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* combine.c (subst): Process the inputs to a parallel asm_operands
|
|||
|
only once.
|
|||
|
|
|||
|
Mon Oct 26 13:32:31 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
|
|||
|
|
|||
|
Mon Oct 26 12:53:14 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
|
|||
|
|
|||
|
Mon Oct 26 00:36:58 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* stmt.c (expand_fixup): Set fixup->before_jump to a
|
|||
|
NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
|
|||
|
|
|||
|
Sun Oct 25 15:49:57 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (recog.o): Depend on toplev.h.
|
|||
|
(insn-emit.o): Depend on recog.h.
|
|||
|
(insn-peep.o): Depend on recog.h and insn-config.h.
|
|||
|
|
|||
|
* combine.c (simplify_set): Remove unused variable `scratches'.
|
|||
|
|
|||
|
* final.c (final_scan_insn): Wrap declaration of variables `vlen'
|
|||
|
and `idx' in macro conditional controlling their use.
|
|||
|
|
|||
|
* genemit.c (main): Make the generated output file include
|
|||
|
recog.h. Don't have it declare `insn_operand_constraint', since
|
|||
|
we get it from recog.h.
|
|||
|
|
|||
|
* genpeep.c (main): Make the generated output file include
|
|||
|
insn-config.h and recog.h.
|
|||
|
|
|||
|
* recog.c: Include toplev.h.
|
|||
|
(extract_insn): Remove unused variable `p'.
|
|||
|
|
|||
|
* regclass.c (fix_register): Add missing braces around initializer
|
|||
|
for `what_option'.
|
|||
|
(allocate_reg_info): Move variable `i' into the scope where it is
|
|||
|
used. Change its type to `size_t'.
|
|||
|
|
|||
|
Sun Oct 25 13:10:15 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload.c (push_reload): When merging reloads, make sure
|
|||
|
that reload_in_reg and reload_in are from the same reload in
|
|||
|
all cases.
|
|||
|
|
|||
|
Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/crtdll.h (CPP_PREDEFINES): Fix typo.
|
|||
|
* i386/mingw32.h (CPP_PREDEFINES): Likewise.
|
|||
|
|
|||
|
Fri Oct 23 23:42:03 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* loop.c (loop_has_tablejump): New variable.
|
|||
|
(prescan_loop): Scan for it.
|
|||
|
(insert_bct): Replace explicit scan with use of it.
|
|||
|
* regclass.c (regclass): Restore loop variable j.
|
|||
|
(record_reg_classes): Deterine op_types modifiers and initialize
|
|||
|
classes[i] before matching constraints. Handle matching
|
|||
|
constraints 5-9.
|
|||
|
|
|||
|
Fri Oct 23 13:55:48 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* m32r/m32r.c (gen_split_move_double): Call alter_subreg. Delete
|
|||
|
subreg support.
|
|||
|
|
|||
|
Fri Oct 23 16:19:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* mips.h (EXTRA_SPECS): Add missing initializers.
|
|||
|
|
|||
|
Fri Oct 23 16:08:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* sparc.h (EXTRA_SPECS): Add missing initializers.
|
|||
|
(sparc_defer_case_vector): Provide a prototype.
|
|||
|
|
|||
|
* svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
|
|||
|
comparing it to the result of a pointer subtraction.
|
|||
|
|
|||
|
Fri Oct 23 15:34:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* alpha.c (override_options): Use ISDIGIT(), not isdigit(). Cast
|
|||
|
the argument to (unsigned char).
|
|||
|
|
|||
|
* alpha.h (EXTRA_SPECS): Add missing initializers.
|
|||
|
(ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
|
|||
|
format specifier.
|
|||
|
|
|||
|
Fri Oct 23 13:12:35 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (life_analysis_1): Enable "rescan" code after reload.
|
|||
|
(propagate_block): Delete dead code after reload.
|
|||
|
|
|||
|
* sched.c (update_flow_info): Revert Oct 19, 1998 change. Brings
|
|||
|
back Oct 15, 1998 change.
|
|||
|
* haifa-sched.c (update_flow_info): Likewise.
|
|||
|
* flow.c (life_analysis_1): Delete CLOBBER insns after reload.
|
|||
|
|
|||
|
* mn10200.md (truncated shift): Accept constant inputs too.
|
|||
|
|
|||
|
Fri Oct 23 04:06:57 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* machmode.h (mode_mask_array): No longer const.
|
|||
|
* rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
|
|||
|
|
|||
|
Fri Oct 23 11:19:06 1998 Martin v. L<>wis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* frame.c: Somewhat explain `FDE'.
|
|||
|
Suggested by Brendan Kehoe
|
|||
|
|
|||
|
Fri Oct 23 00:56:11 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* expr.c (pending_chain): Move up.
|
|||
|
(save_expr_status): Do save pending_chain.
|
|||
|
(restore_expr_status): And restore it.
|
|||
|
* function.h (struct function): Add pending_chain.
|
|||
|
|
|||
|
1998-10-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
|
|||
|
did not match the code.
|
|||
|
|
|||
|
Fri Oct 23 00:07:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* regclass.c (regclass): Break out some code into new function
|
|||
|
scan_one_insn, and into regclass_init.
|
|||
|
(init_cost): New static variable, moved out of regclass.
|
|||
|
(regclass_init): Initialize it here, not in .
|
|||
|
(scan_one_insn): New static function, broken out of regclass.
|
|||
|
* recog.c (apply_change_group): Break out some code into new
|
|||
|
function insn_invalid_p.
|
|||
|
(insn_invalid_p): New static fn, broken out of apply_change_group.
|
|||
|
|
|||
|
Thu Oct 22 22:34:42 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (reload_as_needed): When rewrite POST_INC, verify
|
|||
|
reg_reloaded_contents matches incremented pseudo.
|
|||
|
|
|||
|
* v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support.
|
|||
|
|
|||
|
Fri Oct 23 11:11:56 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
|
|||
|
addressing modes with side effects. These are currently
|
|||
|
placeholders for the C4x target.
|
|||
|
|
|||
|
Thu Oct 22 16:46:35 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* loop.c (express_from): Make sure that when generating a PLUS of
|
|||
|
a PLUS, any constant expression appears on the outermost PLUS.
|
|||
|
|
|||
|
Thu Oct 22 15:46:23 1998 Per Bothner (bothner@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (distdir-cvs, distdir-start): Clean up so it
|
|||
|
works if "$(srcdir)" != ".".
|
|||
|
|
|||
|
Wed Oct 21 19:23:59 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* expmed.c (store_bit_field): If need to add a SUBREG, then remove
|
|||
|
existing SUBREG if we can, otherwise abort.
|
|||
|
|
|||
|
Wed Oct 21 09:58:51 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* c-common.c (c_apply_type_quals_to_decl): Don't crash when
|
|||
|
`restrict' is applied to a non-pointer variable.
|
|||
|
|
|||
|
Wed Oct 21 09:18:58 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* invoke.texi: Document -flang-isoc9x.
|
|||
|
|
|||
|
* Makefile.in (OBJS): Add splay-tree.o.
|
|||
|
(c-common.o): Depend on rtl.h.
|
|||
|
(splay-tree.o): List dependencies and provide build rule.
|
|||
|
|
|||
|
* rtl.h (record_alias_subset): New function.
|
|||
|
* alias.c: Include splay-tree.h.
|
|||
|
(alias_set_entry): New type.
|
|||
|
(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
|
|||
|
(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
|
|||
|
(mems_in_disjoin_alias_sets_p): New function.
|
|||
|
(alias_set_compare): Likewise.
|
|||
|
(insert_subset_children): Likewise.
|
|||
|
(get_alias_set_entry): Likewise.
|
|||
|
|
|||
|
* tree.h (TYPE_RESTRICT): New macro.
|
|||
|
(TYPE_UNQUALIFIED): New manifest constant.
|
|||
|
(TYPE_QUAL_CONST): Likewise.
|
|||
|
(TYPE_QUAL_VOLATILE): Likewise.
|
|||
|
(TYPE_QUAL_RESTRICT): Likewise.
|
|||
|
(tree_type): Add restrict_flag. Reduce count of free bits.
|
|||
|
(DECL_POINTER_ALIAS_SET): New macro.
|
|||
|
(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
|
|||
|
(tree_decl): Add pointer_alias_set.
|
|||
|
(build_qualified_type): New function.
|
|||
|
(build_type_variant): Define in terms of build_qualified_type.
|
|||
|
* tree.c (set_type_quals): New function.
|
|||
|
(make_node): Initialize DECL_POINTER_ALIAS_SET.
|
|||
|
(build_type_attribute_variant): Use build_qualified_type and
|
|||
|
set_type_quals.
|
|||
|
(build_type_variant): Rename, and modify, to become...
|
|||
|
(build_qualified_type): New function.
|
|||
|
(build_complex_type): Use set_type_quals.
|
|||
|
|
|||
|
* c-tree.h (C_TYPE_OBJECT_P): New macro.
|
|||
|
(C_TYPE_FUNCTION_P): Likewise.
|
|||
|
(C_TYPE_INCOMPLETE_P): Likewise.
|
|||
|
(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
|
|||
|
(c_apply_type_quals_to_decl): New function.
|
|||
|
(c_build_qualified_type): New function.
|
|||
|
(c_build_type_variant): Define in terms of c_build_qualified_type.
|
|||
|
(flag_isoc9x): Declare.
|
|||
|
* c-typeck.c (qualify_type): Use c_build_qualified_type.
|
|||
|
(common_type): Change to use TYPE_QUALS.
|
|||
|
(comptypes): Likewise.
|
|||
|
(convert_for_assignment): Likewise.
|
|||
|
* c-aux-info.c (gen_type): Likewise. Deal with `restrict'.
|
|||
|
* c-decl.c (flag_isoc9x): Define.
|
|||
|
(c_decode_option): Handle -flang-isoc9x.
|
|||
|
(grokdeclarator): Update to handle restrict. Use TYPE_QUALS,
|
|||
|
c_build_qualified_type, etc. Use c_apply_type_quals_to_decl.
|
|||
|
* c-lex.c (init_lex): Deal with restrict.
|
|||
|
(init_lex): Don't treat restrict as a reserved word in
|
|||
|
-traditional mode, or without -flang-isoc9x.
|
|||
|
* c-lex.h (rid): Add RID_RESTRICT.
|
|||
|
* c-parse.gperf (restrict, __restrict, __restrict__): Make
|
|||
|
equivalent to RID_RESTRICT.
|
|||
|
* c-parse.in (TYPE_QUAL): Update comment.
|
|||
|
* c-common.c: Include rtl.h.
|
|||
|
(c_find_base_decl): New function.
|
|||
|
(c_build_type_variant): Rename, and modify, to become ...
|
|||
|
(c_build_qualified_type): New function.
|
|||
|
(c_apply_type_quals_to_decl): Likewise.
|
|||
|
(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
|
|||
|
a particular alias set for the reference.
|
|||
|
* toplev.c (documented_lang_options): Add -flang-isoc9x.
|
|||
|
|
|||
|
Wed Oct 21 09:15:06 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.h (TARGET_SWITCHES): Document arm specific
|
|||
|
command line switches.
|
|||
|
|
|||
|
Tue Oct 20 10:04:51 1998 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* reload.c (loc_mentioned_in_p): Add missing braces to bind
|
|||
|
else to correct if.
|
|||
|
|
|||
|
Mon Oct 19 16:34:05 1998 Tom Tromey <tromey@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (option_map): Added --classpath and --CLASSPATH.
|
|||
|
|
|||
|
Tue Oct 20 10:59:02 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* regclass.c (fix_register): Add error message.
|
|||
|
* invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
|
|||
|
new error message.
|
|||
|
|
|||
|
Tue Oct 20 10:12:17 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* c-decl.c (warn_missing_noreturn): New global variable.
|
|||
|
(c_decode_option): Check for new flags -W{no-}missing-noreturn.
|
|||
|
(finish_function): Implement missing noreturn warning.
|
|||
|
|
|||
|
* c-tree.h (warn_missing_noreturn): Declare extern.
|
|||
|
|
|||
|
* invoke.texi: Document new flags.
|
|||
|
|
|||
|
* toplev.c (documented_lang_options): Add description.
|
|||
|
|
|||
|
Tue Oct 20 22:16:11 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
|
|||
|
loop optimization stable for the C4x.
|
|||
|
(c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
|
|||
|
c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
|
|||
|
c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
|
|||
|
loop optimization).
|
|||
|
(c4x_address_conflict): Be more paranoid when packing a volatile
|
|||
|
memref in a parallel load/store.
|
|||
|
|
|||
|
Tue Oct 20 21:56:05 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.md (repeat_block_top, repeat_block_end,
|
|||
|
repeat_block_filler): Deleted.
|
|||
|
(*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
|
|||
|
Condition code not set if destination register from 'c' class.
|
|||
|
(*subbqi3_carry_clobber): Fix typo.
|
|||
|
|
|||
|
1998-10-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* reorg.c (steal_delay_list_from_target): Check for insns that
|
|||
|
modify the condition codes and effect the direction of the jump
|
|||
|
in the sequence.
|
|||
|
|
|||
|
Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Replace call to
|
|||
|
emit_insns_before() with emit_insn_before().
|
|||
|
|
|||
|
Mon Oct 19 19:34:03 1998 Mike Stump <mrs@wrs.com>
|
|||
|
|
|||
|
* libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
|
|||
|
|
|||
|
Mon Oct 19 13:26:24 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* jump.c (sets_cc0_p): Compile only if HAVE_cc0.
|
|||
|
|
|||
|
Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* gcse.c (compute_hash_table): Correctly identify hard regs which are
|
|||
|
clobbered across calls.
|
|||
|
|
|||
|
* loop.c (scan_loop): Be more selective about what invariants are
|
|||
|
moved out of a loop.
|
|||
|
|
|||
|
Mon Oct 19 10:46:58 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Oct 19 11:40:56 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* libgcc2.c (eh_context_static): Do not call malloc to allocate the
|
|||
|
static eh_context structure.
|
|||
|
|
|||
|
Mon Oct 19 10:45:40 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg. All
|
|||
|
callers changed.
|
|||
|
(try_combine): Don't update max_scratch.
|
|||
|
* flow.c (max_scratch, num_scratch): Delete variables.
|
|||
|
(life_analysis_1): Don't initialize max_scratch.
|
|||
|
(propagate_block): Don't update max_scratch.
|
|||
|
(mark_set_1): Don't increment num_scratch.
|
|||
|
* regs.h (max_scratch): Delete declaration.
|
|||
|
|
|||
|
Mon Oct 19 10:28:15 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (reload_reg_free_before_p): Hack. Return 0 if EQUIV
|
|||
|
is nonzero. This is temporary!
|
|||
|
|
|||
|
* sched.c (update_flow_info): Handle death notes made invalid by
|
|||
|
instruction splitting. Partially reverts Oct 15, 1998 patch.
|
|||
|
* haifa-sched.c (update_flow_info): Likewise.
|
|||
|
|
|||
|
Sun Oct 18 17:31:26 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
|
|||
|
if it has a nonzero DECL_INITIAL.
|
|||
|
|
|||
|
Sat Oct 17 23:18:08 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (flow.o): Depend on recog.h.
|
|||
|
|
|||
|
* cpplib.h (directive_table): Add missing initializiers.
|
|||
|
(finclude): Change type of variable `bsize' to size_t.
|
|||
|
|
|||
|
* cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
|
|||
|
|
|||
|
* fix-header.c (lookup_std_proto): Cast the result of `strlen' to
|
|||
|
`int' when comparing against one.
|
|||
|
(cpp_file_line_for_message): Mark parameter `pfile' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* flow.c: Include recog.h.
|
|||
|
(sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
|
|||
|
|
|||
|
* function.c (thread_prologue_and_epilogue_insns): Mark parameter
|
|||
|
`f' with ATTRIBUTE_UNUSED.
|
|||
|
(reposition_prologue_and_epilogue_notes): Likewise.
|
|||
|
|
|||
|
* genopinit.c (gen_insn): Cast argument of ctype functions to
|
|||
|
`unsigned char'.
|
|||
|
|
|||
|
* haifa-sched.c: Include recog.h.
|
|||
|
(blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
|
|||
|
comparing against one.
|
|||
|
|
|||
|
* libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
|
|||
|
|
|||
|
* mips-tfile.c (parse_end): Cast the argument of ctype function to
|
|||
|
`unsigned char'.
|
|||
|
(parse_ent): Likewise.
|
|||
|
(parse_input): Likewise.
|
|||
|
|
|||
|
* optabs.c (init_libfuncs): Likewise.
|
|||
|
|
|||
|
* protoize.c (find_rightmost_formals_list): Likewise.
|
|||
|
|
|||
|
* recog.h (const_double_operand): Fix typo in prototype.
|
|||
|
|
|||
|
* tlink.c (scan_linker_output): Cast the argument of ctype
|
|||
|
function to `unsigned char'.
|
|||
|
|
|||
|
* toplev.c (check_lang_option): Cast the result of `strlen' to
|
|||
|
`int' when comparing against one.
|
|||
|
|
|||
|
Sat Oct 17 13:09:09 1998 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* gcse.c (dump_cuid_table): Correct typo.
|
|||
|
|
|||
|
Sat Oct 17 11:02:47 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* toplev.c (display_help): Prepend '-m' to target specific
|
|||
|
options.
|
|||
|
(check_lang_option): Ignore text after end of first word of a
|
|||
|
language specific option.
|
|||
|
|
|||
|
Sat Oct 17 02:26:03 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload1.c (reg_used_by_pseudo): New static variable.
|
|||
|
(choose_reload_regs): Initialize it.
|
|||
|
Use it instead of testing spill_reg_order to determine whether a
|
|||
|
pseudo is live in a hard register across the current insn.
|
|||
|
Fix a typo in a reference to reload_reg_rtx.
|
|||
|
|
|||
|
* flow.c (propagate_block): Replace code that computes and uses
|
|||
|
regs_sometimes_live with simpler code that just walks the set of
|
|||
|
currently live registers.
|
|||
|
|
|||
|
* Makefile.in (insn-extract.o): Fix dependencies.
|
|||
|
* genextract.c (main): Generate includes for insn-config.h and
|
|||
|
recog.h.
|
|||
|
Delete generation of declarations which are now in recog.h.
|
|||
|
* genrecog.c (main): Delete generation of definitions which are
|
|||
|
now in recog.c.
|
|||
|
* local-alloc.c (block_alloc): Use extract_insn and the variables
|
|||
|
it sets up instead of looking up values by insn_code.
|
|||
|
* recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
|
|||
|
recog_dup_num): Define here instead of generating the definition in
|
|||
|
genrecog.c.
|
|||
|
(recog_n_operands, recog_n_dups, recog_n_alternatives,
|
|||
|
recog_operand_mode, recog_constraints, recog_operand_address_p):
|
|||
|
New variables.
|
|||
|
(extract_insn): New function.
|
|||
|
* recog.h (extract_insn): Declare function.
|
|||
|
(which_alternative, recog_n_operands, recog_n_dups,
|
|||
|
recog_n_alternatives, recog_operand_mode, recog_constraints,
|
|||
|
recog_operand_address_p): Declare variables.
|
|||
|
* regclass.c (n_occurrences): New static function.
|
|||
|
* reload.c (n_occurrences): Delete function.
|
|||
|
(find_reloads): Use extract_insn.
|
|||
|
* reload.h (n_occurrences): Delete declaration.
|
|||
|
|
|||
|
Sat Oct 17 01:17:51 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload1.c (reload_as_needed): Fix test for when to call
|
|||
|
update_eliminable_offsets.
|
|||
|
|
|||
|
Fri Oct 16 20:40:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
Fix consistency problems with reg_equiv_{mem,address};
|
|||
|
Improve reload inheritance;
|
|||
|
|
|||
|
* reload.c (reload_out_reg): New variable.
|
|||
|
(loc_mentioned_in_p, remove_address_replacements): New functions.
|
|||
|
(remove_replacements): Deleted.
|
|||
|
(push_reload): Set reload_out_reg[i].
|
|||
|
When merging, also set reload_{in,out}_reg[i], and remove
|
|||
|
duplicate address reloads.
|
|||
|
(combine_reloads): Copy reload_out_reg[i].
|
|||
|
(find_reloads): Do make_memloc substitution also when
|
|||
|
reg_equiv_memory_loc[regno] and num_not_at_initial_offset
|
|||
|
are both nonzero.
|
|||
|
Include *recog_operand_loc in commutativity operand changes.
|
|||
|
Generate optional output reloads.
|
|||
|
Delete reference to n_memlocs. Don't set *recog_operand_loc before
|
|||
|
processing operands. Call make_memloc in reg_equiv_address code.
|
|||
|
Set *recog_operand_loc only after processing operands, and only
|
|||
|
if replace is true. Return a value.
|
|||
|
When changing address reload types for operands that didn't get
|
|||
|
reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
|
|||
|
RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
|
|||
|
Don't emit USEs for pseudo SUBREGs when not replacing.
|
|||
|
(find_reloads_address): Do make_memloc substitution also when
|
|||
|
reg_equiv_memory_loc[regno] and num_not_at_initial_offset
|
|||
|
are both nonzero.
|
|||
|
(find_reloads_toplev): Likewise.
|
|||
|
Call make_memloc in reg_equiv_address code.
|
|||
|
(debug_reload_to_stream): Add code to output reload_out_reg.
|
|||
|
(make_memloc): Delete local variable i, ifdefed out code, and
|
|||
|
references to memlocs and n_memlocs.
|
|||
|
(memlocs, n_memlocs): Delete.
|
|||
|
(push_secondary_reload): Clear reload_out_reg.
|
|||
|
(find_reloads_address_1): Provide memrefloc argument to all calls
|
|||
|
to find_reloads_address.
|
|||
|
In AUTO_INC code, handle non-directly addressable equivalences properly.
|
|||
|
* reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
|
|||
|
(find_reloads): Add return type.
|
|||
|
(remove_address_replacements, deallocate_reload_reg): Declare.
|
|||
|
* reload1.c (num_not_at_initial_offset): No longer static.
|
|||
|
(delete_address_reloads, delete_address_reloads_1): Likewise.
|
|||
|
(deallocate_reload_reg): New function.
|
|||
|
(spill_reg_stored_to): New array.
|
|||
|
(eliminate_regs): Don't substitute from reg_equiv_memory_loc.
|
|||
|
(eliminate_regs_in_insn): Move assignments of previous_offset and
|
|||
|
max_offset fields, and recalculation of num_not_at_initial_offset
|
|||
|
into new static function:
|
|||
|
(update_eliminable_offsets) .
|
|||
|
(reload_as_needed): Call update_eliminable_offsets after calling
|
|||
|
find_reloads.
|
|||
|
Call forget_old_reloads_1 with contents of reloaded auto_inc
|
|||
|
expressions if the actual addressing can't be changed to match the
|
|||
|
auto_inc.
|
|||
|
(choose_reload_regs): For inheritance, replace
|
|||
|
reload_reg_free_before_p test with reload_reg_used_at_all test, and
|
|||
|
remove stand-alone reload_reg_used_at_all test.
|
|||
|
Use reload_out_reg to determine which reload regs have output reloads.
|
|||
|
Treat reload_override_in more similar to inherited reloads.
|
|||
|
Handle (subreg (reg... for inheritance.
|
|||
|
For flag_expensive_optimizations, add an extra pass to remove
|
|||
|
unnecessary reloads from known working inheritance.
|
|||
|
Delete obsolete code for pseudos replaced with MEMs.
|
|||
|
Handle inheritance from auto_inc expressions.
|
|||
|
(emit_reload_insns): If reload_in is a MEM, set OLD to
|
|||
|
reload_in_reg[j].
|
|||
|
Don't reload directly from oldequiv; if it's a pseudo with a
|
|||
|
stack slot, use reload_in[j].
|
|||
|
Check that reload_in_reg[j] is a MEM before replacing reload_in
|
|||
|
from reg_reloaded_contents.
|
|||
|
Include non-spill registers in reload inheritance processing.
|
|||
|
Also try to use reload_out_reg to set spill_reg_store /
|
|||
|
reg_last_reload_reg.
|
|||
|
In code to set new_spill_reg_store, use single_set to find out if
|
|||
|
there is a single set.
|
|||
|
Add code that allows to delete optional output reloads.
|
|||
|
Add code to allow deletion of output reloads that use no spill reg.
|
|||
|
At the end, set reload_override_in to oldequiv.
|
|||
|
Also call delete_output_reload if reload_out_reg is equal to old
|
|||
|
in oldequiv code.
|
|||
|
Add code to call delete_output_reload for stores with no matching load.
|
|||
|
Set / use spill_reg_stored_to.
|
|||
|
Handle case where secondary output reload uses a temporary, but
|
|||
|
actual store isn't found.
|
|||
|
When looking for a store of a value not loaded in order to call
|
|||
|
delete_output_reload, count_occurrences should return 0 for no
|
|||
|
loads; but discount inherited input reloadill_reg_stored_to.
|
|||
|
Do checks for extra uses of REG. Changed all
|
|||
|
callers.
|
|||
|
Use delete_address_reloads.
|
|||
|
(reload): Take return value of find_reloads into account.
|
|||
|
If a no-op set needs more than one reload, delete it.
|
|||
|
(reload_reg_free_before_p): RELOAD_FOR_INPUT
|
|||
|
can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
|
|||
|
for the same operand.
|
|||
|
(clear_reload_reg_in_use): Check for other reloads that keep a
|
|||
|
register in use.
|
|||
|
(reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
|
|||
|
RELOAD_FOR_OPADDR_ADDR.
|
|||
|
Take into account when an address address reload is only needed
|
|||
|
for the address reload we are considering.
|
|||
|
(count_occurrences): Use rtx_equal_p for MEMs.
|
|||
|
(inc_for_reload): Return instruction that stores into RELOADREG.
|
|||
|
New argument two, IN, and rtx. Changed all callers.
|
|||
|
(calculate_needs_all_insns, reload_as_needed):
|
|||
|
Don't clear after_call for a CLOBBER.
|
|||
|
Keep track of how many hard registers need to be copied from
|
|||
|
after_call, and don't clear after_call before we have seen
|
|||
|
that much copies, or we see a different instruction.
|
|||
|
|
|||
|
Fri Oct 16 10:58:23 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (find_basic_blocks_1): Do not delete unreachable blocks
|
|||
|
after reload has completed.
|
|||
|
|
|||
|
Fri Oct 16 17:26:10 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cpplib.c (cpp_get_token): Replace whitespace that occurs between
|
|||
|
a macro name and the next token with a single blank if that whitespace
|
|||
|
is in a macro buffer and the next token is not '('.
|
|||
|
|
|||
|
Fri Oct 16 15:44:02 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* cccp.c (rescan): Handle multibyte characters ending in backslash.
|
|||
|
(rescan): Likewise.
|
|||
|
(skip_if_group): Likewise.
|
|||
|
(skip_to_end_of_comment): Likewise.
|
|||
|
(macarg1): Likewise.
|
|||
|
(discard_comments): Likewise.
|
|||
|
(change_newlines): Likewise.
|
|||
|
|
|||
|
Fri Oct 16 15:26:24 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c (yylex): Fix unaligned access of wchar_t.
|
|||
|
|
|||
|
Fri Oct 16 10:47:53 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
|
|||
|
(TARGET_OPTIONS): Add --help documentation.
|
|||
|
|
|||
|
Fri Oct 16 11:49:01 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
|
|||
|
|
|||
|
Fri Oct 16 07:08:46 1998 Bruce Korb <korb@datadesign.com>
|
|||
|
|
|||
|
* fixinc/* Moved in from ../contrib directory in preparation
|
|||
|
for integrating it into the normal build process. In particular,
|
|||
|
fixinc/Makefile.in must be config-ed into the build directory
|
|||
|
as fixinc/Makefile. Proposed patches to ./Makefile.in and
|
|||
|
./configure.in will be "in the mail" momentarily.
|
|||
|
|
|||
|
Fri Oct 16 08:13:46 1998 David S. Miller <davem@pierdol.cobaltnet.com>
|
|||
|
|
|||
|
* cse.c (cse_basic_block): Fixup hash flushing loop so we do not
|
|||
|
accidently walk into the free list. Comment how that can happen.
|
|||
|
(invalidate): Fix indentation.
|
|||
|
|
|||
|
Thu Oct 15 23:53:29 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (life_analysis_1): Do not clobber regs_ever_live after
|
|||
|
reload. Never perform rescans of the insn chain after reload.
|
|||
|
(propagate_block): Do not delete insn or create new autoinc addressing
|
|||
|
modes after reload.
|
|||
|
|
|||
|
* jump.c (jump_optimize): Unconditionally use the code that was
|
|||
|
previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
|
|||
|
* reload1.c (reload): When reloading is finished, delete all
|
|||
|
REG_DEAD and REG_UNUSED notes.
|
|||
|
(emit_reload_insns): Delete all code that was conditional on
|
|||
|
PRESERVE_DEATH_INFO_REGNO_P.
|
|||
|
(no_longer_dead_regs): Delete variable.
|
|||
|
(reload_cse_delete_death_notes): Delete function.
|
|||
|
(reload_cse_no_longer_dead): Delete function.
|
|||
|
(reload_cse_regs_1): Delete all code to handle deletion of death
|
|||
|
notes.
|
|||
|
(reload_cse_noop_set_p): Likewise.
|
|||
|
(reload_cse_simplify_set): Likewise.
|
|||
|
(reload_cse_simplify_operands): Likewise.
|
|||
|
(reload_cse_move2add): Likewise.
|
|||
|
* reorg.c (used_spill_regs): Delete declaration.
|
|||
|
(max_label_num_after_reload): Delete declaration.
|
|||
|
(find_dead_or_set_registers): Don't assume that spill regs are
|
|||
|
dead at a CODE_LABEL.
|
|||
|
* rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
|
|||
|
even after reload.
|
|||
|
* sched.c (sched_analyze_insn): Likewise.
|
|||
|
(update_flow_info): Likewise.
|
|||
|
* haifa-sched.c (sched_analyze_insn): Likewise.
|
|||
|
(update_flow_info): Likewise.
|
|||
|
* tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
|
|||
|
* toplev.c (max_label_num_after_reload): Delete variable.
|
|||
|
(rest_of_compilation): Don't set max_label_num_after_reload.
|
|||
|
Call life_analysis after reload_cse_regs if optimizing.
|
|||
|
* config/gmicro/gmicro.h: Delete comment referring to
|
|||
|
PRESERVE_DEATH_INFO_REGNO_P.
|
|||
|
* config/i386/i386.h: Likewise.
|
|||
|
* config/m88k/m88k.h: Likewise.
|
|||
|
* config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
|
|||
|
* config/sh/sh.h: Likewise.
|
|||
|
|
|||
|
Thu Oct 15 19:48:41 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Restore marking bct_p as
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
* rs6000.c (optimization_options): Change #ifdef HAIFA to
|
|||
|
HAVE_decrement_and_branch_on_count.
|
|||
|
(small_data_operand): Remove TARGET_ELF condition for marking
|
|||
|
parameters ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
Thu Oct 15 11:45:51 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
|
|||
|
(SELECT_SECTION): Resync with svr4.h.
|
|||
|
|
|||
|
Thu Oct 15 12:42:13 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* loop.c (strength_reduce): Undo Oct 14 change marking bct_p
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
Thu Oct 15 00:57:55 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* c-pragma.c (handle_pragma_token): Test for null tree before
|
|||
|
dereferencing TREE_CODE.
|
|||
|
|
|||
|
Thu Oct 15 17:36:48 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c: Convert to use GEN_INT.
|
|||
|
(c4x_parallel_process): Rework to handle new repeat loop structure.
|
|||
|
|
|||
|
* config/c4x/c4x.md: Convert to use GEN_INT.
|
|||
|
(rptb_end): Convert to use GE test. Replace uses with clobbers.
|
|||
|
(decrement_and_branch_on_count): Likewise.
|
|||
|
|
|||
|
* config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
|
|||
|
loop.c has the desired functionality.
|
|||
|
(rc_reg_operand): New prototype.
|
|||
|
|
|||
|
* config/c4x/t-c4x: Can now build all front ends.
|
|||
|
|
|||
|
Wed Oct 14 23:27:08 1998 Didier FORT (didier.fort@fedex.com)
|
|||
|
|
|||
|
* fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
|
|||
|
|
|||
|
Wed Oct 14 22:13:28 1998 Joel Sherrill (joel@OARcorp.com)
|
|||
|
|
|||
|
* Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
|
|||
|
* config/t-rtems: Do not install assert.h -- use newlib's.
|
|||
|
|
|||
|
Wed Oct 14 21:57:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* combine.c (combine_instructions): When finished, call init_recog.
|
|||
|
* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
|
|||
|
|
|||
|
Wed Oct 14 16:10:22 1998 Per Bothner <bothner@cygnus.com>
|
|||
|
|
|||
|
* toplev.c: If flag_syntax_only, don't open or write assembler file.
|
|||
|
|
|||
|
Wed Oct 14 13:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cppalloc.c (memory_full): Mark function prototype with
|
|||
|
ATTRIBUTE_NORETURN.
|
|||
|
|
|||
|
* demangle.h (collect_exit): Likewise.
|
|||
|
|
|||
|
* fix-header.c (v_fatal, fatal): Likewise.
|
|||
|
|
|||
|
* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
|
|||
|
Likewise.
|
|||
|
|
|||
|
* gcov.c (print_usage): Likewise.
|
|||
|
|
|||
|
* genattr.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genattrtab.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* gencodes.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genconfig.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genemit.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genextract.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genflags.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genopinit.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genoutput.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genpeep.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* genrecog.c (fatal, fancy_abort): Likewise.
|
|||
|
|
|||
|
* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
|
|||
|
__sjpopnthrow, __throw): Likewise.
|
|||
|
|
|||
|
* objc/objc-act.c (objc_fatal): Likewise.
|
|||
|
|
|||
|
* protoize.c (usage, aux_info_corrupted,
|
|||
|
declare_source_confusing): Likewise.
|
|||
|
|
|||
|
* rtl.c (dump_and_abort): Likewise.
|
|||
|
|
|||
|
* rtl.h (sets_cc0_p): Likewise.
|
|||
|
|
|||
|
* toplev.c (float_signal, pipe_closed): Likewise.
|
|||
|
|
|||
|
1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
|
|||
|
when generating the decision tree for the general case.
|
|||
|
|
|||
|
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
|
|||
|
wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
|
|||
|
|
|||
|
Wed Oct 14 11:14:02 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (sched.o): Depend on recog.h.
|
|||
|
|
|||
|
* alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
|
|||
|
(unsigned) when comparing against one.
|
|||
|
(find_base_value): Likewise.
|
|||
|
(record_base_value): Cast variable `regno' to (unsigned) when
|
|||
|
comparing against one. Cast the result of REGNO() macro to
|
|||
|
(unsigned) when comparing against one.
|
|||
|
(memrefs_conflict_p): Change type of variables `r_x' and `r_y' to
|
|||
|
unsigned.
|
|||
|
(init_alias_analysis): Add unsigned variable `ui'. Use it as loop
|
|||
|
variable where an unsigned index is needed.
|
|||
|
|
|||
|
* caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
|
|||
|
before comparing against one.
|
|||
|
|
|||
|
* collect2.c: Add prototypes for functions `error', `fatal' and
|
|||
|
`fatal_perror'. Make these functions take variable arguments
|
|||
|
instead of faking it with a fixed number of args.
|
|||
|
(write_c_file_stat): Cast the argument of ctype macro to (unsigned
|
|||
|
char).
|
|||
|
|
|||
|
* combine.c (can_combine_p): Mark parameter `pred' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(find_split_point): Cast variable `src' to (unsigned
|
|||
|
HOST_WIDE_INT) when comparing against one.
|
|||
|
(simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
|
|||
|
(simplify_logical): Likewise.
|
|||
|
(force_to_mode): Cast result of INTVAL() macro to (unsigned
|
|||
|
HOST_WIDE_INT) when comparing against one. Cast 1 to (unsigned
|
|||
|
HOST_WIDE_INT) in shift.
|
|||
|
(simplify_and_const_int): Cast result of INTVAL() macro to
|
|||
|
`unsigned HOST_WIDE_INT' when comparing against one.
|
|||
|
(merge_outer_ops): Cast variable const0 to `unsigned
|
|||
|
HOST_WIDE_INT' when comparing against the result of
|
|||
|
GET_MODE_MASK() macro.
|
|||
|
(simplify_comparison): Likewise for variable `c0'. Cast variable
|
|||
|
`const_op' to `unsigned HOST_WIDE_INT' when comparing against
|
|||
|
one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast the
|
|||
|
result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
|
|||
|
against one. Cast `1' to `unsigned HOST_WIDE_INT' in shift. Cast
|
|||
|
result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
|
|||
|
comparing against one.
|
|||
|
(distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
|
|||
|
|
|||
|
config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
|
|||
|
macro to `unsigned HOST_WIDE_INT' when comparing against one.
|
|||
|
(output_block_move): Cast `sizeof' expression to (int) when
|
|||
|
comparing against one.
|
|||
|
(function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
|
|||
|
against one.
|
|||
|
(save_restore_insns): Cast `base_offset' to `long' to match format
|
|||
|
specifier in fprintf.
|
|||
|
|
|||
|
* config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
|
|||
|
to `enum machine_mode'.
|
|||
|
|
|||
|
* flow.c (life_analysis_1): Remove unused variable `insn'.
|
|||
|
|
|||
|
* gcc.c (translate_options): Move variables `j' and `k' into the
|
|||
|
scope in which they are used. Change their types to `size_t'.
|
|||
|
(set_spec): Cast the argument of ctype macro to `unsigned char'.
|
|||
|
(read_specs): Likewise.
|
|||
|
(process_command): Cast `sizeof' to (int) when comparing against one.
|
|||
|
(do_spec_1): Cast the argument of ctype macro to `unsigned char'.
|
|||
|
(handle_braces): Cast both sides of `==' expression to `long' to
|
|||
|
ensure sign matching.
|
|||
|
(main): Cast variable `i' to `int' when comparing against one.
|
|||
|
|
|||
|
* gcov-io.h (__fetch_long): Change type of parameter `bytes' from
|
|||
|
int to size_t. Cast variable `i' to size_t when comparing against
|
|||
|
one.
|
|||
|
|
|||
|
* genattrtab.c (convert_set_attr_alternative): Remove unused
|
|||
|
parameter `insn_code'. All callers changed.
|
|||
|
(convert_set_attr): Likewise.
|
|||
|
|
|||
|
* genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
|
|||
|
size_t when comparing against one. Likewise for variable `len'.
|
|||
|
|
|||
|
* global.c (global_alloc): Cast variable `max_regno' to size_t
|
|||
|
when comparing against one. Likewise for variable `max_allocno'.
|
|||
|
|
|||
|
* jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* local-alloc.c (validate_equiv_mem_from_store): Mark parameter
|
|||
|
`set' with ATTRIBUTE_UNUSED.
|
|||
|
(find_free_reg): Cast `sizeof' expression to (int) when comparing
|
|||
|
against one.
|
|||
|
|
|||
|
* loop.c (count_loop_regs_set): Remove unused variable `dest'.
|
|||
|
(strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
|
|||
|
(get_condition): Cast variable `const_val' to `unsigned
|
|||
|
HOST_WIDE_INT' when comparing against one. Cast unsigned
|
|||
|
expression to HOST_WIDE_INT when comparing against one.
|
|||
|
(insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
|
|||
|
(load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
|
|||
|
`unsigned' when comparing against one.
|
|||
|
|
|||
|
* protoize.c (is_id_char): Change type of parameter `ch' to
|
|||
|
unsigned char.
|
|||
|
(munge_compile_params): Cast argument of ctype macro to (const
|
|||
|
unsigned char).
|
|||
|
(process_aux_info_file): Cast variable `aux_info_size' to int when
|
|||
|
comparing against one.
|
|||
|
(forward_to_next_token_char): Cast argument of ctype macro to
|
|||
|
`const unsigned char'.
|
|||
|
(edit_formals_lists): Likewise.
|
|||
|
(find_rightmost_formals_list): Likewise.
|
|||
|
(add_local_decl): Likewise.
|
|||
|
(add_global_decls): Likewise.
|
|||
|
(edit_fn_definition): Likewise.
|
|||
|
(do_cleaning): Likewise.
|
|||
|
(scan_for_missed_items): Likewise.
|
|||
|
(edit_file): Cast variable `orig_size' to (int) when comparing
|
|||
|
against one.
|
|||
|
(main): Cast argument of ctype macro to `const unsigned char'.
|
|||
|
|
|||
|
* recog.c (const_int_operand): Mark parameter `mode' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* regclass.c (record_reg_classes): Change type of variable `c' to
|
|||
|
`unsigned char'. Cast `char' array index to `unsigned char'.
|
|||
|
|
|||
|
* reload.c (push_secondary_reload): Cast argument to
|
|||
|
REG_CLASS_FROM_LETTER() macro to `unsigned char'.
|
|||
|
|
|||
|
* reload1.c (calculate_needs): Cast `char' array index to
|
|||
|
`unsigned char'.
|
|||
|
(set_label_offsets): Change type of variable `i' to unsigned int.
|
|||
|
Cast result of XVECLEN() macro to unsigned when comparing against
|
|||
|
one.
|
|||
|
(mark_not_eliminable): Change type of variable `i' to unsigned.
|
|||
|
(order_regs_for_reload): Likewise. Cast `max_regno' to unsigned
|
|||
|
when comparing against one.
|
|||
|
(reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
|
|||
|
comparing against one.
|
|||
|
(choose_reload_regs): Hide unused label `fail'.
|
|||
|
(reload_cse_simplify_operands): Cast `char' array index to
|
|||
|
`unsigned char'.
|
|||
|
(reload_combine_note_store): Mark parameter `set' with
|
|||
|
ATTRIBUTE_UNUSED. Cast UNITS_PER_WORD to unsigned when comparing
|
|||
|
against one.
|
|||
|
(reload_cse_move2add): Remove unused variable `src2'.
|
|||
|
|
|||
|
* sched.c: Include recog.h.
|
|||
|
(sched_note_set): Remove unused parameter `b'. All callers
|
|||
|
changed.
|
|||
|
(split_hard_reg_notes): Likewise for parameter `orig_insn'.
|
|||
|
(blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
|
|||
|
when comparing against one.
|
|||
|
|
|||
|
* stupid.c (stupid_find_reg): Mark parameter `changes_size' with
|
|||
|
ATTRIBUTE_UNUSED. Cast `sizeof' expression to (int) when
|
|||
|
comparing against one.
|
|||
|
|
|||
|
* unroll.c (precondition_loop_p): Remove unused parameter
|
|||
|
`loop_end'. All callers changed.
|
|||
|
|
|||
|
Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* reload1.c (maybe_fix_stack_asms): New static function.
|
|||
|
(reload): Call it.
|
|||
|
|
|||
|
* reload.h (compute_use_by_pseudos): Declare.
|
|||
|
|
|||
|
* reload1.c (spilled_pseudos, insns_need_reload): New variables.
|
|||
|
(something_needs_reloads): Delete variable.
|
|||
|
(finish_spills): New function.
|
|||
|
(compute_use_by_pseudos): New function.
|
|||
|
|
|||
|
(delete_caller_save_insns): Lose argument FIRST. All callers changed.
|
|||
|
Use the reload_insn_chain instead of walking the rtl directly.
|
|||
|
|
|||
|
(reload): Allocate and free spilled_pseudos.
|
|||
|
Ensure that all calls of spill_hard_reg are followed by a call to
|
|||
|
finish_spills.
|
|||
|
Use the insns_need_reload list instead of something_needs_reloads
|
|||
|
to find out if reload_as_needed must be called.
|
|||
|
Clear unused_insn_chains at the end.
|
|||
|
|
|||
|
(calculate_needs_all_insns): Lose FIRST parameter. All callers
|
|||
|
changed.
|
|||
|
Delete code to keep track of current basic block.
|
|||
|
Walk reload_insn_chain instead of the rtl structure. Build the
|
|||
|
insns_need_reload chain.
|
|||
|
Remember which insns need reloading/elimination by setting the
|
|||
|
appropriate fields in struct insn_chain, not by putting modes on the
|
|||
|
insn.
|
|||
|
|
|||
|
(calculate_needs): Lose THIS_BLOCK arg. Accept arg CHAIN instead of
|
|||
|
arg INSN. All callers changed.
|
|||
|
Delete declaration of struct needs.
|
|||
|
Don't set something_needs_reloads.
|
|||
|
Record insn needs in the CHAIN argument.
|
|||
|
|
|||
|
(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
|
|||
|
|
|||
|
(reload_as_needed): Lose FIRST arg. All callers changed.
|
|||
|
Walk the reload_insn_chain instead of the rtx structure.
|
|||
|
Delete code to keep track of current basic block.
|
|||
|
Rename one of the NEXT variables to OLD_NEXT.
|
|||
|
|
|||
|
(allocate_reload_reg): Accept arg CHAIN instead of arg INSN. All
|
|||
|
callers changed.
|
|||
|
(choose_reload_regs): Likewise.
|
|||
|
|
|||
|
(emit_reload_insns): Replace INSN and BB args with arg CHAIN. All
|
|||
|
callers changed.
|
|||
|
|
|||
|
* caller-save.c (MOVE_MAX_WORDS): New macro. Use it throughout
|
|||
|
instead of (MOVE_MAX / UNITS_PER_WORD) computation.
|
|||
|
(hard_regs_live, hard_regs_need_restore): Delete variables.
|
|||
|
(n_regs_saved): Now static.
|
|||
|
(referenced_regs, this_insn_sets): New variables.
|
|||
|
|
|||
|
(setup_save_areas): Restructure the code a bit.
|
|||
|
|
|||
|
(restore_referenced_regs): Delete function.
|
|||
|
(mark_referenced_regs): New function, similar to the old
|
|||
|
restore_referenced_regs, but mark registers in referenced_regs.
|
|||
|
|
|||
|
(clear_reg_live): Delete function.
|
|||
|
(mark_set_regs): Renamed from set_reg_live. All callers changed.
|
|||
|
Only mark registers in this_insn_sets.
|
|||
|
|
|||
|
(save_call_clobbered_regs): Rework this function to walk the
|
|||
|
reload_insn_chain instead of using the list of instructions directly.
|
|||
|
Delete code to keep track of register lives, compute live regs on the
|
|||
|
fly from information in the chain.
|
|||
|
Instead of calling restore_referenced_regs, use mark_referenced_regs,
|
|||
|
then walk the set it computes and call insert_restore as appropriate.
|
|||
|
|
|||
|
(insert_restore): Lose INSN and BLOCK args. Add CHAIN arg. All
|
|||
|
callers changed.
|
|||
|
Restructure the code a bit. Test hard_regs_saved instead of
|
|||
|
hard_regs_need_restore.
|
|||
|
(insert_save): Lose INSN and BLOCK args. Add CHAIN and TO_SAVE
|
|||
|
args. All callers changed.
|
|||
|
Restructure the code a bit. Use TO_SAVE to determine which regs to
|
|||
|
save instead of more complicated test.
|
|||
|
(insert_one_arg): Lose INSN and BLOCK args. Add CHAIN arg. All
|
|||
|
callers changed.
|
|||
|
Create a new insn_chain structure for the new insn and place it
|
|||
|
into the chain.
|
|||
|
|
|||
|
* rtl.texi: Update documentation to reflect that reload no longer
|
|||
|
puts modes on the insns.
|
|||
|
|
|||
|
1998-10-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Force the first argument of a
|
|||
|
CALL insn to memory.
|
|||
|
|
|||
|
Wed Oct 14 00:38:40 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* rtl.h: Delete duplicate prototypes. Add some missing
|
|||
|
prototypes.
|
|||
|
* rtlanal.c (for_each_rtx): Formatting tweak.
|
|||
|
|
|||
|
1998-10-13 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* real.c (emdnorm and etoasc): Disable round to even for c4x target
|
|||
|
to be compatible with TI compiler.
|
|||
|
|
|||
|
* Makefile.in (USER_H): Add va-c4x.h to definition.
|
|||
|
|
|||
|
Tue Oct 13 23:03:37 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Fix typo in inequality: do
|
|||
|
bitfield optimization for equal mode sizes.
|
|||
|
* expmed.c (store_bit_field): Don't take subregs of subregs in
|
|||
|
the movstrict case. Tidy a potential problem in the multi-word case.
|
|||
|
(extract_bit_field): Likewise.
|
|||
|
|
|||
|
Tue Oct 13 22:12:11 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* flow.c (find_basic_blocks): Emit NOPs after normal calls in this
|
|||
|
function.
|
|||
|
Compute max_uid_for_flow by calling get_max_uid after the scan.
|
|||
|
(find_basic_blocks_1): Don't emit NOPs here.
|
|||
|
|
|||
|
Tue Oct 13 22:05:49 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alias.c (base_alias_check): Accept new args for the modes of the
|
|||
|
two references. Use them to determine if an AND can overlap. Update
|
|||
|
all callers.
|
|||
|
(memrefs_conflict_p): Assume sizes are aligned, and uses them
|
|||
|
to determine if an AND can overlap.
|
|||
|
|
|||
|
Tue Oct 13 17:51:04 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
|
|||
|
check. Add comment to document problems with TARGET_SUN_FPA version
|
|||
|
of this macro.
|
|||
|
* config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
|
|||
|
|
|||
|
Tue Oct 13 17:46:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (gencheck.o): Depend on gansidecl.h.
|
|||
|
|
|||
|
* c-common.c (print_char_table): Add missing initializers.
|
|||
|
(scan_char_table): Likewise.
|
|||
|
(time_char_table): Likewise.
|
|||
|
|
|||
|
* c-decl.c (c_decode_option): Mark parameter `argc' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(declare_parm_level): Mark parameter `definition_flag' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* c-lex.c (readescape): Use `(unsigned)1' in shift.
|
|||
|
(yylex): Likewise. Cast `sizeof' to an (int) when comparing
|
|||
|
against one.
|
|||
|
|
|||
|
* calls.c (store_one_arg): Remove unused parameter `fndecl'. All
|
|||
|
callers changed.
|
|||
|
(emit_call_1): Mark parameters `fndecl' and `funtype' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(expand_call): Cast result of MIN() to (unsigned int) when
|
|||
|
comparing against an unsigned value.
|
|||
|
|
|||
|
* cccp.c (pcfinclude): Remove unused parameter `limit'. All
|
|||
|
callers changed.
|
|||
|
(make_definition): Remove unused parameter `op'. All callers
|
|||
|
changed.
|
|||
|
(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
|
|||
|
comparing against the result of pointer arithmetic.
|
|||
|
|
|||
|
* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
|
|||
|
when comparing against one.
|
|||
|
|
|||
|
* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
|
|||
|
HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
|
|||
|
one.
|
|||
|
(output_die): Move variable `i' into the scope in which it is
|
|||
|
used. Change its type to `unsigned'.
|
|||
|
(output_die): Cast the result of `strlen' to (int) when passing it
|
|||
|
to ASM_OUTPUT_ASCII().
|
|||
|
(output_pubnames): Likewise.
|
|||
|
(output_line_info): Likewise.
|
|||
|
|
|||
|
* emit-rtl.c (global_rtl): Add missing initializers.
|
|||
|
|
|||
|
* explow.c (promote_mode): Mark parameter `for_call' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
|
|||
|
`unsigned HOST_WIDE_INT' when comparing against one.
|
|||
|
(synth_mult): Change type of variable `cost' to int.
|
|||
|
(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
|
|||
|
|
|||
|
* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
|
|||
|
when comparing against one.
|
|||
|
(get_inner_reference): Change variable `alignment' to unsigned.
|
|||
|
(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
|
|||
|
int) when comparing against one.
|
|||
|
(expand_builtin_setjmp): Change type of variable `i' to size_t.
|
|||
|
|
|||
|
* fold-const.c (div_and_round_double): Cast BASE to
|
|||
|
(HOST_WIDE_INT) when comparing against one.
|
|||
|
|
|||
|
* gencheck.c: Include gansidecl.h.
|
|||
|
(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
|
|||
|
`tcode' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* real.c (edivm): Cast constant value to (unsigned long) in
|
|||
|
expression compared against an unsigned value.
|
|||
|
|
|||
|
* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
|
|||
|
comparing against one.
|
|||
|
(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
|
|||
|
when comparing against one.
|
|||
|
|
|||
|
* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
|
|||
|
(unsigned int) when comparing against one. Likewise for
|
|||
|
GET_MODE_BITSIZE.
|
|||
|
(smallest_mode_for_size): Likewise.
|
|||
|
(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
|
|||
|
(restore_storage_status): Likewise.
|
|||
|
|
|||
|
* toplev.c (debug_args): Add missing initializer.
|
|||
|
(f_options): Spelling correction. Add missing initializers.
|
|||
|
(documented_lang_options): Likewise.
|
|||
|
(debug_end_source_file): Mark parameter `lineno' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* tree.c (valid_machine_attribute): Mark parameters `attr_args',
|
|||
|
`decl' and `type' with ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
|
|||
|
when comparing against one.
|
|||
|
(assemble_variable): Mark parameter `top_level' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(assemble_external_libcall): Mark parameter `fun' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
(output_constant_pool): Mark parameters `fnname' and `fndecl' with
|
|||
|
ATTRIBUTE_UNUSED.
|
|||
|
|
|||
|
Tue Oct 13 12:51:04 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
|
|||
|
Replace use of r5 with use of r19.
|
|||
|
|
|||
|
* config/v850/v850.h (LINK_POINTER_REGNUM): Define.
|
|||
|
|
|||
|
* config/v850/v850.c (compute_register_save_size): Allow for the
|
|||
|
fact that helper functions save all registers, not just those used
|
|||
|
by the function.
|
|||
|
|
|||
|
Replace constant 31 with macro LINK_POINTER_REGNUM.
|
|||
|
|
|||
|
* config/v850/v850.md: Use 'indirect_operand' rather than
|
|||
|
'memory_operand' for bit test/set/clear patterns.
|
|||
|
|
|||
|
Tue Oct 13 11:49:14 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
|
|||
|
* varasm.c (assemble_start_function et al): Don't call
|
|||
|
ASM_GLOBALIZE_LABEL for weak symbols.
|
|||
|
|
|||
|
Tue Oct 13 11:37:45 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* cse.c (equiv_constant): Check for NULL return from
|
|||
|
gen_lowpart_if_possible().
|
|||
|
|
|||
|
Tue Oct 13 11:24:51 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
|
|||
|
|
|||
|
* collect2.c (main): Pass -EL/-EB through to the compiler.
|
|||
|
|
|||
|
1998-10-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* expr.c (push_block): Handle targets where the stack grows
|
|||
|
to higher addresses, but args grow to lower addresses and
|
|||
|
ACCUMULATE_OUTGOING_ARGS is not defined.
|
|||
|
|
|||
|
Tue Oct 13 08:00:52 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/v850/v850.c (print_operand): Extend meaning
|
|||
|
of 'c' operands to support .vtinherit.
|
|||
|
|
|||
|
Tue Oct 13 21:38:35 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* config/c4x/c4x.c: Convert to gen_rtx_FOO.
|
|||
|
Added ATTRIBUTE_UNUSED to unused function arguments.
|
|||
|
(rc_reg_operand): New predicate.
|
|||
|
(c4x_rptb_insert): New function.
|
|||
|
(c4x_rptb_nop_p): Recognize modified rptb_top pattern.
|
|||
|
(c4x_optimization_options): New function.
|
|||
|
|
|||
|
* config/c4x/c4x.md: Convert to gen_rtx_FOO.
|
|||
|
(decrement_and_branch_on_count): New pattern.
|
|||
|
(rptb_top): Modified pattern to work with BCT optimization.
|
|||
|
|
|||
|
* config/c4x/c4x.h (RC_REG): New register class.
|
|||
|
(rc_reg_operand): Define prototype.
|
|||
|
(IS_RC_REG): New macro.
|
|||
|
(IS_RC_OR_PSEUDO_REG): New macro.
|
|||
|
(IS_RC_OR_PSEUDO_REGNO): New macro.
|
|||
|
(OPTIMIZATION_OPTIONS): Define.
|
|||
|
|
|||
|
Mon Oct 12 19:57:34 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* collect2.c (extract_init_priority): No priority is 65535.
|
|||
|
|
|||
|
Mon Oct 12 12:10:37 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* Makefile.in (build_tooldir): New variable, same as old
|
|||
|
$(tooldir), but without depending on $(libdir)/$(unlibsubdir).
|
|||
|
(GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
|
|||
|
(bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
|
|||
|
|
|||
|
* configure.in (gxx_include_dir): Set default based on unlibsubdir.
|
|||
|
* Makefile.in (tooldir): Likewise.
|
|||
|
(cccp.o, cpplib.o): Use unlibsubdir implicitly through
|
|||
|
gxx_include_dir, includedir and tooldir.
|
|||
|
(protoize.o, unprotoize.o): Likewise.
|
|||
|
|
|||
|
Mon Oct 12 10:50:44 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
|
|||
|
|
|||
|
* config/arm/thumb.c (thumb_override_options): Add warning about
|
|||
|
PIC code not being supported just yet.
|
|||
|
|
|||
|
Sun Oct 11 16:49:15 1998 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* flow.c: Update comment.
|
|||
|
(notice_stack_pointer_modification): New static function.
|
|||
|
(record_volatile_insns): Use it.
|
|||
|
(mark_regs_live_at_end): Mark the stack pointer as alive
|
|||
|
at the end of the function if current_function_sp_is_unchanging
|
|||
|
is set.
|
|||
|
(life_analysis_1): Set current_function_sp_is_unchanging.
|
|||
|
* function.c: Define it.
|
|||
|
(init_function_start): Initialize it.
|
|||
|
* output.h: Declare it.
|
|||
|
* reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
|
|||
|
the stack pointer as alive at the end of the function if
|
|||
|
current_function_sp_is_unchanging is set.
|
|||
|
* i386.c (ix86_epilogue): Optimize the restoring
|
|||
|
of the stack pointer.
|
|||
|
|
|||
|
Mon Oct 12 01:22:53 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Oct 11 23:04:30 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* c-pragma.c (handle_pragma_token): If passed a token instead
|
|||
|
of a tree, use that as the pack value.
|
|||
|
|
|||
|
Sun Oct 11 14:21:14 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* flow.c (find_basic_blocks_1): Fix prototype.
|
|||
|
|
|||
|
Sun Oct 11 05:03:41 1998 Ken Raeburn <raeburn@cygnus.com>
|
|||
|
|
|||
|
* tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
|
|||
|
(struct tree_decl): New fields no_check_memory_usage.
|
|||
|
* c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
|
|||
|
(init_attributes): Register it as a new attribute.
|
|||
|
(decl_attributes): Set flags on functions given that attribute.
|
|||
|
* c-decl.c (duplicate_decls): Merge new attribute.
|
|||
|
* expr.h (current_function_check_memory_usage): Declare new var.
|
|||
|
* calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
|
|||
|
pa.c, sparc.c: Replace uses of flag_check_memory_usage with
|
|||
|
current_function_check_memory_usage.
|
|||
|
* function.h: Add field to struct function.
|
|||
|
* function.c (current_function_check_memory_usage): Define it.
|
|||
|
(push_function_context_to, pop_function_context_from): Save and
|
|||
|
restore it.
|
|||
|
(expand_function_start): Set it, based on global flag and function
|
|||
|
attribute.
|
|||
|
|
|||
|
* expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
|
|||
|
check non-automatic variables, to permit detection of writes to
|
|||
|
read-only locations in embedded systems without memory management.
|
|||
|
* calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
|
|||
|
when emitting chkr_set_right_libfunc call, even if the argument is
|
|||
|
BLKmode or variable-sized; don't abort.
|
|||
|
|
|||
|
* optabs.c (init_optabs): Create Checker and __cyg_profile_*
|
|||
|
symbols in Pmode, not VOIDmode.
|
|||
|
|
|||
|
Sun Oct 11 01:03:05 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cppexp.c: When forcing unsigned comparisons, cast both sides
|
|||
|
of the operation.
|
|||
|
|
|||
|
* cpphash.h: Move static declaration of hashtab[]...
|
|||
|
* cpphash.c: ...here.
|
|||
|
|
|||
|
* cpplib.c: Cast difference of two pointers to size_t before
|
|||
|
comparing it to size_t. Cast signed to unsigned
|
|||
|
before comparing to size_t. (FIXME: struct argdata should use
|
|||
|
unsigned buffer sizes.)
|
|||
|
* cpplib.h (struct cpp_reader): Declare token_buffer_size as
|
|||
|
unsigned int. (CPP_WRITTEN): Cast return value to size_t.
|
|||
|
(CPP_RESERVE): Parenthesize N for evaluation order, cast to
|
|||
|
size_t before comparison.
|
|||
|
|
|||
|
Sun Oct 11 00:15:29 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
|
|||
|
(find_basic_blocks_1): Similarly.
|
|||
|
* output.h (find_basic_blocks): Fix prototype.
|
|||
|
* gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
|
|||
|
find_basic_blocks anymore.
|
|||
|
|
|||
|
Sat Oct 10 22:00:34 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
|
|||
|
(sbitmap_free, sbitmap_vector_free): New macros.
|
|||
|
* output.h (rtl_dump_file): Declare.
|
|||
|
|
|||
|
Sat Oct 10 17:01:42 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
|
|||
|
|
|||
|
Fri Oct 9 22:08:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* fp-bit.c (SFtype): Don't implicitly use int in declaration.
|
|||
|
(DFtype): Likewise.
|
|||
|
(_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
|
|||
|
(divide): Remove unused variable `tmp'.
|
|||
|
(si_to_float): Cast numeric constant to (SItype) before comparing
|
|||
|
it against one.
|
|||
|
|
|||
|
Fri Oct 9 16:03:19 1998 Graham <grahams@rcp.co.uk>
|
|||
|
|
|||
|
* flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
|
|||
|
* gcc.c (add_preprocessor_option): Correct typo when allocating
|
|||
|
memory, sizeof() argument had one too many `*'.
|
|||
|
(add_assembler_option): Likewise.
|
|||
|
(add_linker_option): Likewise.
|
|||
|
* gcov.c (output_data): Likewise.
|
|||
|
* local-alloc.c (memref_used_between_p): Likewise.
|
|||
|
(update_equiv_regs): Likewise.
|
|||
|
* loop.c (strength_reduce): Likewise.
|
|||
|
* reg-stack.c (record_asm_reg_life): Likewise.
|
|||
|
(subst_asm_stack_reg): Likewise.
|
|||
|
* reorg.c (dbr_schedule): Likewise.
|
|||
|
|
|||
|
Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* flow.c (life_analysis_1): Break out some functions.
|
|||
|
(find_basic_blocks_1): Likewise. Also move some variables out and
|
|||
|
make them static.
|
|||
|
Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
|
|||
|
new static var nonlocal_label_list with it.
|
|||
|
(active_eh_region, nested_eh_region, label_value_list,
|
|||
|
nonlocal_label_list): New static variables.
|
|||
|
(make_edges, delete_unreachable_blocks, delete_block): New static
|
|||
|
functions, broken out of find_basic_blocks_1.
|
|||
|
(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
|
|||
|
noop_move_p): New static functions, broken out of life_analysis_1.
|
|||
|
|
|||
|
Fri Oct 9 15:49:29 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
|
|||
|
Take extra care for op0 now possibly being a subreg.
|
|||
|
(extract_bit_field): Likewise.
|
|||
|
* function.c (purge_addressof_1): Revert Oct 4 change. Drop
|
|||
|
the reg to memory if there is no equal sized integral mode.
|
|||
|
* stor-layout.c (int_mode_for_mode): New function.
|
|||
|
* machmode.h: Prototype it.
|
|||
|
|
|||
|
Fri Oct 9 14:26:44 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* global.c (build_insn_chain): Verify no real insns exist past the
|
|||
|
end of the last basic block, then exit the loop.
|
|||
|
|
|||
|
Fri Oct 9 11:44:47 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* loop.c (insert_bct): Ensure loop_iteration_var non-zero before use.
|
|||
|
|
|||
|
Thu Oct 8 21:59:47 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
|
|||
|
|
|||
|
Thu Oct 8 22:03:45 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
|
|||
|
|
|||
|
Thu Oct 8 17:00:18 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (find_basic_blocks): Correctly determine when a call
|
|||
|
is within an exception region.
|
|||
|
|
|||
|
Thu Oct 8 17:15:04 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
|
|||
|
|
|||
|
* cpplib.h: Protect from multiple inclusions.
|
|||
|
* cpplib.c: Fix minor formatting problems.
|
|||
|
|
|||
|
* i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
|
|||
|
|
|||
|
* jump.c (jump_optimize): Revert accidental patch.
|
|||
|
|
|||
|
* Makefile.in (cpplib.o): Use unlibsubdir.
|
|||
|
|
|||
|
Thu Oct 8 12:50:47 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* loop.c (get_condition): Allow combine when either compare is
|
|||
|
VOIDmode.
|
|||
|
|
|||
|
Thu Oct 8 11:31:01 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Thu Oct 8 12:21:14 1998 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
|||
|
|
|||
|
* c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
|
|||
|
(init_lex): Initialize ridpointers[RID_BYREF].
|
|||
|
* c-lex.h (enum rid): Add RID_BYREF.
|
|||
|
* c-parse.gperf: Add RID_BYREF as a type qualifier.
|
|||
|
* objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
|
|||
|
(encode_type_qualifiers): Similarly.
|
|||
|
* c-gperf.h: Rebuilt.
|
|||
|
|
|||
|
Thu Oct 8 05:56:00 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* c-common.c (type_for_mode): Only return TItype nodes when
|
|||
|
HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
|||
|
* c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
|
|||
|
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
|||
|
(init_decl_processing): Only create TItype nodes when
|
|||
|
HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
|||
|
* c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
|
|||
|
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
|
|||
|
|
|||
|
Thu Oct 8 05:05:34 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* stmt.c (n_occurrences): New static function.
|
|||
|
(expand_asm_operands): Verify that all constrains match in the
|
|||
|
number of alternatives.
|
|||
|
Verify that '+' or '=' are at the beginning of an output constraint.
|
|||
|
Don't allow '&' for input operands.
|
|||
|
Verify that '%' isn't written for the last operand.
|
|||
|
* reload.c (find_reloads): Abort if an asm is found with invalid
|
|||
|
constraints; all possible problems ought to be checked for earlier.
|
|||
|
|
|||
|
Thu Oct 8 04:26:20 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* flags.h (flag_branch_on_count_reg): Always declare.
|
|||
|
* toplev.c (flag_branch_on_count_reg): Likewise.
|
|||
|
* toplev.c: Fix typos.
|
|||
|
|
|||
|
* real.c (c4xtoe): Remove unused variables. Add some missing parens.
|
|||
|
(toc4x): Similarly.
|
|||
|
|
|||
|
Thu Oct 8 01:25:22 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (find_basic_blocks): Calc upper bound for extra nops in
|
|||
|
max_uids_for_flow.
|
|||
|
(find_basic_blocks_1): Add a nop to the end of a basic block when
|
|||
|
a trailing call insn does not have abnormal control flow.
|
|||
|
* gcse.c (pre_transpout): New variable.
|
|||
|
(alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
|
|||
|
(compute_pre_transpout): Calculate it.
|
|||
|
(compute_pre_ppinout): Use it to eliminate impossible placements
|
|||
|
due to abnormal control flow through calls.
|
|||
|
(compute_pre_data): Call compute_pre_transpout.
|
|||
|
|
|||
|
Wed Oct 7 21:40:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
|
|||
|
|
|||
|
Wed Oct 7 21:19:46 1998 Ken Raeburn <raeburn@cygnus.com>
|
|||
|
|
|||
|
* config/mips/mips.md (tablejump_internal3, tablejump_internal4
|
|||
|
and matching define_insns): Tack on a `use' of the table label, so
|
|||
|
flow analysis will recognize a tablejump.
|
|||
|
|
|||
|
Wed Oct 7 17:33:39 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* gcse.c (pre_insert_insn): Tweek to notice that calls do not
|
|||
|
always end basic blocks for abnormal edge reasons.
|
|||
|
|
|||
|
Wed Oct 7 14:40:43 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/i386/i386.h: Remove definition of
|
|||
|
HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
|
|||
|
* config/i386/go32.h: Add definition of
|
|||
|
HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
|
|||
|
* config/i386/win32.h: Add definition of
|
|||
|
HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
|
|||
|
* config/i386/cygwin32.h: Add definition of
|
|||
|
HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
|
|||
|
* c-pragma.c (insert_pack_attributes): Do not insert
|
|||
|
attributes unless #pragma pack(push,<n>) is in effect.
|
|||
|
|
|||
|
Wed Oct 7 12:10:46 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* expr.c (emit_group_store): Handle a PARALLEL destination.
|
|||
|
|
|||
|
Wed Oct 7 10:07:29 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* gcse.c (pre_insert_insn): When a call ends a bb, insert
|
|||
|
the new insns before the argument regs are loaded.
|
|||
|
|
|||
|
Wed Oct 7 12:55:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
|
|||
|
(c-parse.gperf): Update comments describing invocation flags.
|
|||
|
(c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
|
|||
|
|
|||
|
1998-10-07 Manfred Hollstein <manfred@s-direktnet.de>
|
|||
|
|
|||
|
* reload1.c (reload): Call free before clobbering the memory
|
|||
|
locations or constants pointers.
|
|||
|
|
|||
|
Wed Oct 7 02:05:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
|
|||
|
for efficiency by checking whether we need to modify the current
|
|||
|
stack permission at all.
|
|||
|
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
|
|||
|
* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
|
|||
|
__enable_execute_stack libcall here too if
|
|||
|
TRANSFER_FROM_TRAMPOLINE is defined.
|
|||
|
* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
|
|||
|
IN_LIBGCC2.
|
|||
|
|
|||
|
Wed Oct 7 02:27:52 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Makefile.in (DRIVER_DEFINES): Remove last change.
|
|||
|
|
|||
|
Wed Oct 7 01:08:43 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
|
|||
|
insns we're going to copy.
|
|||
|
* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
|
|||
|
|
|||
|
* loop.c (count_one_set): Add prototype.
|
|||
|
|
|||
|
* caller-save.c (restore_referenced_regs): Lose mode argument.
|
|||
|
(insert_save): Lose mode argument.
|
|||
|
(insert_restore): Lose mode argument.
|
|||
|
(insert_one_insn): Lose mode argument.
|
|||
|
(save_call_clobbered_regs): Lose mode argument.
|
|||
|
(setup_save_areas): Take no argument and return void. All callers
|
|||
|
changed.
|
|||
|
Don't verify validity of memory addresses.
|
|||
|
* reload.h (setup_save_ares): Adjust prototype.
|
|||
|
(save_call_clobbered_regs): Likewise.
|
|||
|
* reload1.c (delete_caller_save_insns): New function.
|
|||
|
(caller_save_spill_class): Delete variable.
|
|||
|
(caller_save_group_size): Delete variable.
|
|||
|
(reload): Call setup_save_areas and save_call_clobbered_regs
|
|||
|
in the main loop, before calling calculate_needs_all_insns.
|
|||
|
Don't call save_call_clobbered_regs after the loop.
|
|||
|
Call delete_caller_save_insns at the end of an iteration if
|
|||
|
something changed.
|
|||
|
Delete code to manage caller_save_spill_class.
|
|||
|
Emit the final note before setting reload_first_uid.
|
|||
|
Simplify test that determines whether reload_as_needed gets run.
|
|||
|
(calculate_needs): Delete code to manage caller_save_spill_class.
|
|||
|
|
|||
|
Tue Oct 6 15:42:27 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* collect2.c (main): Initialize ld_file_name.
|
|||
|
|
|||
|
Tue Oct 6 15:45:15 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
|
|||
|
check for flag_function_sections.
|
|||
|
|
|||
|
Tue Oct 6 20:02:31 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* cse.c (insert_regs): Fix bug in Sep 24 change.
|
|||
|
|
|||
|
Tue Oct 6 17:00:42 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* flags.h (flag_dump_unnumbered): Declare.
|
|||
|
* toplev.c (flag_dump_unnumbered): Don't declare.
|
|||
|
* print-rtl.c (flags.h): Include.
|
|||
|
(print_rtl_single): Add return value.
|
|||
|
* rtl.h (print_rtl_single): Update declaration.
|
|||
|
* flow.c (flag_dump_unnumbered): Don't declare.
|
|||
|
(print_rtl_with_bb): Use return value of print_rtl_single.
|
|||
|
|
|||
|
Tue Oct 6 01:36:00 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* loop.c (count_one_set): New static function, broken out of
|
|||
|
count_loop_regs_set.
|
|||
|
(count_loop_regs_set): Call it.
|
|||
|
* global.c (mark_reg_store): Handle clobbers here by not calling
|
|||
|
set_preference.
|
|||
|
(mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
|
|||
|
is in fact a clobber.
|
|||
|
* integrate.c (process_reg_param): New function, broken out of
|
|||
|
expand_inline_function.
|
|||
|
(expand_inline_function): Call it.
|
|||
|
|
|||
|
* i386.md (addsidi3_1): Delete unused variable temp.
|
|||
|
(addsidi3_2): Likewise.
|
|||
|
(clstrstrsi): Delete unused variable addr1.
|
|||
|
|
|||
|
* rtl.h: Don't declare any functions also declared in recog.h.
|
|||
|
|
|||
|
* Makefile.in (stupid.o): Update dependencies.
|
|||
|
(global.o): Likewise.
|
|||
|
|
|||
|
* global.c: Include reload.h.
|
|||
|
(reg_becomes_live): New function.
|
|||
|
(reg_dies): New function.
|
|||
|
(build_insn_chain): New function.
|
|||
|
(global_alloc): Call build_insn_chain before calling reload.
|
|||
|
|
|||
|
* reload.h (struct needs): New structure definition.
|
|||
|
(struct insn_chain): Likewise.
|
|||
|
(reload_insn_chain): Declare variable.
|
|||
|
(new_insn_chain): Declare function.
|
|||
|
|
|||
|
* reload1.c (reload_startobj): New variable.
|
|||
|
(reload_insn_chain): New variable.
|
|||
|
(unused_insn_chains): New variable.
|
|||
|
(new_insn_chain): New function.
|
|||
|
(init_reload): Initialize reload_startobj, not reload_firstobj.
|
|||
|
(reload): Initialize reload_firstobj.
|
|||
|
Before returning, free everything on the reload_obstack.
|
|||
|
|
|||
|
* stupid.c: Include insn-config.h, reload.h and basic-block.h.
|
|||
|
(reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
|
|||
|
current_chain): New variables.
|
|||
|
(reg_where_born): Delete variable.
|
|||
|
(REG_WHERE_BORN): New macro.
|
|||
|
(find_clobbered_regs): New function.
|
|||
|
(stupid_life_analysis): Don't allocate/free reg_where_born.
|
|||
|
Allocate and free reg_where_born_exact, reg_where_born_clobber,
|
|||
|
reg_where_dead_chain.
|
|||
|
Use REG_WHERE_BORN instead of reg_where_born.
|
|||
|
While processing the insns, build the reload_insn_chain with
|
|||
|
information about register lifetimes.
|
|||
|
(stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
|
|||
|
(stupid_mark_refs): Replace arg INSN with arg CHAIN. All callers
|
|||
|
changed.
|
|||
|
Compute and information about birth and death of pseudo registers in
|
|||
|
reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
|
|||
|
Delete code to set elements of reg_where_born.
|
|||
|
|
|||
|
Mon Oct 5 22:34:30 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
|||
|
|
|||
|
* tree.def (GOTO_EXPR): Modified documentation.
|
|||
|
* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
|
|||
|
goto.
|
|||
|
|
|||
|
Mon Oct 5 22:43:36 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* unroll.c (loop_iteration_var, loop_initial_value, loop_increment
|
|||
|
loop_final_value, loop_comparison_code): No longer static.
|
|||
|
(unroll_loop): Delete loop_start_value update.
|
|||
|
* loop.h (loop_iteration_var, loop_initial_value, loop_increment,
|
|||
|
loop_final_value, loop_comparison_code): Extern.
|
|||
|
(loop_start_value): Delete extern.
|
|||
|
* loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
|
|||
|
loop_comparison_value, loop_comparison_code): Delete.
|
|||
|
(loop_optimize): Remove initialization for deleted variables.
|
|||
|
(strength_reduce): Delete analyze_loop_iterations call. Only call
|
|||
|
insert_bct if flag_branch_count_on_reg set.
|
|||
|
(analyze_loop_iterations): Delete.
|
|||
|
(insert_bct): Remove iteration count calculation. Move checks for
|
|||
|
viable BCT optimization to here. Obtain iteration count from
|
|||
|
loop_iterations and correct for unrolling. Check for enough
|
|||
|
iteration to be beneficial. Comment out runtime iteration count
|
|||
|
case.
|
|||
|
(insert_bct): Print iteration count in dump file. Remove
|
|||
|
loop_var_mode and use word_mode directly.
|
|||
|
|
|||
|
* rs6000.h (processor_type): Add PROCESSOR_PPC604e.
|
|||
|
* rs6000.c (rs6000_override_options): Use it.
|
|||
|
(optimization_options): Enable use of flag_branch_on_count_reg.
|
|||
|
* rs6000.md (define_function_unit): Describe 604e.
|
|||
|
|
|||
|
1998-10-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* loop.c (move_movables): Corrected threshold calculation for
|
|||
|
moved_once registers.
|
|||
|
|
|||
|
Mon Oct 5 21:18:45 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* loop.c (combine_givs_p): Fix test for identical givs.
|
|||
|
|
|||
|
Mon Oct 5 10:11:28 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
|
|||
|
call abort if the function is already defined.
|
|||
|
|
|||
|
Mon Oct 5 10:02:36 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
|
|||
|
truncation is not a no-op.
|
|||
|
|
|||
|
Mon Oct 5 09:02:04 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Oct 5 08:19:55 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Oct 5 01:07:23 1998 Torbjorn Granlund <tege@matematik.su.se>
|
|||
|
|
|||
|
* expmed.c (expand_divmod): Don't widen for computing remainder
|
|||
|
if we seem to have a divmod pattern for needed mode.
|
|||
|
|
|||
|
Mon Oct 5 01:01:42 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (macroexpand): Correct off-by-one error in handling
|
|||
|
of escapes.
|
|||
|
|
|||
|
Sun Oct 4 23:58:30 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* combine.c (expand_field_assignment): Don't do bitwise operations
|
|||
|
on MODE_FLOAT; pun to MODE_INT if possible.
|
|||
|
|
|||
|
Sun Oct 4 18:33:24 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
scott snyder <snyder@d0sgif.fnal.gov>
|
|||
|
|
|||
|
* tlink.c (scan_linker_output): Recognize errors from irix 6.2
|
|||
|
linker. Recognize mangled names in quotes.
|
|||
|
|
|||
|
Sun Oct 4 02:58:20 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
|
|||
|
(ashlsi3_const1, ashldi3_const1): New combiner patterns.
|
|||
|
(ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
|
|||
|
(lshrsi3_extend, lshrsi3_extend2): Likewise.
|
|||
|
|
|||
|
Sun Oct 4 00:23:00 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): If trying to take a sub-word
|
|||
|
integral piece of a floating point mode, put it on the stack.
|
|||
|
|
|||
|
Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
|
|||
|
|
|||
|
Sat Oct 3 14:42:19 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* PROJECTS: Remove template friends.
|
|||
|
|
|||
|
* collect2.c (sort_ids): Remove unused variable.
|
|||
|
|
|||
|
* tm.texi (MATH_LIBRARY): Document.
|
|||
|
(NEED_MATH_LIBRARY): Remove.
|
|||
|
|
|||
|
* varasm.c (assemble_start_function, assemble_variable, weak_finish,
|
|||
|
assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
|
|||
|
|
|||
|
Sat Oct 3 16:14:44 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
|
|||
|
last_end to 0x7fffffff.
|
|||
|
|
|||
|
Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Do not perform endianness
|
|||
|
corrections on bitpos, who we call will do it for us.
|
|||
|
|
|||
|
Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* h8300.c (WORD_REG_USED): Fix typo.
|
|||
|
(initial_offset): Use WORD_REG_USED.
|
|||
|
|
|||
|
* h8300.c (handle_pragma): Fix typo.
|
|||
|
|
|||
|
Fri Oct 2 10:51:35 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* caller-save.c (insert_save_restore): Break this function up
|
|||
|
into new functions insert_restore, insert_save and insert_one_insn.
|
|||
|
All callers changed.
|
|||
|
(insert_restore): New function, mostly broken out of
|
|||
|
insert_save_restore.
|
|||
|
(insert_save): Likewise.
|
|||
|
(insert_one_insn): Likewise.
|
|||
|
(restore_referenced_regs): New argument BLOCK. All callers changed.
|
|||
|
(save_call_clobbered_regs): Don't keep track of basic block boundaries
|
|||
|
in this function, do it in insert_one_insn instead.
|
|||
|
|
|||
|
* reload1.c (reload): Break out some more pieces into separate
|
|||
|
functions.
|
|||
|
(dump_needs): New function, broken out of reload.
|
|||
|
(set_initial_elim_offsets): Likewise.
|
|||
|
(init_elim_table): Likewise.
|
|||
|
(update_eliminables): Likewise.
|
|||
|
|
|||
|
* global.c (global_alloc): Delete code to manage the scratch_list.
|
|||
|
* local-alloc.c (qty_scratch_rtx): Delete.
|
|||
|
(scratch_block): Delete.
|
|||
|
(scratch_list): Delete.
|
|||
|
(scratch_list_length): Delete.
|
|||
|
(scratch_index): Delete.
|
|||
|
(alloc_qty_for_scratch): Delete.
|
|||
|
(local-alloc): Update initialization of max_qty.
|
|||
|
Delete code to manage the scratch list.
|
|||
|
Delete code to allocate/initialize qty_scratch_rtx.
|
|||
|
(block_alloc): Don't allocate quantities for scratches.
|
|||
|
Delete code to manage the scratch list.
|
|||
|
* regs.h (scratch_list): Delete declaration.
|
|||
|
(scratch_block): Delete declaration.
|
|||
|
(scratch_list_length): Delete declaration.
|
|||
|
* reload1.c (reload): Delete code to manage the scratch list.
|
|||
|
(spill_hard_reg): Likewise.
|
|||
|
(mark_scratch_live): Delete.
|
|||
|
|
|||
|
* recog.c (alter_subreg): Delete declaration.
|
|||
|
|
|||
|
1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
|||
|
|
|||
|
* Makefile.in (cccp.o): Fix typo in last patch.
|
|||
|
|
|||
|
Fri Oct 2 16:13:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* t-sh (LIB1ASMFUNCS): Add _set_fpscr .
|
|||
|
* config/sh/lib1funcs.asm (___set_fpscr): Add.
|
|||
|
|
|||
|
Fri Oct 2 02:01:59 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* regclass.c (reg_scan_mark_refs): Return immediately if passed a
|
|||
|
NULL_RTX as an argument.
|
|||
|
|
|||
|
* Makefile.in (unlibsubdir): Define.
|
|||
|
(DRIVER_DEFINES): Use unlibsubdir.
|
|||
|
(cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
|
|||
|
(stmp-fixinc): Similarly.
|
|||
|
|
|||
|
Thu Oct 1 19:58:30 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
|
|||
|
|
|||
|
* regmove.c (regmove_optimize): Add variable old_max_uid.
|
|||
|
At the end of the function, update basic_block_end.
|
|||
|
|
|||
|
Thu Oct 1 17:58:25 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* dwarf2out.c (expand_builtin_dwarf_reg_size): Use
|
|||
|
FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
|
|||
|
arbitrary constant.
|
|||
|
|
|||
|
Thu Oct 1 17:57:14 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.c: Improve interworking support.
|
|||
|
|
|||
|
Thu Oct 1 18:43:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
|
|||
|
copied from reload_out[r] .
|
|||
|
|
|||
|
Thu Oct 1 19:20:09 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
|
|||
|
with more than three size ranges.
|
|||
|
|
|||
|
* flow.c (sbitmap_copy): Use bcopy to copy bitmap.
|
|||
|
|
|||
|
* rtl.c (mode_name): Add a null string at the end of the array.
|
|||
|
(mode_wider_mode): Change type to unsigned char.
|
|||
|
(mode_mask_array): New variable.
|
|||
|
(init_rtl): Update for mode_wider_mode type change.
|
|||
|
|
|||
|
* rtl.h (mode_wider_mode): Change type to unsigned char.
|
|||
|
(mode_mask_array): Declare.
|
|||
|
(GET_MODE_MASK): Use mode_mask_array.
|
|||
|
|
|||
|
Thu Oct 1 15:56:01 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* calls.c (expand_call) : Encapsulate code into
|
|||
|
copy_blkmode_from_reg.
|
|||
|
* expr.c (copy_blkmode_from_reg): New function.
|
|||
|
* expr.h (copy_blkmode_from_reg): New function.
|
|||
|
* integrate.c (function_cannot_inline_p): We can inline
|
|||
|
these now.
|
|||
|
(expand_inline_function): Use copy_blkmode_from_reg
|
|||
|
if needed. Avoid creating BLKmode REGs.
|
|||
|
(copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
|
|||
|
object.
|
|||
|
|
|||
|
Thu Oct 1 10:42:27 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/v850/v850.c: Add function prototypes.
|
|||
|
Add support for v850 special data areas.
|
|||
|
|
|||
|
* config/v850/v850.h: Add support for v850 special data areas.
|
|||
|
|
|||
|
* c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
|
|||
|
HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
(push_alignment): New function: Cache an alignment requested
|
|||
|
by a #pragma pack(push,<n>).
|
|||
|
(pop_alignment): New function: Pop an alignment from the
|
|||
|
alignment stack.
|
|||
|
(insert_pack_attributes): New function: Generate __packed__
|
|||
|
and __aligned__ attributes for new decls whilst a #pragma pack
|
|||
|
is in effect.
|
|||
|
(add_weak): New function: Cache a #pragma weak directive.
|
|||
|
(handle_pragma_token): Document calling conventions. Add
|
|||
|
support for #pragma pack(push,<n>) and #pragma pack (pop).
|
|||
|
|
|||
|
* c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
|
|||
|
are defined enable HANDLE_PRAGMA_PACK.
|
|||
|
Move 'struct weak_syms' here (from varasm.c).
|
|||
|
Add pragma states for push and pop pragmas.
|
|||
|
|
|||
|
* c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
|
|||
|
if it is defined.
|
|||
|
|
|||
|
* c-lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with
|
|||
|
HANDLE_GENERIC_PRAGMAS.
|
|||
|
|
|||
|
* varasm.c: Move definition of 'struct weak_syms' into
|
|||
|
c-pragma.h.
|
|||
|
(handle_pragma_weak): Deleted.
|
|||
|
|
|||
|
* config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
|
|||
|
* config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
|
|||
|
|
|||
|
* c-decl.c (start_function): Add invocation of
|
|||
|
SET_DEFAULT_DECL_ATTRIBUTES, if defined.
|
|||
|
|
|||
|
* tm.texi: Remove description of non-existent macro
|
|||
|
SET_DEFAULT_SECTION_NAME.
|
|||
|
|
|||
|
(HANDLE_SYSV_PRAGMA): Document.
|
|||
|
(HANDLE_PRAGMA_PACK_PUSH_POP): Document.
|
|||
|
|
|||
|
Wed Sep 30 22:27:53 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* config.sub: Recognize i[34567]86-pc-udk as new target.
|
|||
|
* configure.in: Likewise.
|
|||
|
* config/i386/t-udk: New file.
|
|||
|
* config/i386/udk.h: New file.
|
|||
|
|
|||
|
Wed Sep 30 19:33:07 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reorg.c (check_annul_list_true_false): Remove unused variables.
|
|||
|
(steal_delay_list_from_target): Add missing "used_annul" variable.
|
|||
|
(try_merge_delay_insns): Close out half formed comment.
|
|||
|
|
|||
|
Wed Sep 30 19:13:20 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* cpplib.c (macroexpand): If arg->raw_before or
|
|||
|
arg->raw_after, remove any no-reexpansion escape at the
|
|||
|
beginning of the pasted token. Correct handling of whitespace
|
|||
|
markers and no-reexpand markers at the end if arg->raw_after.
|
|||
|
|
|||
|
* toplev.c (documented_lang_options): Recognize -include,
|
|||
|
-imacros, -iwithprefix, -iwithprefixbefore.
|
|||
|
* cpplib.c (cpp_start_read): Process -imacros and -include
|
|||
|
switches at the same time and in command-line order, after
|
|||
|
initializing the dependency-output code. Emit properly nested
|
|||
|
#line directives for them. Emit a #line for the main file
|
|||
|
before processing these switches, and don't do it again
|
|||
|
afterward.
|
|||
|
|
|||
|
Wed Sep 30 18:03:22 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* function.c (purge_addressof_1): Use bitfield manipulation
|
|||
|
routines to handle mem mode < reg mode.
|
|||
|
|
|||
|
Wed Sep 30 18:43:32 1998 Herman ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
|||
|
|
|||
|
* reorg.c (try_merge_delay_insns): Account for resources referenced
|
|||
|
in each instruction in INSN's delay list before trying to eliminate
|
|||
|
useless instructions. Similarly when looking at a trial insn's delay
|
|||
|
slots.
|
|||
|
|
|||
|
* reorg.c (check_annul_list_true_false): New function.
|
|||
|
(steal_delay_list_from_{target,fallthrough}): Call it and also
|
|||
|
refine tests for when we may annul if already filled a slot.
|
|||
|
(fill_slots_from_thread): Likewise.
|
|||
|
(delete_from_delay_slot): Return newly-created thread.
|
|||
|
(try_merge_delay_isns): Use its new return value.
|
|||
|
|
|||
|
Wed Sep 30 18:29:26 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
|
|||
|
used to compute a giv or as some other non-counting use.
|
|||
|
|
|||
|
Wed Sep 30 18:19:27 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
|
|||
|
* local-alloc.c (find_free_reg): Use it.
|
|||
|
* global.c (find_reg): Likewise.
|
|||
|
* tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
|
|||
|
|
|||
|
* regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
|
|||
|
* caller-save.c (init_caller_save): Use it.
|
|||
|
* tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
|
|||
|
|
|||
|
Wed Sep 30 12:57:30 1998 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
|||
|
|
|||
|
* configure.in: Add --enable-cpplib option which uses cpplib
|
|||
|
for cpp, but doesn't link cpplib into cc1. Make help text
|
|||
|
capitalization consistent.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Wed Sep 30 10:09:39 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* function.c (gen_mem_addressof): If the address REG is
|
|||
|
REG_USERVAR_P make the new REG be so also.
|
|||
|
* loop.c (scan_loop): Apply DeMorgan's laws and add documentation
|
|||
|
in an attempt to clarify slightly.
|
|||
|
|
|||
|
Wed Sep 30 09:57:40 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
|
|||
|
and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
|
|||
|
|
|||
|
Wed Sep 30 10:13:39 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* toplev.c: Fix last patch.
|
|||
|
|
|||
|
Tue Sep 29 20:03:18 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* loop.c (get_condition): Fix typo in May 9 change.
|
|||
|
|
|||
|
Tue Sep 29 11:11:38 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* invoke.texi (-fexceptions): Merge 2 different descriptions.
|
|||
|
|
|||
|
Mon Sep 28 22:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* toplev.c (documented_lang_options): Spelling corrections.
|
|||
|
|
|||
|
Mon Sep 28 19:41:24 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* configure.in: New flags --with-ld and --with-as, equivalent
|
|||
|
to setting LD and AS environment variables. Test whether
|
|||
|
specified arguments are GNU commands, and report them with
|
|||
|
checking messages. Use the specified AS for configure
|
|||
|
tests too.
|
|||
|
* configure: Likewise.
|
|||
|
* acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
|
|||
|
* config.in: Likewise.
|
|||
|
* gcc.c (find_a_file): When looking for `as' and `ld', return
|
|||
|
the DEFAULT program if it exists.
|
|||
|
* collect2.c (main): Use DEFAULT_LINKER if it exists.
|
|||
|
|
|||
|
* gcc.c (find_a_file): The test for existence of a full
|
|||
|
pathname was reversed.
|
|||
|
|
|||
|
Mon Sep 28 17:34:35 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
|
|||
|
* rs6000.c (output_mi_thunk): Always use a raw jump for now.
|
|||
|
|
|||
|
Mon Sep 28 14:24:03 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* tree.h (TYPE_BINFO): Document.
|
|||
|
|
|||
|
Mon Sep 28 12:55:49 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* i386-coff.h (dbxcoff.h): Added.
|
|||
|
|
|||
|
Mon Sep 28 12:51:00 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* toplev.c: Fix bad patch around flag_data_sections.
|
|||
|
|
|||
|
Mon Sep 28 10:32:28 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (reload): Use reload_address_index_reg_class and
|
|||
|
reload_address_base_reg_class when setting
|
|||
|
caller_save_spill_class. (Patch generated by Jim Wilson:
|
|||
|
wilson@cygnus.com).
|
|||
|
|
|||
|
Mon Sep 28 07:43:34 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
|
|||
|
and ARRAY_TYPEs. Tidy up. Improve support for type-punning.
|
|||
|
* expr.c (store_field): Add alias_set parameter. Set the
|
|||
|
MEM_ALIAS_SET accordingly, if the target is a MEM.
|
|||
|
(expand_assignment): Use it.
|
|||
|
(store_constructor_field): Pass 0.
|
|||
|
(expand_expr): Likewise.
|
|||
|
|
|||
|
Mon Sep 28 07:54:03 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* flags.h: Add flag_data_sections.
|
|||
|
* toplev.c: Add option -fdata-sections. Add flag_data_sections.
|
|||
|
(compile_file): Error if flag_data_sections not supported.
|
|||
|
* varasm.c (assemble_variable): Handle flag_data_sections.
|
|||
|
* config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
|
|||
|
* config/mips/elf.h: Likewise.
|
|||
|
* config/mips/elf64.h: Likewise.
|
|||
|
* invoke.texi: Describe -fdata-sections.
|
|||
|
|
|||
|
Mon Sep 28 04:15:44 1998 Craig Burley <burley@melange.gnu.org>
|
|||
|
|
|||
|
* invoke.texi (-ffloat-store): Clarify that this option
|
|||
|
does not affect intermediate results -- only variables.
|
|||
|
|
|||
|
Mon Sep 28 04:11:35 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* cpp.texi: Update for Fortran usage from Craig.
|
|||
|
|
|||
|
Fri Sep 25 22:09:47 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (function_arg_boundary): Revert accidental change on
|
|||
|
September 18.
|
|||
|
|
|||
|
Fri Sep 25 20:30:00 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
|
|||
|
(output_mi_thunk): Declare.
|
|||
|
|
|||
|
* rs6000.c (output_mi_thunk): Function to create thunks for MI.
|
|||
|
(output_function_profiler): Use r12 for temp, instead of r11 so
|
|||
|
that we preserve the static chain register.
|
|||
|
|
|||
|
Fri Sep 25 14:18:33 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
|
|||
|
|
|||
|
Fri Sep 25 19:30:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.c (gen_shl_sext): Fix case 5.
|
|||
|
|
|||
|
Fri Sep 25 17:35:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_combine): Re-add line that got accidentally lost.
|
|||
|
|
|||
|
Fri Sep 25 10:43:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
|
|||
|
accessing variables until they are initialized via va_arg().
|
|||
|
|
|||
|
Thu Sep 24 22:12:16 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* reload1.c (reload_combine): Initialize set before using.
|
|||
|
|
|||
|
Thu Sep 24 18:53:20 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* sdbout.c (sdbout_field_types): Don't emit the types of fields we
|
|||
|
won't be emitting.
|
|||
|
|
|||
|
Thu Sep 24 17:05:30 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/arm.md (insv): Add comment. In CONST_INT case, and
|
|||
|
operand3 with mask before using it. Patch provided by Jim Wilson.
|
|||
|
|
|||
|
Thu Sep 24 15:08:08 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* config/sparc/sparc.c (function_value): Perform the equivalent of
|
|||
|
PROMOTE_MODE for ARCH64.
|
|||
|
(eligible_for_epilogue_delay): Allow DImode operations in delay
|
|||
|
slot of a return for ARCH64.
|
|||
|
|
|||
|
Thu Sep 24 22:17:54 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.md (sqrtsf2): Fix mode of sqrt.
|
|||
|
|
|||
|
Thu Sep 24 21:48:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (choose_reload_regs): Also try inheritance when
|
|||
|
reload_in is a stack slot of a pseudo, even if we already got a
|
|||
|
reload reg.
|
|||
|
|
|||
|
Thu Sep 24 21:22:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
|
|||
|
(reload_cse_regs): New function body: call reload_cse_regs_1,
|
|||
|
reload_combine, reload_cse_move2add.
|
|||
|
When doing expensive_optimizations, call reload_cse_regs_1 a
|
|||
|
second time after reload_cse_move2add.
|
|||
|
(reload_combine, reload_combine_note_store): New functions.
|
|||
|
(reload_combine_note_use): New function.
|
|||
|
(reload_cse_move2add, move2add_note_store): New functions.
|
|||
|
|
|||
|
Thu Sep 24 18:48:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
|
|||
|
reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
|
|||
|
|
|||
|
Properly keep track of first RELOAD_FOR_X_ADDRESS also for
|
|||
|
more than 3 such reloads.
|
|||
|
|
|||
|
If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
|
|||
|
RELOAD_FOR_X_ADDR_ADDR reload.
|
|||
|
|
|||
|
Thu Sep 24 17:45:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* expr.c (store_constructor): When initializing a field that is smaller
|
|||
|
than a word, at the start of a word, try to widen it to a full word.
|
|||
|
|
|||
|
* cse.c (cse_insn): When we are about to change a register,
|
|||
|
remove any invalid references to it.
|
|||
|
|
|||
|
(remove_invalid_subreg_refs): New function.
|
|||
|
(mention_regs): Special treatment for SUBREGs.
|
|||
|
(insert_regs): Don't strip SUBREG for call to mention_regs.
|
|||
|
Check if reg_tick needs to be bumped up before that call.
|
|||
|
(lookup_as_function): Try to match known word_mode constants when
|
|||
|
looking for a norrower constant.
|
|||
|
(canon_hash): Special treatment for SUBREGs.
|
|||
|
|
|||
|
Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
|
|||
|
* config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
|
|||
|
defined, emit libcall to __enable_execute_stack. Also fix opcodes
|
|||
|
and offsets in actual stack trampoline code so they match the
|
|||
|
commentary and actually work.
|
|||
|
|
|||
|
Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
|
|||
|
tmake_file.
|
|||
|
(sparc64-*-linux): Use t-linux and sparc/t-linux64 for
|
|||
|
tmake_file. Set extra_parts to needed crt objects.
|
|||
|
* configure: Rebuilt.
|
|||
|
* config/sparc/linux64.h (SPARC_BI_ARCH): Define.
|
|||
|
(TARGET_DEFAULT): Set if default is v9 or ultra.
|
|||
|
(STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
|
|||
|
(STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
|
|||
|
(ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
|
|||
|
(SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
|
|||
|
LINK_SPEC, LINK_ARCH_SPEC): Likewise.
|
|||
|
(TARGET_VERSION): Define.
|
|||
|
(MULTILIB_DEFAULT): Define.
|
|||
|
* config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
|
|||
|
mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
|
|||
|
(CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
|
|||
|
appropriately.
|
|||
|
(TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
|
|||
|
* config/sparc/sparc.c (sparc_override_options): If arch and
|
|||
|
pointer size disagree, emit diagnostic and fix it up. If
|
|||
|
SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
|
|||
|
V8PLUS in 64-bit mode.
|
|||
|
* config/sparc/t-linux64: New file.
|
|||
|
* config/sparc/t-sol2-64: New file.
|
|||
|
* config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
|
|||
|
* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
|
|||
|
(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
|
|||
|
CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
|
|||
|
(ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
|
|||
|
(STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
|
|||
|
Define.
|
|||
|
(STARTFILE_SPEC): Set appropriately based upon those.
|
|||
|
(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
|
|||
|
disposition of DEFAULT_ARCH32_P.
|
|||
|
(LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
|
|||
|
(LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
|
|||
|
(CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
|
|||
|
(MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
|
|||
|
* config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
|
|||
|
arch64/v9.
|
|||
|
* config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
|
|||
|
|
|||
|
Wed Sep 23 22:32:31 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* rtl.h (init_virtual_regs): New function.
|
|||
|
* emit-rtl.c (init_virtual_regs): Define.
|
|||
|
(insn_emit): Use it.
|
|||
|
* integrate.c (save_for_inline_copying): Likewise.
|
|||
|
|
|||
|
Wed Sep 23 16:22:01 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/thumb.h: The following patches were made by Jim Wilson:
|
|||
|
(enum reg_class): Add NONARG_LO_REGS support.
|
|||
|
(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
|
|||
|
PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
|
|||
|
(GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
|
|||
|
completes. Re-enable HImode REG+OFFSET addresses.
|
|||
|
(LEGITIMIZE_RELOAD_ADDRESS): Define.
|
|||
|
|
|||
|
* expmed.c (extract_bit_field): Add comment from Jim Wilson.
|
|||
|
|
|||
|
Wed Sep 23 13:26:02 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (get_aligned_mem): Revert Sep 20 change.
|
|||
|
(alpha_set_memflags, alpha_set_memflags_1): Likewise.
|
|||
|
(alpha_align_insns): Properly calculate initial offset wrt max_align.
|
|||
|
|
|||
|
Wed Sep 23 10:45:44 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.c (find_barrier): Revert change of Apr 23. Handle table
|
|||
|
jumps as a single entity, taking into account the size of the
|
|||
|
table.
|
|||
|
|
|||
|
Tue Sep 22 15:13:34 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
|||
|
|
|||
|
* tree.def (SWITCH_EXPR): New tree node definition.
|
|||
|
|
|||
|
Mon Sep 21 23:40:38 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Sep 21 22:31:14 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Sep 21 22:48:09 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in: Recognize i[34567]86-*-openbsd* and handle it like
|
|||
|
NetBSD.
|
|||
|
|
|||
|
Mon Sep 21 22:05:28 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* Revert this patch.
|
|||
|
* reload.c (find_reloads): Do not replace a pseudo with
|
|||
|
(MEM (reg_equiv_addr)) in the initializing insn for the
|
|||
|
pseudo.
|
|||
|
|
|||
|
Mon Sep 21 20:19:41 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* final.c (final_scan_insn): Disable tracking CC across branches.
|
|||
|
|
|||
|
Mon Sep 21 17:15:26 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* expr.h (eh_rtime_match_libfunc): New extern declaration.
|
|||
|
* optabs.c (init_optabs): Set eh_rtime_match_libfunc.
|
|||
|
* except.c (start_catch_handler): Use eh_rtime_match_libfunc.
|
|||
|
* libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
|
|||
|
NULL. Only include <stdio.h> if inhibit_libc is not defined.
|
|||
|
|
|||
|
Mon Sep 21 14:10:51 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Skip compiling anything with
|
|||
|
DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
|
|||
|
|
|||
|
Mon Sep 21 13:51:05 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* flow.c (find_basic_blocks): Delete check for in_libcall_block when
|
|||
|
prev_code is a CALL_INSN. Change check for REG_RETVAL note to
|
|||
|
use in_libcall_block.
|
|||
|
(find_basic_blocks_1): Delete check for in_libcall_block when prev_code
|
|||
|
is a CALL_INSN. If CALL_INSN and in_libcall_block, then change code
|
|||
|
to INSN.
|
|||
|
|
|||
|
Mon Sep 21 14:02:23 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* i386.h (TARGET_SWITCHES): Improve doc for align-double. Fix
|
|||
|
typo in no-fancy-math-387 description.
|
|||
|
|
|||
|
Mon Sep 21 09:27:18 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Sep 21 09:24:49 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* i386-coff.h (DBX_DEBUGGING_INFO): Added.
|
|||
|
|
|||
|
Mon Sep 21 09:14:49 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* i386.h (TARGET_SWITCHES): Add description fields for flags
|
|||
|
documented in install.texi.
|
|||
|
(TARGET_OPTIONS): Likewise.
|
|||
|
|
|||
|
Mon Sep 21 01:39:03 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Sep 21 01:53:05 1998 Felix Lee <flee@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
|
|||
|
* cccp.c (main): Likewise.
|
|||
|
|
|||
|
* cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
|
|||
|
Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
|
|||
|
macro-use bugs.
|
|||
|
|
|||
|
Mon Sep 21 00:52:12 1998 Per Bothner <bothner@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (LIBS): Link in libiberty.a.
|
|||
|
* c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
|
|||
|
|
|||
|
Sun Sep 20 23:28:11 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (emit_reload_insns): Accept a new arg for the bb. Use
|
|||
|
it to update bb boundaries. Update caller.
|
|||
|
* function.c (reposition_prologue_and_epilogue_notes): Update
|
|||
|
bb boundaries wrt the moved note.
|
|||
|
|
|||
|
Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
|
|||
|
problems.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
Sun Sep 20 19:01:51 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_sr_alias_set): New variable.
|
|||
|
(override_options): Set it.
|
|||
|
(alpha_expand_prologue, alpha_expand_epilogue): Use it.
|
|||
|
(mode_mask_operand): Fix signed-unsigned comparison warning.
|
|||
|
(alpha_expand_block_move): Likewise.
|
|||
|
(print_operand): Likewise.
|
|||
|
(get_aligned_mem): Use change_address.
|
|||
|
(alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
|
|||
|
(alphaev4_insn_pipe, alphaev4_next_group): New functions.
|
|||
|
(alphaev4_next_nop, alphaev5_next_nop): New functions.
|
|||
|
(alpha_align_insns): Remade from old alphaev5_align_insns
|
|||
|
to handle multiple processors.
|
|||
|
(alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
|
|||
|
* output.h (label_to_alignment): Prototype.
|
|||
|
|
|||
|
* tree.c (new_alias_set): New function.
|
|||
|
* tree.h (new_alias_set): Declare it.
|
|||
|
* c-common.c (c_get_alias_set): Use it.
|
|||
|
|
|||
|
Sun Sep 20 12:35:55 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* fold-const.c (fold): Yet another COND_EXPR bug: when folding
|
|||
|
to an ABS expr, convert an unsigned input to signed.
|
|||
|
|
|||
|
Sun Sep 20 12:14:45 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fold-const.c (fold): Fix another type in COND_EXPR handling code.
|
|||
|
|
|||
|
1998-09-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* configure.in: Add support for c4x targets.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sun Sep 20 00:00:51 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* combine.c (distribute_notes): If an insn is a cc0 user, only
|
|||
|
delete it if we can also delete the cc0 setter.
|
|||
|
|
|||
|
Sun Sep 20 00:22:23 1998 Michael Tiemann <michael@impact.tiemann.org>
|
|||
|
|
|||
|
* fold-const.c (fold): Fix typo in COND_EXPR handling code.
|
|||
|
(invert_truthvalue): Enable truthvalue inversion for
|
|||
|
floating-point operands if -ffast-math.
|
|||
|
|
|||
|
Sat Sep 19 23:58:07 1998 Melissa O'Neill <oneill@cs.sfu.ca>
|
|||
|
|
|||
|
* configure.in: Disable collect2 for nextstep. Instead use
|
|||
|
crtbegin/crtend.
|
|||
|
* configure: Rebuilt.
|
|||
|
* config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
|
|||
|
(ENDFILE_SPEC): Define.
|
|||
|
(OBJECT_FORMAT_MACHO): Define.
|
|||
|
(EH_FRAME_SECTION_ASM_OP): Define.
|
|||
|
* crtstuff.c: Handle MACHO.
|
|||
|
|
|||
|
Sun Sep 20 00:24:24 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
|
|||
|
|
|||
|
1998-09-19 Torbjorn Granlund <tege@matematik.su.se>
|
|||
|
|
|||
|
* fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
|
|||
|
(_fpadd_parts): Get sign right for 0.
|
|||
|
|
|||
|
1998-09-19 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
|||
|
|
|||
|
* ginclude/varargs.h: Add support for C4x target.
|
|||
|
* ginclude/stdargs.h: Likewise.
|
|||
|
|
|||
|
Sat Sep 19 12:05:09 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_return_addr): SET should be VOIDmode.
|
|||
|
(alpha_emit_set_long_const): Rewrite to be callable from reload
|
|||
|
and 32-bit hosts.
|
|||
|
(alpha_expand_epilogue): Update for alpha_emit_set_long_const.
|
|||
|
* alpha.md (movdi): Likewise.
|
|||
|
|
|||
|
Sat Sep 19 07:33:36 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.c (add_constant): New parameter address_only, change caller.
|
|||
|
Set it non-zero if taking the address of an item in the pool.
|
|||
|
(arm_reorg): Handle cases where we need the address of an item in
|
|||
|
the pool.
|
|||
|
|
|||
|
* arm.c (bad_signed_byte_operand): Check both arms of a sum in
|
|||
|
a memory address.
|
|||
|
* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
|
|||
|
memory addresses that are not in standard canonical form.
|
|||
|
|
|||
|
Sat Sep 19 01:00:32 1998 Michael Hayes (mph@elec.canterbury.ac.nz)
|
|||
|
|
|||
|
* README.C4X: New file with information about the c4x ports.
|
|||
|
* ginclude/va-c4x.h: New file for c4x varargs support.
|
|||
|
* config/c4x: New directory with c4x port files.
|
|||
|
|
|||
|
Fri Sep 18 22:52:05 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reload.c (find_reloads): Do not replace a pseudo with
|
|||
|
(MEM (reg_equiv_addr)) in the initializing insn for the
|
|||
|
pseudo.
|
|||
|
|
|||
|
Fri Sep 18 23:50:56 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Set bct_p on second call to
|
|||
|
loop_optimize.
|
|||
|
* loop.c (loop_optimize, scan_loop, strength_reduce): New argument
|
|||
|
bct_p.
|
|||
|
(strength_reduce): Only call analyze_loop_iterations and
|
|||
|
insert_bct if bct_p set.
|
|||
|
(check_dbra_loop): Fix typo.
|
|||
|
(insert_bct): Use word_mode instead of SImode.
|
|||
|
(instrument_loop_bct): Likewise. Do not delete iteration count
|
|||
|
condition code generation insn. Initialize iteration count before
|
|||
|
loop start.
|
|||
|
* rtl.h (loop_optimize): Update prototype.
|
|||
|
|
|||
|
* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
|
|||
|
not doubleword aligned.
|
|||
|
|
|||
|
* rs6000.c (optimization_options): New function.
|
|||
|
(secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
|
|||
|
* rs6000.h (OPTIMIZATION_OPTIONS): Define.
|
|||
|
(REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
|
|||
|
first; cr1 can be used for FP record condition insns.
|
|||
|
|
|||
|
Fri Sep 18 09:44:55 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/m32r/m32r.h (m32r_block_immediate_operand): Add to
|
|||
|
PREDICATE_CODES.
|
|||
|
|
|||
|
* config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
|
|||
|
patterns.
|
|||
|
|
|||
|
* config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
|
|||
|
operators.
|
|||
|
(block_move_call): New function: Call a library routine to copy a
|
|||
|
block of memory.
|
|||
|
(m32r_expand_block_move): New function: Expand a "movstrsi"
|
|||
|
pattern into a sequence of insns.
|
|||
|
(m32r_output_block_move): New function: Expand a
|
|||
|
"movstrsi_internal" pattern into a sequence of assembler opcodes.
|
|||
|
(m32r_block_immediate_operand): New function: Return true if the
|
|||
|
RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
|
|||
|
|
|||
|
Thu Sep 17 16:42:16 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
|
|||
|
re-align some code.
|
|||
|
* libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
|
|||
|
|
|||
|
Thu Sep 17 12:24:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* regmove.c (copy_src_to_dest): Check that modes match.
|
|||
|
|
|||
|
Wed Sep 16 22:10:42 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
|
|||
|
|
|||
|
Wed Sep 16 15:24:54 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
|
|||
|
narrower than FLOAT_REGS.
|
|||
|
|
|||
|
Wed Sep 16 17:51:00 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
|
|||
|
* cccp.c: Likewise.
|
|||
|
* Makefile.in (old_gxx_include_dir): Removed.
|
|||
|
|
|||
|
Wed Sep 16 12:29:22 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
|
|||
|
new specification.
|
|||
|
|
|||
|
* config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
|
|||
|
(sh_handle_pragma): Change function arguments to match new
|
|||
|
specification for HANDLE_PRAGMA.
|
|||
|
|
|||
|
Wed Sep 16 12:43:19 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
|
|||
|
`unsigned char'.
|
|||
|
(main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
|
|||
|
When generating output, initialize missing struct member to zero.
|
|||
|
|
|||
|
Wed Sep 16 14:47:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* regmove.c (copy_src_to_dest): Don't copy if that requires
|
|||
|
(a) new register(s).
|
|||
|
|
|||
|
Wed Sep 16 01:29:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* global.c (reg_allocno): Now static.
|
|||
|
* reload1.c (reg_allocno): Delete declaration.
|
|||
|
(order_regs_for_reload): Take no arguments. Don't treat regs
|
|||
|
allocated by global differently than those allocated by local-alloc.
|
|||
|
|
|||
|
Wed Sep 16 01:09:01 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
|
|||
|
|
|||
|
* m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
|
|||
|
condition, fix format strings.
|
|||
|
(output_function_epilogue): Likewise.
|
|||
|
|
|||
|
* m68k/m68k.c: Don't include <stdlib.h> directly.
|
|||
|
|
|||
|
Wed Sep 16 00:30:56 1998 Geoff Keating <geoffk@ozemail.com.au>
|
|||
|
|
|||
|
* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
|
|||
|
mem_first_set, mem_last_set; because 0 can be a CUID.
|
|||
|
(oprs_unchanged_p): Use new definition.
|
|||
|
(record_last_reg_set_info): Likewise.
|
|||
|
(record_last_mem_set_info): Likewise.
|
|||
|
(compute_hash_table): Likewise.
|
|||
|
|
|||
|
Tue Sep 15 22:59:52 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* rs6000.c (output_epilogue): Handle Chill.
|
|||
|
|
|||
|
* mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
|
|||
|
* mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
|
|||
|
|
|||
|
* combine.c (make_extraction): If no mode is specified for
|
|||
|
an operand of insv, extv, or extzv, default it to word_mode.
|
|||
|
(simplify_comparison): Similarly.
|
|||
|
* expmed.c (store_bit_field): Similarly.
|
|||
|
(extract_bit_field): Similarly.
|
|||
|
* function.c (fixup_var_regs_1): Similarly.
|
|||
|
* recog.c (validate_replace_rtx_1): Similarly.
|
|||
|
* mips.md (extv, extzv, insv expanders): Default modes for most
|
|||
|
operands. Handle TARGET_64BIT.
|
|||
|
(movdi_uld, movdi_usd): New patterns.
|
|||
|
|
|||
|
* pa.c (emit_move_sequence): Do not replace a pseudo with its
|
|||
|
equivalent memory location unless we have been provided a scratch
|
|||
|
register. Similarly do not call find_replacement unless a
|
|||
|
scratch register has been provided.
|
|||
|
|
|||
|
Tue Sep 15 19:23:01 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
|
|||
|
return FLOAT_REGS.
|
|||
|
|
|||
|
Tue Sep 15 19:09:06 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused. Kill.
|
|||
|
(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
|
|||
|
(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
|
|||
|
(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
|
|||
|
* c-decl.c (init_decl_processing): Update accordingly.
|
|||
|
* expr.c (expand_builtin): Likewise.
|
|||
|
|
|||
|
* rtl.h (global_rtl): Add cfa entry.
|
|||
|
(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
|
|||
|
(LAST_VIRTUAL_REGISTER): Update.
|
|||
|
* emit-rtl.c (global_rtl): Add cfa entry.
|
|||
|
(init_emit): Initialize it.
|
|||
|
* function.c (cfa_offset): New.
|
|||
|
(instantiate_virtual_regs): Initialize it.
|
|||
|
(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
|
|||
|
(expand_function_end): Call expand_eh_return.
|
|||
|
* tm.texi (ARG_POINTER_CFA_OFFSET): New.
|
|||
|
|
|||
|
* except.c (current_function_eh_stub_label): Kill.
|
|||
|
(current_function_eh_old_stub_label): Likwise; update all references.
|
|||
|
(expand_builtin_set_return_addr_reg): Kill.
|
|||
|
(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
|
|||
|
(expand_builtin_set_eh_regs): Kill.
|
|||
|
(eh_regs): Produce a third reg for the actual handler address.
|
|||
|
(eh_return_context, eh_return_stack_adjust): New.
|
|||
|
(eh_return_handler, eh_return_stub_label): New.
|
|||
|
(init_eh_for_function): Initialize them.
|
|||
|
(expand_builtin_eh_return, expand_eh_return): New.
|
|||
|
* except.h: Update prototypes.
|
|||
|
* flow.c (find_basic_blocks_1): Update references to the stub label.
|
|||
|
* function.h (struct function): Kill stub label elements.
|
|||
|
|
|||
|
* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
|
|||
|
register number is one that would be in the previous window.
|
|||
|
Provide a dummy definition for non-windowed targets.
|
|||
|
(get_reg_addr): New function.
|
|||
|
(get_reg, put_reg, copy_reg): Use it.
|
|||
|
(__throw): Rely on in_reg_window, not INCOMING_REGNO. Kill stub
|
|||
|
generating code and use __builtin_eh_return. Use __builtin_dwarf_cfa.
|
|||
|
|
|||
|
* alpha.c (alpha_eh_epilogue_sp_ofs): New.
|
|||
|
(alpha_init_expanders): Initialize it.
|
|||
|
(alpha_expand_epilogue): Use it.
|
|||
|
* alpha.h: Declare it.
|
|||
|
* alpha.md (eh_epilogue): New.
|
|||
|
|
|||
|
* m68h.h (ARG_POINTER_CFA_OFFSET): New.
|
|||
|
* sparc.h (ARG_POINTER_CFA_OFFSET): New.
|
|||
|
|
|||
|
Tue Sep 15 19:31:58 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* i960.h (CONST_COSTS): Fix thinko. Test flag, not the constant
|
|||
|
flag bit mask.
|
|||
|
|
|||
|
Tue Sep 15 14:10:54 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* except.h (struct eh_entry): Add false_label field.
|
|||
|
(end_catch_handler): Add prototype.
|
|||
|
* except.c (push_eh_entry): Set false_label field to NULL_RTX.
|
|||
|
(start_catch_handler): When using old style exceptions, issue
|
|||
|
runtime typematch code before continuing with the handler.
|
|||
|
(end_catch_handler): New function, generates label after handler
|
|||
|
if needed by older style exceptions.
|
|||
|
(expand_start_all_catch): No need to check for new style exceptions.
|
|||
|
(output_exception_table_entry): Only output the first handler label
|
|||
|
for old style exceptions.
|
|||
|
* libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
|
|||
|
mechanism into one function, if a runtime matcher is provided.
|
|||
|
|
|||
|
Tue Sep 15 13:53:59 1998 Andrew MacLeod <amacleod@cygnus.com>
|
|||
|
|
|||
|
* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
|
|||
|
|
|||
|
Tue Sep 15 09:59:01 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* integrate.c (copy_decl_list): Fix typo.
|
|||
|
|
|||
|
Tue Sep 15 04:18:52 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
|
|||
|
attribute.
|
|||
|
|
|||
|
Mon Sep 14 14:02:53 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Sep 14 10:33:56 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Mon Sep 14 09:51:05 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Sep 13 22:10:18 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* invoke.texi (C Dialect Options): Put back missing @end itemize.
|
|||
|
|
|||
|
Mon Sep 14 02:33:46 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
|
|||
|
|
|||
|
* configure.in: Remove usage of `!' to negate the result of a
|
|||
|
command; some common shells do not support it.
|
|||
|
|
|||
|
Sun Sep 13 19:17:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* configure.in: In sparc9-sol2 config, use 'if test' not
|
|||
|
brackets.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
|
|||
|
CM_MEDANY.
|
|||
|
(CPP_CPU_SPEC): Do not define _LP64, header files do this.
|
|||
|
(CPP_CPU_DEFAULT_SPEC): Likewise.
|
|||
|
* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
|
|||
|
for arch64 libfuncs.
|
|||
|
|
|||
|
* config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
|
|||
|
for operand zero.
|
|||
|
|
|||
|
Sun Sep 13 09:11:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
|
|||
|
|
|||
|
* collect2.c: Don't declare `sys_siglist' here.
|
|||
|
(my_strsignal): Prototype and define new function. Use it in
|
|||
|
place of `sys_siglist' hacks.
|
|||
|
|
|||
|
* mips_tfile.c: Likewise.
|
|||
|
|
|||
|
* configure.in (AC_CHECK_FUNCS): Check for strsignal.
|
|||
|
(GCC_NEED_DECLARATIONS): Likewise.
|
|||
|
|
|||
|
* system.h (strsignal): Prototype it, if necessary.
|
|||
|
(sys_siglist): Declare it, if necessary.
|
|||
|
|
|||
|
Sun Sep 13 04:37:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* loop.c (move_movables): While removing insn sequences, preserve
|
|||
|
the next pointer of the most recently deleted insn when we skip
|
|||
|
over a NOTE.
|
|||
|
|
|||
|
Sun Sep 13 08:13:39 1998 Ben Elliston <bje@cygnus.com>
|
|||
|
|
|||
|
* objc/config-lang.in: Do not output the name of the selected
|
|||
|
thread file when building the front-end. The Makefile for the
|
|||
|
runtime library will do this.
|
|||
|
|
|||
|
* objc/Make-lang.in: Do not build the runtime library or install
|
|||
|
the Objective C header files. The Makefile for the runtime
|
|||
|
library will do this.
|
|||
|
|
|||
|
* objc/Makefile.in (all.indirect): Only build the front-end.
|
|||
|
(compiler): Rename to `frontend'.
|
|||
|
(obj-runtime): Remove target.
|
|||
|
(copy-headers): Likewise.
|
|||
|
(clean): No need to remove `libobjc.a' any longer.
|
|||
|
|
|||
|
Sat Sep 12 11:37:19 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
|
|||
|
supported with -mcpu=xxx.
|
|||
|
|
|||
|
Fri Sep 11 23:55:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* flow.c (mark_set_1): Recognize multi-register structure return
|
|||
|
values in CALL insns.
|
|||
|
(mark_used_regs): Likewise.
|
|||
|
(count_reg_sets_1): Likewise.
|
|||
|
(count_reg_references): Likewise.
|
|||
|
* rtlanal.c (note_stores): Likewise.
|
|||
|
(reg_overlap_mentioned_p): Likewise.
|
|||
|
* haifa-sched.c (check_live_1): Likewise.
|
|||
|
(update_live_1): Likewise.
|
|||
|
(sched_analyze_1): Likewise.
|
|||
|
(sched_note_set): Likewise.
|
|||
|
(birthing_insn_p): Likewise.
|
|||
|
(attach_deaths): Likewise.
|
|||
|
|
|||
|
* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
|
|||
|
|
|||
|
Fri Sep 11 22:57:55 1998 Eric Dumazet <dumazet@cosmosbay.com>
|
|||
|
|
|||
|
* config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
|
|||
|
|
|||
|
Thu Sep 10 22:02:04 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
|
|||
|
|
|||
|
Thu Sep 10 21:19:10 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* configure.in: Add check for GAS subsection -1 support.
|
|||
|
* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
|
|||
|
* configure config.in: Rebuilt.
|
|||
|
* config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
|
|||
|
SImode is subsection -1 works, else use DImode.
|
|||
|
(ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
|
|||
|
subsection -1 works.
|
|||
|
* config/sparc/sparc.c (sparc_output_addr_vec,
|
|||
|
sparc_output_addr_diff_vec): Use them if defined.
|
|||
|
|
|||
|
Thu Sep 10 10:46:01 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* tree.h (DECL_ORIGIN): New macro.
|
|||
|
* integrate.c (copy_and_set_decl_abstract_origin): New function.
|
|||
|
(copy_decl_list): Use it.
|
|||
|
(integrate_parm_decls): Likewise.
|
|||
|
(integrate_decl_tree): Likewise.
|
|||
|
* dwarf2out.c (decl_ultimate_origin): Simplify.
|
|||
|
* dwarfout.c (decl_ultimate_origin): Likewise.
|
|||
|
* c-decl.c (duplicate_decls): Use DECL_ORIGIN.
|
|||
|
(pushdecl): Likewise.
|
|||
|
|
|||
|
Thu Sep 10 08:01:31 1998 Anthony Green <green@cygnus.com>
|
|||
|
|
|||
|
* config/rs6000/rs6000.c (output_epilog): Add Java support.
|
|||
|
|
|||
|
Thu Sep 10 14:48:59 1998 Martin von L<>wis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* invoke.texi (C++ Dialect Options): Document -fhonor-std.
|
|||
|
|
|||
|
Thu Sep 10 01:38:05 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
|
|||
|
empty or has a single entry.
|
|||
|
|
|||
|
* toplev.c (rest_of_compilation): Open up the dump file for reg-stack
|
|||
|
before calling reg_to_stack.
|
|||
|
|
|||
|
Thu Sep 10 00:03:34 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alphaev5_insn_pipe): Abort on default case.
|
|||
|
(alphaev5_next_group): Swallow CLOBBERs and USEs.
|
|||
|
|
|||
|
* c-tree.h (warn_long_long): Declare it.
|
|||
|
|
|||
|
Wed Sep 9 23:31:36 1998 (Stephen L Moshier) <moshier@world.std.com>
|
|||
|
|
|||
|
* emit-rtl.c (gen_lowpart_common): Disable optimization of
|
|||
|
initialized float-int union if the value is a NaN.
|
|||
|
|
|||
|
Wed Sep 9 23:00:48 1998 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* c-lex.c (real_yylex): Don't warn about long long constants if
|
|||
|
we're allowing long long
|
|||
|
|
|||
|
Wed Sep 9 21:58:41 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
|
|||
|
|
|||
|
* except.h (current_function_eh_stub_label): Declare.
|
|||
|
(current_function_eh_old_stub_label): Declare.
|
|||
|
* function.h (struct function): New members eh_stub_label and
|
|||
|
eh_old_stub_label.
|
|||
|
* except.c (current_function_eh_stub_label): New variable.
|
|||
|
(current_function_eh_old_stub_label): New variable.
|
|||
|
(init_eh_for_function): Clear them.
|
|||
|
(save_eh_status): Save them.
|
|||
|
(restore_eh_status): Restore them.
|
|||
|
(expand_builtin_eh_stub): Set current_function_eh_stub_label.
|
|||
|
(expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
|
|||
|
* flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
|
|||
|
make an edge from the block that contains it to the block starting
|
|||
|
with the label if this label is one of the eh stub labels.
|
|||
|
If eh stub labels exist, show they are reachable from the last block
|
|||
|
in the function.
|
|||
|
|
|||
|
* reload1.c (reload): Break out several subroutines and make some
|
|||
|
variables global.
|
|||
|
(calculate_needs_all_insns): New function, broken out of reload.
|
|||
|
(calculate_needs): Likewise.
|
|||
|
(find_reload_regs): Likewise.
|
|||
|
(find_group): Likewise.
|
|||
|
(find_tworeg_group): Likewise.
|
|||
|
(something_needs_reloads): New global variable, formerly in reload.
|
|||
|
(something_needs_elimination): Likewise.
|
|||
|
(caller_save_spill_class): Likewise.
|
|||
|
(caller_save_group_size): Likewise.
|
|||
|
(max_needs): Likewise.
|
|||
|
(group_size): Likewise.
|
|||
|
(max_groups): Likewise.
|
|||
|
(max_nongroups): Likewise.
|
|||
|
(group_mode): Likewise.
|
|||
|
(max_needs_insn): Likewise.
|
|||
|
(max_groups_insn): Likewise.
|
|||
|
(max_nongroups_insn): Likewise.
|
|||
|
(failure): Likewise.
|
|||
|
|
|||
|
* print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
|
|||
|
|
|||
|
Wed Sep 9 13:14:41 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* loop.c (load_mems): Copy rtx for output mem.
|
|||
|
|
|||
|
Wed Sep 9 15:16:58 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
|
|||
|
mips1 or mips2 either.
|
|||
|
|
|||
|
Wed Sep 9 12:31:35 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.c (pa_reorg): New marking scheme for jumps inside switch
|
|||
|
tables.
|
|||
|
(pa_adjust_insn_length): Update to work with new marking scheme
|
|||
|
for jumps inside switch tables.
|
|||
|
* pa.md (switch_jump): Remove pattern.
|
|||
|
(jump): Handle jumps inside jump tables.
|
|||
|
|
|||
|
* Makefile.in (profile.o): Depend on insn-config.h
|
|||
|
|
|||
|
Wed Sep 9 09:36:51 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* iris6.h (DWARF2_UNWIND_INFO): Undef.
|
|||
|
|
|||
|
Wed Sep 9 01:32:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
Add preliminary native sparcv9 Solaris support.
|
|||
|
* configure.in: Recognize sparv9-*-solaris2*
|
|||
|
* configure: Rebuilt.
|
|||
|
* config.sub: Recognize sparcv9 just like sparc64.
|
|||
|
* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
|
|||
|
config/sparc/sol2-cn.asm: Macroize so it can be shared between
|
|||
|
32-bit and 64-bit Solaris systems.
|
|||
|
* config/sparc/t-sol2: Assemble those with cpp.
|
|||
|
* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
|
|||
|
(*TF*_LIBCALL): If ARCH64 use V9 names.
|
|||
|
* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
|
|||
|
|
|||
|
Wed Sep 9 01:07:30 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
|
|||
|
(CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
|
|||
|
not doing pic.
|
|||
|
(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
|
|||
|
Pmode.
|
|||
|
* config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
|
|||
|
to Pmode if CASE_VECTOR_MODE is something else.
|
|||
|
|
|||
|
Wed Sep 9 00:10:31 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* prefix.c (update_path): Correctly handle cases where PATH is
|
|||
|
a substring of the builtin prefix, but specifies a different
|
|||
|
directory location.
|
|||
|
|
|||
|
Tue Sep 8 23:46:04 1998 Hans-Peter Nilsson <hp@axis.se>
|
|||
|
|
|||
|
* expr.c: Corrected comment about what MOVE_RATIO does.
|
|||
|
* config/alpha/alpha.h: Likewise.
|
|||
|
* config/1750a/1750a.h: Likewise.
|
|||
|
* config/clipper/clipper.h: Likewise.
|
|||
|
* config/i386/i386.h: Likewise.
|
|||
|
|
|||
|
Tue Sep 8 22:56:12 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in (m68k-next-nextstep3*): Use collect2.
|
|||
|
Similarly for x86 NeXT configurations.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Tue Sep 8 01:38:57 1998 Nathan Sidwell <nathan@acm.org>
|
|||
|
|
|||
|
* configure.in: Don't assume srcdir is .../gcc.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sat Sep 5 16:34:34 1998 John Wehle (john@feith.com)
|
|||
|
|
|||
|
* global.c: Update comments.
|
|||
|
(global_alloc): Assign allocation-numbers
|
|||
|
even for registers allocated by local_alloc in case
|
|||
|
they are later spilled and retry_global_alloc is called.
|
|||
|
(mark_reg_store, mark_reg_clobber,
|
|||
|
mark_reg_conflicts, mark_reg_death): Always record a
|
|||
|
conflict with a pseudo register even if it has been
|
|||
|
assigned to a hard register.
|
|||
|
(dump_conflicts): Don't list pseudo registers already assigned to
|
|||
|
a hard register as needing to be allocated, but do list their
|
|||
|
conflicts.
|
|||
|
* local-alloc.c: Update comment.
|
|||
|
|
|||
|
Mon Sep 7 23:38:01 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Mon Sep 7 22:41:46 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.c (rs6000_override_options): Fix name for ec603e, to add
|
|||
|
missing 'c'.
|
|||
|
* t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
|
|||
|
for all targets that set -msoft-float.
|
|||
|
|
|||
|
Mon Sep 7 23:30:07 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* toplev.c (print_switch_values): Make static to match prototype.
|
|||
|
|
|||
|
Mon Sep 7 19:13:59 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in: If we are unable to find the "gnatbind" program,
|
|||
|
then do not configure the ada subdir.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sun Sep 6 14:03:58 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Sep 6 13:28:07 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Sun Sep 6 08:54:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* Makefile.in (toplev.o): Depend on $(EXPR_H).
|
|||
|
(insn-extract.o, insn-attrtab.o): Depend on toplev.h.
|
|||
|
|
|||
|
* gansidecl.h: Define ATTRIBUTE_NORETURN.
|
|||
|
|
|||
|
* genattrtab.c: Have insn-attrtab.c include toplev.h.
|
|||
|
|
|||
|
* genextract.c: Have insn-extract.c include toplev.h.
|
|||
|
|
|||
|
* rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
|
|||
|
|
|||
|
* toplev.c: Include expr.h.
|
|||
|
(really_sorry, fancy_abort): Remove prototypes.
|
|||
|
(set_target_switch): Add argument in prototype.
|
|||
|
(vfatal): Mark prototype with ATTRIBUTE_NORETURN.
|
|||
|
(v_really_sorry): Likewise.
|
|||
|
(print_version, print_single_switch, print_switch_values): Make
|
|||
|
static and add prototype arguments.
|
|||
|
(decl_printable_name): Add prototype arguments.
|
|||
|
(lang_expand_expr_t): New typedef.
|
|||
|
(lang_expand_expr): Declare as a lang_expand_expr_t.
|
|||
|
(incomplete_decl_finalize_hook): Add prototype argument.
|
|||
|
(decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
|
|||
|
(botch): Likewise for variable `s'.
|
|||
|
(rest_of_type_compilation): Mark variables `type' and `toplev'
|
|||
|
with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
|
|||
|
XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
|
|||
|
(display_help): Make variable `i' an `unsigned long'.
|
|||
|
(main): Remove unused parameter `envp'.
|
|||
|
Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
|
|||
|
Cast -1 when comparing it with a `size_t'.
|
|||
|
|
|||
|
* toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
|
|||
|
prototype with ATTRIBUTE_NORETURN.
|
|||
|
(fatal_insn_not_found, fatal_insn, really_sorry,
|
|||
|
push_float_handler, pop_float_handler): Add prototypes.
|
|||
|
(fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
|
|||
|
(do_abort, botch): Add prototypes.
|
|||
|
|
|||
|
Sat Sep 6 12:05:18 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* final.c (final): If a label is reached only from a single jump,
|
|||
|
call NOTICE_UPDATE_CC on the jump and its predecessor before
|
|||
|
emitting the insn after the label.
|
|||
|
|
|||
|
* i386.h: Add AMD K6 support.
|
|||
|
Change TARGET_* macros to use table lookup.
|
|||
|
(INITIALIZE_TRAMPOLINE): Improve trampoline code.
|
|||
|
(ADJUST_COST): Change definition to call function in i386.c.
|
|||
|
(ISSUE_RATE): Define as 2 for anything newer than an 80486.
|
|||
|
* i386.c: Add AMD K6 support.
|
|||
|
Add constants for feature tests used by TARGET_* macros.
|
|||
|
(split_di): If before reload, call gen_lowpart and gen_highpart.
|
|||
|
(x86_adjust_cost): New function.
|
|||
|
(put_jump_code): New function.
|
|||
|
(print_operand): New codes 'D' and 'd'.
|
|||
|
* i386.md: New insn types. New insn attribute "memory".
|
|||
|
Redefine scheduling parameters to use new types and add AMD K6
|
|||
|
support. Explicitly set type of most insns.
|
|||
|
(move insns): K6 prefers movl $0,reg to xorl reg,reg. Pentium
|
|||
|
Pro and K6 prefer movl $1,reg to incl reg.
|
|||
|
(adddi3, subdi3): Set cc_status.
|
|||
|
(DImode shift patterns): Change label counters from HOST_WIDE_INT
|
|||
|
to int; x86 can't have more than 2^31 DImode shifts per file.
|
|||
|
(setcc): Combine all setcc patterns. Allow writing memory.
|
|||
|
Combine all jump patterns using match_operator.
|
|||
|
(*bzero): Name pattern. Emit multiple stos instructions when that
|
|||
|
is faster than rep stos.
|
|||
|
(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
|
|||
|
add define_split.
|
|||
|
|
|||
|
Sun Sep 6 11:17:20 1998 Dave Love <d.love@dl.ac.uk>
|
|||
|
|
|||
|
* config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
|
|||
|
linking.
|
|||
|
|
|||
|
Sat Sep 5 22:05:25 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
|
|||
|
not whatever we're generating now.
|
|||
|
|
|||
|
* alpha.c (set_frame_related_p, FRP): New.
|
|||
|
(alpha_expand_prologue): Mark frame related insns.
|
|||
|
(alpha_expand_epilogue): Likewise, but with a null FRP.
|
|||
|
* alpha.h (INCOMING_RETURN_ADDR_RTX): New.
|
|||
|
* alpha.md (exception_receiver): New.
|
|||
|
* alpha/crtbegin.asm (.eh_frame): New beginning.
|
|||
|
(__do_frame_setup, __do_frame_takedown): New.
|
|||
|
* alpha/crtend.asm (.eh_frame): New ending.
|
|||
|
* alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
|
|||
|
(ASM_SPEC): Don't emit both dwarf2 and mdebug.
|
|||
|
(ASM_FILE_START): Don't emit .file for dwarf2.
|
|||
|
|
|||
|
* rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
|
|||
|
* rtl.c (reg_note_name): Likewise.
|
|||
|
* rtl.texi (REG_NOTES): Likewise.
|
|||
|
* dwarf2out.c (dwarf2out_frame_debug): Use it. Recognize a store
|
|||
|
without an offset.
|
|||
|
|
|||
|
Sat Sep 5 14:47:17 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
|
|||
|
* i386.md (movsf, movdf, movxf): Validate memory address returned
|
|||
|
from force_const_mem. Kill useless REG_EQUAL setting code.
|
|||
|
|
|||
|
Sat Sep 5 14:23:31 1998 Torbjorn Granlund <tege@matematik.su.se>
|
|||
|
|
|||
|
* m68k.md (zero_extendsidi2): Fix typo.
|
|||
|
|
|||
|
Sat Sep 5 13:40:24 1998 Krister Walfridsson <cato@df.lth.se>
|
|||
|
|
|||
|
* configure.in: Removed references to the removed file.
|
|||
|
* config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
|
|||
|
arm*-*-netbsd* and ns32k-*-netbsd*.
|
|||
|
* config/i386/xm-netbsd.h: Removed unnecessary file.
|
|||
|
* config/m68k/xm-netbsd.h: Likewise.
|
|||
|
* config/sparc/xm-netbsd.h: Likewise.
|
|||
|
* config/mips/xm-netbsd.h: Likewise.
|
|||
|
|
|||
|
Sat Aug 29 13:32:58 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
|
|||
|
(PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
|
|||
|
|
|||
|
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
|
|||
|
for exact section attributions.
|
|||
|
|
|||
|
* i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
|
|||
|
runtime.
|
|||
|
* i386/crtdll.h (CPP_PREDEFINES): Define.
|
|||
|
|
|||
|
Sat Sep 5 03:23:05 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* m68k.md (5200 movqi): Do not allow byte sized memory references
|
|||
|
using address regs.
|
|||
|
* m68k.c (output_move_qimode): Do not use byte sized operations on
|
|||
|
address registers.
|
|||
|
|
|||
|
* Makefile.in (pexecute.o): Use pexecute.c from libiberty. Provide
|
|||
|
explicit rules for building. Similarly for alloca, vfprintf,
|
|||
|
choose-temp and mkstemp, getopt, getopt1, and obstack.
|
|||
|
(INCLUDES): Add $(srcdir)/../include.
|
|||
|
* pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
|
|||
|
* getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
|
|||
|
|
|||
|
Fri Sep 4 11:57:50 1998 Tom Tromey <tromey@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (do_spec_1): [case 'o'] Account for
|
|||
|
lang_specific_extra_outfiles.
|
|||
|
(main): Correctly clear all slots in outfiles for
|
|||
|
lang_specific_extra_outfiles. Set input_file_number before
|
|||
|
calling lang_specific_pre_link.
|
|||
|
|
|||
|
Fri Sep 4 10:37:07 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
|
|||
|
|
|||
|
Fri Sep 4 02:01:05 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (output_double_int): In all V9 symbolic
|
|||
|
cases, use xword.
|
|||
|
(sparc_output_deferred_case_vectors): If no work to do, return.
|
|||
|
Fix thinko in Sept 1 change.
|
|||
|
|
|||
|
1998-09-03 SL Baur <steve@altair.xemacs.org>
|
|||
|
|
|||
|
* Makefile.in: Add semicolon in BISON definition for portability.
|
|||
|
|
|||
|
Thu Sep 3 13:34:41 1998 Toon Moene <toon@moene.indiv.nluug.nl>
|
|||
|
|
|||
|
* config/nextstep.c (handle_pragma): Correct name of third
|
|||
|
argument.
|
|||
|
|
|||
|
Tue Sep 1 11:30:33 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
|
|||
|
* config/m32r/m32r.h: Make register 17 be fixed.
|
|||
|
* config/m32r/m32r.c: Use SImode for cc operations.
|
|||
|
|
|||
|
Thu Sep 3 18:17:34 1998 Benjamin Kosnik <bkoz@cygnus.com>
|
|||
|
|
|||
|
* invoke.texi (Warning Options): Add -Wnon-template-friend
|
|||
|
documentation.
|
|||
|
|
|||
|
Thu Sep 3 18:16:16 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
|
|||
|
|
|||
|
Thu Sep 3 18:05:16 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (movsf): Disable explicit secondary-reload-like
|
|||
|
functionality if TARGET_POWERPC64.
|
|||
|
(movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
|
|||
|
functionality.
|
|||
|
|
|||
|
Thu Sep 3 11:41:40 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
|
|||
|
and term.h from fixinc.wrap.
|
|||
|
|
|||
|
Thu Sep 3 09:47:31 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
|
|||
|
safe to include both string.h and strings.h together.
|
|||
|
(GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
|
|||
|
which headers to search for function declarations. Continue to
|
|||
|
prefer string.h over strings.h when both are not acceptable.
|
|||
|
|
|||
|
* acconfig.h (STRING_WITH_STRINGS): Add stub.
|
|||
|
|
|||
|
* configure.in: Call GCC_HEADER_STRING.
|
|||
|
|
|||
|
* system.h: Test STRING_WITH_STRINGS when deciding which headers
|
|||
|
to include. Continue to prefer string.h over strings.h when both
|
|||
|
are not acceptable.
|
|||
|
|
|||
|
Wed Sep 2 23:56:29 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
|
|||
|
not assume top 32-bits of symbolic addresses are zero if
|
|||
|
flag_pic.
|
|||
|
|
|||
|
Thu Sep 3 00:23:21 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* ginclude/va-alpha.h: Protect entire second portion of the
|
|||
|
file against double inclusion.
|
|||
|
|
|||
|
Thu Sep 3 00:37:55 1998 Ovidiu Predescu <ovidiu@aracnet.com>
|
|||
|
|
|||
|
Added support for the Boehm's garbage collector.
|
|||
|
* configure.in: Handle --enable-objc-gc.
|
|||
|
* configure: Rebuilt.
|
|||
|
* Makefile.in (CHECK_TARGETS): Add check-objc.
|
|||
|
(check-objc): New rule.
|
|||
|
* objc/Make-lang.in: Build a different Objective-C library that
|
|||
|
runs with the Boehm's collector.
|
|||
|
* objc/encoding.c (objc_round_acc_size_for_types): New function.
|
|||
|
* objc/encoding.c: Correctly compute the size of compound types in
|
|||
|
the presence of bitfields. Skip the variable name of the type if
|
|||
|
any. Added support for long long.
|
|||
|
* objc/encoding.h (_C_GCINVISIBLE): New specifier.
|
|||
|
(_F_GCINVISIBLE): New mask.
|
|||
|
* objc/gc.c: New file. Compute the type memory mask associated with
|
|||
|
a class based on the runtime information.
|
|||
|
* objc/misc.c: Added the hooks that use the Boehm's collector
|
|||
|
allocation functions.
|
|||
|
* objc/objc-act.c (build_class_template): Generate a new class
|
|||
|
member (gc_object_type) to hold the class' type memory mask.
|
|||
|
(build_shared_structure_initializer): Initialize the new member to
|
|||
|
NULL.
|
|||
|
(encode_complete_bitfield): New function. Generate the new
|
|||
|
encoding.
|
|||
|
(encode_field_decl): Generate the new encoding only for the GNU
|
|||
|
runtime.
|
|||
|
* objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
|
|||
|
long long types.
|
|||
|
(class_get_gc_object_type): New function to mark a pointer instance
|
|||
|
variable as a weak pointer.
|
|||
|
* objc/objc-features.texi: New file.
|
|||
|
* objc/objc.h (gc_object_type): New class member.
|
|||
|
* objc/objects.c (class_create_instance): Create a typed memory
|
|||
|
object when compiled with Boehm's collector support.
|
|||
|
* objc/sendmsg.c (__objc_init_install_dtable): Call
|
|||
|
__objc_send_initialize instead of setting the initialize flag.
|
|||
|
(__objc_send_initialize): Call __objc_generate_gc_type_description
|
|||
|
to generate the class type memory mask. Rewrite the code that
|
|||
|
sends the +initialize so that it is called only once (bug report
|
|||
|
and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
|
|||
|
* testsuite/objc: New testsuite for Objective-C type encoding.
|
|||
|
* testsuite/lib/objc-torture.exp: New file.
|
|||
|
* testsuite/lib/objc.exp: New file.
|
|||
|
|
|||
|
Wed Sep 2 14:47:36 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* jump.c (jump_optimize): In if/then/else transformations, add
|
|||
|
another call to modified_between_p for the jump insn.
|
|||
|
|
|||
|
Wed Sep 2 14:16:49 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* fix-header.c (symlink): Treat like readlink.
|
|||
|
|
|||
|
Wed Sep 2 19:30:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
|
|||
|
as FT_float.
|
|||
|
|
|||
|
Wed Sep 2 10:06:07 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/nextstep.h: Update HANDLE_PRAGMA macro.
|
|||
|
* config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
|
|||
|
* config/i960/i960.h: Update HANDLE_PRAGMA macro.
|
|||
|
|
|||
|
* config/nextstep.c (handle_pragma): Take three arguments, as per
|
|||
|
the new HANDLE_PRAGMA macro specification.
|
|||
|
* config/h8300/h8300.c (handle_pragma): Take three arguments, as
|
|||
|
per the new HANDLE_PRAGMA macro specification.
|
|||
|
* config/i960/i960.c (process_pragma): Take three arguments, as
|
|||
|
per the new HANDLE_PRAGMA macro specification.
|
|||
|
|
|||
|
Wed Sep 2 09:25:29 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c (check_newline): Call HANDLE_PRAGMA before
|
|||
|
HANDLE_SYSV_PRAGMA if both are defined. Generate warning messages
|
|||
|
if unknown pragmas are encountered.
|
|||
|
(handle_sysv_pragma): Interpret return code from
|
|||
|
handle_pragma_token (). Return success/failure indication rather
|
|||
|
than next unprocessed character.
|
|||
|
(pragma_getc): New function: retrieves characters from the
|
|||
|
input stream. Defined when HANDLE_PRAGMA is enabled.
|
|||
|
(pragma_ungetc): New function: replaces characters back into the
|
|||
|
input stream. Defined when HANDLE_PRAGMA is enabled.
|
|||
|
|
|||
|
* c-pragma.c (handle_pragma_token): Return success/failure status
|
|||
|
of the parse.
|
|||
|
|
|||
|
* c-pragma.h: Change prototype of handle_pragma_token().
|
|||
|
|
|||
|
* varasm.c (handle_pragma_weak): Only create this function if
|
|||
|
HANDLE_PRAGMA_WEAK is defined.
|
|||
|
|
|||
|
* c-common,c (decl_attributes): If defined call the expression
|
|||
|
contained within the INSERT_ATTRIBUTES macro before adding
|
|||
|
attributes to a decl.
|
|||
|
|
|||
|
* tm.texi (HANDLE_PRAGMA): Document the new version of
|
|||
|
HANDLE_PRAGMA, which takes three arguments.
|
|||
|
(INSERT_ATTRIBUTES): Document this new macro.
|
|||
|
|
|||
|
* LANGUAGES: Document the new version of HANDLE_PRAGMA and the
|
|||
|
new INSERT_ATTRIBUTES macro.
|
|||
|
|
|||
|
Wed Sep 2 02:03:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (movdf): Only generate special RTL for
|
|||
|
LABEL_REFs when PIC.
|
|||
|
(move_label_di): Remove.
|
|||
|
(movdi_pic_label_ref, movdi_high_pic_label_ref,
|
|||
|
movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
|
|||
|
references when PIC.
|
|||
|
* config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
|
|||
|
ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
|
|||
|
output an .xword for all 64-bit cases.
|
|||
|
|
|||
|
Tue Sep 1 15:55:17 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (finalize_pic): Don't output arbitrary
|
|||
|
alignment, use FUNCTION_BOUNDARY instead.
|
|||
|
(sparc_output_deferred_case_vectors): Likewise.
|
|||
|
|
|||
|
Mon Aug 31 17:25:41 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (movsf_const_intreg): Kill warning.
|
|||
|
(movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
|
|||
|
|
|||
|
Mon Aug 31 13:57:55 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha/va_list.h: New file.
|
|||
|
* alpha/x-alpha (EXTRA_HEADERS): New. Add va_list.h.
|
|||
|
|
|||
|
Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* NEWS: Add SCO Openserver and Unixware 7 notes.
|
|||
|
|
|||
|
* NEWS: Fix typos.
|
|||
|
|
|||
|
Mon Aug 31 15:42:18 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* varasm.c (compare_constant_1): Handle RANGE_EXPR.
|
|||
|
(record_constant_1): Handle RANGE_EXPR.
|
|||
|
|
|||
|
Mon Aug 31 10:54:03 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
|
|||
|
* haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
|
|||
|
and NOTE_INSN_RANGE_END specially.
|
|||
|
(reemit_notes): Likewise.
|
|||
|
|
|||
|
Mon Aug 31 10:18:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
|
|||
|
(ultrasparc_sched_init): Remove unneeded &.
|
|||
|
|
|||
|
Mon Aug 31 10:47:16 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
|
|||
|
for m68020-60, to prevent the use of fintrz.
|
|||
|
|
|||
|
Sun Aug 30 22:17:20 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
|
|||
|
even in stage1.
|
|||
|
* Makefile.in: Likewise.
|
|||
|
* configure: Regenerated.
|
|||
|
|
|||
|
Sun Aug 30 22:15:41 1998 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* configure.in (gxx_include_dir): Changed to
|
|||
|
'${prefix}/include/g++'-${libstdcxx_interface}.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sun Aug 30 20:19:43 1998 Hans-Peter Nilsson <hp@axis.se>
|
|||
|
|
|||
|
* expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
|
|||
|
consistent.
|
|||
|
* tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
|
|||
|
*sequences* *below* which scalar moves will be used.
|
|||
|
|
|||
|
Sun Aug 30 17:18:43 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* collect2.c (mktemp): Delete unused declaration.
|
|||
|
|
|||
|
* config/xm-netbsd.h: Remove unnecessary file.
|
|||
|
* config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
|
|||
|
file anymore, it is not needed.
|
|||
|
|
|||
|
Sun Aug 30 16:05:45 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* convert.c (convert_to_integer): Issue an error on conversions to
|
|||
|
incomplete types.
|
|||
|
|
|||
|
Sun Aug 30 16:47:20 1998 Martin von Lvwis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* Makefile.in: Add lang_tree_files and gencheck.h.
|
|||
|
* configure.in: Generate them.
|
|||
|
* gencheck.c: Include gencheck.h.
|
|||
|
|
|||
|
Sat Aug 29 21:38:24 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
|
|||
|
movdi_lo_sum_pic and movdi_high_pic and make visible.
|
|||
|
* config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
|
|||
|
emit these when Pmode is not SImode.
|
|||
|
* config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
|
|||
|
|
|||
|
Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
|
|||
|
.linkonce directive after the first time.
|
|||
|
|
|||
|
Sat Aug 29 12:39:56 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* m68k.md (beq0_di): Generate correct (and more efficient) code when
|
|||
|
the clobbered operand overlaps with an input.
|
|||
|
(bne0_di): Similarly.
|
|||
|
|
|||
|
* Makefile.in (INSTALL): Remove "--no-header" argument.
|
|||
|
|
|||
|
* NEWS: Various updates.
|
|||
|
|
|||
|
Fri Aug 28 19:00:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (arith_operand, const64_operand,
|
|||
|
const64_high_operand, arith_double_4096_operand): Mark mode as
|
|||
|
unused.
|
|||
|
(create_simple_focus_bits): Remove unused arg highest_bit_set, all
|
|||
|
callers changed.
|
|||
|
(sparc_emit_set_const64): Remove unused variable i.
|
|||
|
(sparc_splitdi_legitimate): Likewise for addr_part.
|
|||
|
(ultra_code_from_mask): Likewise for mask.
|
|||
|
(ultra_cmove_results_ready_p): Fixup entry modulo calc. and
|
|||
|
reverse return values so it matches usage and comments.
|
|||
|
(ultra_flush_pipeline): Likewise.
|
|||
|
(ultra_fpmode_conflict_exists): Likewise, remove unused variable
|
|||
|
this_type, and allow loads and stores of differing FP modes as
|
|||
|
they do not create a conflict.
|
|||
|
(ultra_find_type): Initialize fpmode to SFmode, fix
|
|||
|
parenthesization thinkos in large conditional.
|
|||
|
(ultrasparc_sched_init): Mark dump and sched_verbose as unused.
|
|||
|
Init free_slot_mask after ultra_cur_hist is reset, not before.
|
|||
|
(ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
|
|||
|
(ultrasparc_sched_reorder): Don't bzero current pipeline state,
|
|||
|
use ultra_flush_pipeline instead, then re-init group pointer.
|
|||
|
Fix statement with no effect. If no progress made in, and no
|
|||
|
instructions scheduled at all, advance to new pipeline cycle else
|
|||
|
we get into an endless loop.
|
|||
|
(ultrasparc_adjust_cost): Remove previous arg.
|
|||
|
* config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
|
|||
|
|
|||
|
Fri Aug 28 13:52:35 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
|
|||
|
code. Use reg_overlap_mentioned_p to detect when source and
|
|||
|
destination overlap.
|
|||
|
(negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
|
|||
|
|
|||
|
1998-08-28 Brendan Kehoe <brendan@cygnus.com>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
|
|||
|
COMPARISON_VAL, into invariant_p.
|
|||
|
|
|||
|
Fri Aug 28 15:13:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* regmove.c (regclass_compatible_p): New function.
|
|||
|
(regmove_optimize): Use it.
|
|||
|
|
|||
|
Use NREGS parameter instead of calling max_reg_num.
|
|||
|
|
|||
|
(fixup_match_1): Don't use code = MINUS when later tieing with
|
|||
|
a hard register is likely.
|
|||
|
|
|||
|
Fri Aug 28 14:54:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
|
|||
|
COMPARISON_VAL was normalized.
|
|||
|
|
|||
|
Thu Aug 27 20:10:46 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): The loop ending comparison value
|
|||
|
must be an invariant or we can not reverse the loop.
|
|||
|
|
|||
|
* loop.c (scan_loop): Count down from max_reg_num - 1 to
|
|||
|
FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
|
|||
|
of the loop.
|
|||
|
(load_mems_and_recount_loop_regs_set): Likewise.
|
|||
|
|
|||
|
* i386.c (print_operand): Remove obsolete 'c' docs.
|
|||
|
|
|||
|
Wed Aug 26 17:13:37 1998 Tom Tromey <tromey@cygnus.com>
|
|||
|
|
|||
|
* gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
|
|||
|
* frame.c (init_object_mutex): New function.
|
|||
|
(init_object_mutex_once): Likewise.
|
|||
|
(find_fde): Call it.
|
|||
|
(__register_frame_info): Likewise.
|
|||
|
(__register_frame_info_table): Likewise.
|
|||
|
(__deregister_frame_info): Likewise.
|
|||
|
|
|||
|
Thu Aug 27 15:14:18 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
|
|||
|
|
|||
|
Thu Aug 27 16:34:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Enable code for reversal
|
|||
|
of some loops without a known constant loop end.
|
|||
|
|
|||
|
Wed Aug 26 18:38:15 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* haifa-sched.c (last_clock_var): New.
|
|||
|
(schedule_block): Initialize it.
|
|||
|
(schedule_insn): Use it to fill insn modes with issue information.
|
|||
|
|
|||
|
* alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
|
|||
|
Tag trapb and next insn with TImode.
|
|||
|
(alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
|
|||
|
(alpha_reorg): Add conditional for alpha_handle_trap_shadows.
|
|||
|
Invoke alphaev5_align_insns as appropriate.
|
|||
|
* alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
|
|||
|
(MD_SCHED_VARIABLE_ISSUE): New.
|
|||
|
* alpha.md (attr type): Add multi.
|
|||
|
(define_asm_attributes): New.
|
|||
|
(prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
|
|||
|
(arg_home): Likewise.
|
|||
|
(fnop, unop, realign): New.
|
|||
|
|
|||
|
Wed Aug 26 15:55:41 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
|
|||
|
* iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
|
|||
|
|
|||
|
* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
|
|||
|
(rs6000-ibm-aix4.[12]*): Likewise.
|
|||
|
* configure: Regenerate.
|
|||
|
|
|||
|
Wed Aug 26 09:30:59 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
|
|||
|
already contains the return address.
|
|||
|
|
|||
|
Wed Aug 26 12:57:09 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* calls.c (expand_call): Use bitfield instructions to extract/deposit
|
|||
|
word sized hunks when loading unaligned args into registers.
|
|||
|
|
|||
|
* haifa-sched.c (sched_analyze_insn): Only create scheduling
|
|||
|
barriers for LOOP, EH and SETJMP notes on the loop_notes list.
|
|||
|
|
|||
|
* mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
|
|||
|
|
|||
|
Wed Aug 26 16:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* loop.c (check_dbra_loop): Add some code that would allow reversal
|
|||
|
of some loops without a known constant loop end if it were enabled.
|
|||
|
|
|||
|
Wed Aug 26 11:08:44 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* mips.md (lshrsi3_internal2+2): Fix type-o.
|
|||
|
|
|||
|
Wed Aug 26 10:53:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* system.h: Include stdarg.h/varargs.h, make sure they are ordered
|
|||
|
correctly with regards to stdio.h.
|
|||
|
|
|||
|
* calls.c: Remove stdarg.h/varargs.h.
|
|||
|
* cccp.c: Likewise.
|
|||
|
* cexp.y: Likewise.
|
|||
|
* combine.c: Likewise.
|
|||
|
* cpperror.c: Likewise.
|
|||
|
* cpplib.c: Likewise.
|
|||
|
* cpplib.h: Likewise.
|
|||
|
* doprint.c: Likewise.
|
|||
|
* emit-rtl.c: Likewise.
|
|||
|
* final.c: Likewise.
|
|||
|
* fix-header.c: Likewise.
|
|||
|
* gcc.c: Likewise.
|
|||
|
* genattr.c: Likewise.
|
|||
|
* genattrtab.c: Likewise.
|
|||
|
* gencodes.c: Likewise.
|
|||
|
* genconfig.c: Likewise.
|
|||
|
* genemit.c: Likewise.
|
|||
|
* genextract.c: Likewise.
|
|||
|
* genflags.c: Likewise.
|
|||
|
* genopinit.c: Likewise.
|
|||
|
* genoutput.c: Likewise.
|
|||
|
* genpeep.c: Likewise.
|
|||
|
* genrecog.c: Likewise.
|
|||
|
* mips-tfile.c: Likewise.
|
|||
|
* prefix.c: Likewise.
|
|||
|
* protoize.c: Likewise.
|
|||
|
* regmove.c: Likewise.
|
|||
|
* toplev.c: Likewise.
|
|||
|
* tree.c: Likewise.
|
|||
|
|
|||
|
Wed Aug 26 05:09:27 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* config/sparc/sparc.c (sparc_override_options): If not
|
|||
|
TARGET_FPU, turn off TARGET_VIS.
|
|||
|
* config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
|
|||
|
(LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
|
|||
|
* config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
|
|||
|
(movdi_insn_sp64): Add VIS fzero alternative.
|
|||
|
(clear_sf, clear_df): New VIS patterns.
|
|||
|
(movsf, movdf expanders): Allow fp_zero_operand flat out when
|
|||
|
TARGET_VIS.
|
|||
|
(one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
|
|||
|
|
|||
|
Tue Aug 25 10:57:41 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* loop.c (n_times_set, n_times_used, may_not_optimize,
|
|||
|
reg_single_usage): Convert to varrays. All uses changed.
|
|||
|
(insert_loop_mem): Return a value.
|
|||
|
(scan_loop): Tweak AVOID_CC_MODE_COPIES code.
|
|||
|
(load_mems_and_recount_loop_regs_set): Likewise. Grow the arrays, if
|
|||
|
necessary.
|
|||
|
|
|||
|
Tue Aug 25 23:57:12 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* From Alexandre:
|
|||
|
* configure.in: Do not set thread_file to "irix" since no such
|
|||
|
support exists yet.
|
|||
|
|
|||
|
* sparc.md (float abs/neg splits): Check reload_completed before
|
|||
|
calling alter_subreg.
|
|||
|
|
|||
|
Tue Aug 25 19:17:59 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
|
|||
|
function.
|
|||
|
* config/sparc/sparc.h: Declare it.
|
|||
|
* config/sparc/sparc.md (float abs/neg splits): Use it.
|
|||
|
(all other splits): Handle SUBREGs properly where necessary.
|
|||
|
(unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
|
|||
|
|
|||
|
Tue Aug 25 19:48:46 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
|
|||
|
an insn on the unfilled_slots_list that has no delay slots.
|
|||
|
(fill_eager_delay_slots): Similarly.
|
|||
|
|
|||
|
Tue Aug 25 13:35:20 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
|
|||
|
as an ordinary operand.
|
|||
|
|
|||
|
Tue Aug 25 12:54:57 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* tree.c (valid_machine_attribute): Don't apply attributes to both
|
|||
|
decl and type.
|
|||
|
|
|||
|
Tue Aug 25 12:23:20 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* reload.c (operands_match_p): Handle rtvecs.
|
|||
|
|
|||
|
* i386.c (legitimate_pic_address_disp_p): New.
|
|||
|
(legitimate_address_p): Use it.
|
|||
|
(legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
|
|||
|
Handle constant pool symbols just like statics.
|
|||
|
(emit_pic_move): Use Pmode not SImode for clarity.
|
|||
|
(output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
|
|||
|
[UNSPEC]: New, handling what we killed above.
|
|||
|
[PLUS]: Detect and abort on invalid symbol arithmetic.
|
|||
|
* i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
|
|||
|
|
|||
|
Tue Aug 25 12:02:23 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* alias.c: Include output.h.
|
|||
|
(DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
|
|||
|
different if we're in a varargs function.
|
|||
|
* Makefile.in (alias.o): Depend on output.h
|
|||
|
|
|||
|
Tue Aug 25 19:20:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* sh.h (GIV_SORT_CRITERION): Delete.
|
|||
|
|
|||
|
Tue Aug 25 13:19:46 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* regclass.c (regclass): Use xmalloc/free instead of alloca.
|
|||
|
* stupid.c (stupid_life_analysis): Likewise.
|
|||
|
* reload1.c (reload): Likewise.
|
|||
|
|
|||
|
Tue Aug 25 05:48:18 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
|
|||
|
|
|||
|
* config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
|
|||
|
arith_double_4096_operand, arith_double_add_operand): New
|
|||
|
predicates.
|
|||
|
* config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
|
|||
|
* config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
|
|||
|
them to transform add/sub 4096 into add/sub -4096.
|
|||
|
|
|||
|
Mon Aug 24 23:31:03 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* loop.c (scan_loop): Allocate some slop to handle pseudos
|
|||
|
generated by move_movables.
|
|||
|
(load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
|
|||
|
here too.
|
|||
|
|
|||
|
Mon Aug 24 19:45:40 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* tree.def (DECL_RESULT): Correct documentation.
|
|||
|
|
|||
|
Tue Aug 25 01:15:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* reload1.c (reload_reg_free_before_p): New argument EQUIV; Changed
|
|||
|
all callers. Abort for RELOAD_FOR_INSN. RELOAD_FOR_OUTADDR_ADDR:
|
|||
|
conflicts will all RELOAD_FOR_OUTPUT reloads.
|
|||
|
|
|||
|
* reload1.c (reload_cse_regs_1): When deleting a no-op move that
|
|||
|
loads the function result, substitute with a USE.
|
|||
|
|
|||
|
Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
|
|||
|
when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
|
|||
|
(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
|
|||
|
* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
|
|||
|
(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
|
|||
|
* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
|
|||
|
operand.
|
|||
|
(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
|
|||
|
'o' to 'm' for GPR variant constraints.
|
|||
|
|
|||
|
Mon Aug 24 10:25:46 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
|
|||
|
|
|||
|
* h8300.h (STRIP_NAME_ENCODING): Fix typo.
|
|||
|
|
|||
|
* sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
|
|||
|
when the source and destination overlap.
|
|||
|
|
|||
|
* stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
|
|||
|
clash with global type.
|
|||
|
|
|||
|
Mon Aug 24 00:53:53 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* fixinc.irix: Add curses.h handling from fixinc.wrap.
|
|||
|
|
|||
|
* c-common.c (combine_strings): Also set TREE_READONLY.
|
|||
|
Change warn_write_strings to flag_const_strings.
|
|||
|
* c-decl.c, c-tree.h: Likewise.
|
|||
|
|
|||
|
Sun Aug 23 18:39:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
|
|||
|
CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
|
|||
|
sequence, use SET/IOR instead so CSE can see it.
|
|||
|
* config/sparc/sparc.md (movhi_const64_special,
|
|||
|
movsi_const64_special): New patterns necessitated by that change.
|
|||
|
(movhi_high): Remove.
|
|||
|
(movhi_lo_sum): Change to match an IOR.
|
|||
|
(movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
|
|||
|
(movdf_insn_v9only): New pattern for when V9 but not ARCH64.
|
|||
|
(movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
|
|||
|
(movdf splits): Allow when not V9 or when not ARCH64 and integer
|
|||
|
registers are involved.
|
|||
|
(snesi_zero_extend split): Remove reload_completed test.
|
|||
|
(unnamed plus and minus zero_extend sidi splits): Add it.
|
|||
|
|
|||
|
Sun Aug 23 11:56:08 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* extend.texi: Remove description of extension to explicit
|
|||
|
instantiation that is now endorsed by standard C++.
|
|||
|
|
|||
|
Sun Aug 23 09:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/arc/arc.c (arc_initialize_pic): Remove.
|
|||
|
* config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
|
|||
|
nothing on any platform and is invoked by no-one, it does not even
|
|||
|
appear in the documentation.
|
|||
|
* config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
|
|||
|
* config/sparc/sparc.c (initialize_pic): Likewise.
|
|||
|
(find_addr_reg): Remove this as well, no longer referenced after
|
|||
|
my rewrite.
|
|||
|
|
|||
|
Sun Aug 23 00:17:14 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* recog.c (validate_replace_rtx_group): New function.
|
|||
|
* recog.h (validate_replace_rtx_group): Declare it.
|
|||
|
* regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
|
|||
|
the entire group of substitutions.
|
|||
|
|
|||
|
Sat Aug 22 23:31:00 1998 Klaus-Georg Adams (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
|
|||
|
|
|||
|
* loop.c (load_mems): Fix initializers.
|
|||
|
|
|||
|
Fri Aug 21 23:07:46 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (TFmode splits): Handle destination
|
|||
|
registers being referenced in the address correctly.
|
|||
|
|
|||
|
* expmed.c (make_tree) [CONST_INT]: Sign extend even if
|
|||
|
TREE_UNSIGNED, when bitsize of type's mode is larger than
|
|||
|
HOST_BITS_PER_WIDE_INT.
|
|||
|
|
|||
|
Fri Aug 21 19:31:31 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
|||
|
|
|||
|
* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
|
|||
|
* tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
|
|||
|
EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
|
|||
|
macros.
|
|||
|
* expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
|
|||
|
EXIT_BLOCK_EXPR.
|
|||
|
|
|||
|
Thu Aug 20 19:43:44 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* h8300.c (h8300_encode_label): Use '&' for tiny data items.
|
|||
|
* h8300.h (TINY_DATA_NAME_P): Likewise.
|
|||
|
(STRIP_NAME_ENCODING): Handle '&'.
|
|||
|
|
|||
|
* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
|
|||
|
register (it could be accessed via an outer SUBREG).
|
|||
|
(REG_OK_FOR_BASE_P): Likewise.
|
|||
|
(GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
|
|||
|
|
|||
|
* remove.c (optimize_reg_copy_3): Abort instead of silently generating
|
|||
|
bogus rtl.
|
|||
|
|
|||
|
* jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
|
|||
|
|
|||
|
Thu Aug 20 17:35:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (movtf_insn_sp32): All memory operands
|
|||
|
must be offsettable so the splits can be made.
|
|||
|
|
|||
|
Thu Aug 20 13:56:53 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* config/i386/winnt.c: Include system.h, not stdio.h to get
|
|||
|
sys/param.h pulled in before rtl.h in case the system defines MIN
|
|||
|
and MAX.
|
|||
|
|
|||
|
Thu Aug 20 13:44:20 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
|
|||
|
|
|||
|
Thu Aug 20 13:15:11 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
|
|||
|
arrays of bits.
|
|||
|
* cpplib.c (cpp_define): Handle macros with parameters.
|
|||
|
|
|||
|
Wed Aug 19 21:33:19 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
|
|||
|
(output_toc): Use single TOC slot or llong minimal-toc for DFmode
|
|||
|
and DImode 64-bit. Use llong for minimal-toc SFmode and
|
|||
|
SYMBOL_REF / LABEL_REF 64-bit.
|
|||
|
(output_function_profiler): Use llong for profiler label and ld to
|
|||
|
load 64-bit label address.
|
|||
|
|
|||
|
Wed Aug 19 17:52:27 1998 Nick Clifton (nickc@cygnus.com)
|
|||
|
|
|||
|
* config/arm/thumb.md (extendqisi2_insn): Cope with REG +
|
|||
|
OFFSET addressing.
|
|||
|
|
|||
|
Wed Aug 19 14:13:31 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Wed Aug 19 13:10:30 1998 Jeff Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump for snapshot.
|
|||
|
|
|||
|
Wed Aug 19 13:06:47 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* collect2.c (extract_init_priority): Use atoi instead of strtoul.
|
|||
|
|
|||
|
Wed Aug 19 13:51:35 1998 Hans-Peter Nilsson <hp@axis.se>
|
|||
|
|
|||
|
* tm.texi (Misc): Fix typo "teh".
|
|||
|
|
|||
|
* tm.texi (PIC): Fix typo "PPIC".
|
|||
|
|
|||
|
* tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
|
|||
|
effect when -O2 and higher.
|
|||
|
* invoke.texi (Optimize Options): Likewise for -fcaller-saves.
|
|||
|
|
|||
|
1998-08-19 Michael Hayes <michaelh@ongaonga.chch.cri.nz>
|
|||
|
|
|||
|
* regclass.c: Changed register set documentation to be consistent
|
|||
|
with GCC behavior.
|
|||
|
|
|||
|
* final.c (final_start_function): Removed redundant test for
|
|||
|
call_fixed_regs.
|
|||
|
|
|||
|
Wed Aug 19 13:28:41 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* rtl.h (rtx_function): New type.
|
|||
|
(for_each_rtx): New function.
|
|||
|
* rtlanal.c (for_each_rtx): Define it.
|
|||
|
|
|||
|
* recog.c (change_t): New type.
|
|||
|
(change_objects, change_old_codes, change_locs, change_olds):
|
|||
|
Replace with ...
|
|||
|
(changes): New variable.
|
|||
|
(validate_change): Dynamically allocate room for more changes, if
|
|||
|
necessary. Uses changes array instead of change_objects, etc.
|
|||
|
(apply_change_group): Use changes array instead of
|
|||
|
change_objects, etc.
|
|||
|
|
|||
|
* loop.c (loop_mem_info): New type.
|
|||
|
(loop_mems): New variable.
|
|||
|
(loop_mems_idx): Likewise.
|
|||
|
(looop_mems_allocated): Likewise.
|
|||
|
(scan_loop): Remove nregs parameter.
|
|||
|
(next_insn_in_loop): New function.
|
|||
|
(load_mems_and_recount_loop_regs_set): Likewise.
|
|||
|
(load_mems): Likewise.
|
|||
|
(insert_loop_mem): Likewise.
|
|||
|
(replace_loop_mem): Likewise.
|
|||
|
(replace_label): Likewise.
|
|||
|
(INSN_IN_RANGE_P): New macro.
|
|||
|
(loop_optimize): Don't pass max_reg_num() to scan_loop.
|
|||
|
(scan_loop): Remove nregs parameter, compute it after any new
|
|||
|
registers are created by load_mems. Use INSN_IN_RANGE_P and
|
|||
|
next_insn_in_loop rather than expanding them inline. Call
|
|||
|
load_mems to load memory into pseudos, if appropriate.
|
|||
|
(prescan_loop): Figure out whether or not there are jumps from the
|
|||
|
loop to targets other than the label immediately following the
|
|||
|
loop. Call insert_loop_mem to notice all the MEMs used in the
|
|||
|
loop, if it could be safe to pull MEMs into REGs for the duration
|
|||
|
of the loop.
|
|||
|
(strength_reduce): Use next_insn_in_loop. Tweak comments.
|
|||
|
|
|||
|
Wed Aug 19 08:29:44 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.c (arm_override_options): Remove lie about ignoring PIC flag.
|
|||
|
|
|||
|
Wed Aug 19 07:08:15 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (finalize_pic): Check for the correct
|
|||
|
nonlocal_goto_receiver UNSPEC number.
|
|||
|
* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
|
|||
|
making note of this dependency existing in sparc.c.
|
|||
|
(negtf2_notv9 split): Give NEG SFmode.
|
|||
|
(negsf2): Fix insn output string.
|
|||
|
|
|||
|
Tue Aug 18 12:40:27 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* c-common.c (decl_attributes): Issue an error if the argument
|
|||
|
to alias is not a string.
|
|||
|
|
|||
|
Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
|
|||
|
pending memory flush list.
|
|||
|
|
|||
|
* combine.c (can_combine_p): Allow combining insns with REG_RETVAL
|
|||
|
notes.
|
|||
|
(try_combine): Allow combining insns with REG_LIBCALL notes.
|
|||
|
|
|||
|
* expr.c (emit_block_move): Do not call memcpy as a libcall
|
|||
|
instead build up a CALL_EXPR and call it like any other
|
|||
|
function.
|
|||
|
(clear_storage): Similarly for memset.
|
|||
|
|
|||
|
* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
|
|||
|
on notes.
|
|||
|
|
|||
|
* Makefile.in (cplus-dem.o): Provide explicit rules for building
|
|||
|
cplus-dem.o.
|
|||
|
|
|||
|
* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
|
|||
|
and REG_LIVE_LENGTH as successful substitutions are made.
|
|||
|
|
|||
|
Tue Aug 18 07:15:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* config/sparc/sparc.c (ultra_find_type): Add empty semicolon
|
|||
|
statement after end of loop label.
|
|||
|
|
|||
|
Tue Aug 18 07:13:27 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (ultra_types_avail): New variable.
|
|||
|
(ultra_build_types_avail): New function to record mask of insn
|
|||
|
types in ready list at this cycle.
|
|||
|
(ultrasparc_sched_reorder): Call it.
|
|||
|
(ultra_find_type): Use it to quicken the search. Also simplif
|
|||
|
dependency check, don't use rtx_equal_p because we know exactly
|
|||
|
what we are looking for.
|
|||
|
|
|||
|
Tue Aug 18 03:20:53 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
|
|||
|
for architecture v4.
|
|||
|
|
|||
|
Mon Aug 17 21:26:38 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
|
|||
|
gen_compare_reg.
|
|||
|
(movsf_const_intreg, movsf_const_high, movsf_const_lo,
|
|||
|
movdf_const_intreg and helper splits): New patterns to move float
|
|||
|
constants into integer registers.
|
|||
|
(negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
|
|||
|
splits.
|
|||
|
|
|||
|
Mon Aug 17 11:46:19 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* From Graham
|
|||
|
* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
|
|||
|
to itype.
|
|||
|
* c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
|
|||
|
|
|||
|
* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
|
|||
|
a BASE_REGS register is needed as an intermediate when copying
|
|||
|
a symbolic value into any register class other than BASE_REGS.
|
|||
|
|
|||
|
* expr.c (move_by_pieces): No longer static. Remove prototype.
|
|||
|
* rtl.h (move_by_pieces): Add extern prototype.
|
|||
|
* mips.c (expand_block_move): Handle aligned straight line copy by
|
|||
|
calling move_by_pieces.
|
|||
|
|
|||
|
* expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
|
|||
|
and VAR_DECLs.
|
|||
|
|
|||
|
Mon Aug 17 10:28:52 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* stmt.c (expand_end_loop): Tidy. Allow unconditional
|
|||
|
jumps out of the loop to be treated as part of the exit test.
|
|||
|
|
|||
|
Mon Aug 17 10:06:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
Jeff Law <law@cygnus.com>
|
|||
|
|
|||
|
* Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
|
|||
|
* cplus-dem.c: Delete.
|
|||
|
|
|||
|
* Makefile.in (fold-const.o): Depend on $(RTL_H).
|
|||
|
|
|||
|
* fold-const.c: Include rtl.h to get the prototype for
|
|||
|
`set_identifier_local_value'.
|
|||
|
|
|||
|
* loop.c (express_from_1): Remove unused variable `tmp'.
|
|||
|
(combine_givs): Cast the first argument of bzero to char *.
|
|||
|
|
|||
|
* toplev.c (display_help): Remove unused variable `looking_for_start'.
|
|||
|
|
|||
|
* c-decl.c (init_decl_processing): Remove unneeded &.
|
|||
|
|
|||
|
* alpha.h (alpha_initialize_trampoline): Provide prototype.
|
|||
|
|
|||
|
* except.c (set_exception_lang_code, set_exception_version_code):
|
|||
|
Change parameter from `short' to `int' to avoid using a gcc
|
|||
|
extension.
|
|||
|
|
|||
|
* except.h (set_exception_lang_code, set_exception_version_code):
|
|||
|
Likewise for prototypes.
|
|||
|
|
|||
|
* flow.c (count_reg_references): Remove unused variables `regno'
|
|||
|
and `i'.
|
|||
|
|
|||
|
* gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
|
|||
|
|
|||
|
* prefix.c (translate_name): Cast the result of `alloca'.
|
|||
|
|
|||
|
* varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
|
|||
|
|
|||
|
Mon Aug 17 09:23:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
|||
|
|
|||
|
* config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
|
|||
|
Include "toplev.h".
|
|||
|
(valid_dbcc_comparison_p): Mark mode argument as unused.
|
|||
|
(symbolic_operand): Likewise.
|
|||
|
(legitimize_pic_address): Likewise.
|
|||
|
(const_uint32_operand): Likewise.
|
|||
|
(const_sint32_operand): Likewise.
|
|||
|
* sched.c [!INSN_SCHEDULING]: Define only dummy function
|
|||
|
schedule_insns and comment out rest of file.
|
|||
|
|
|||
|
* m68k.c (output_move_simode_const): Use subl to move a zero into an
|
|||
|
address register.
|
|||
|
(output_move_[hq]imode): Likewise.
|
|||
|
|
|||
|
Mon Aug 17 09:15:47 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
|
|||
|
* invoke.texi: Corresponding changes.
|
|||
|
|
|||
|
Mon Aug 17 02:03:55 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* regclass.c (allocate_reg_info): Respect MIN when clearing data.
|
|||
|
|
|||
|
Sun Aug 16 17:37:06 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (ultra_code_from_mask,
|
|||
|
ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
|
|||
|
ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
|
|||
|
ultrasparc_sched_init, ultrasparc_variable_issue,
|
|||
|
ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
|
|||
|
functions to describe UltraSPARC pipeline exactly to Haifa.
|
|||
|
(ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
|
|||
|
as there is nothing the scheduler can do about it. Indicate that
|
|||
|
REG_DEP_OUTPUT's collide. Fixup formatting.
|
|||
|
* config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
|
|||
|
divide costs on Ultra for DImode.
|
|||
|
(MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
|
|||
|
Define.
|
|||
|
* config/sparc/sparc.md (ieu_unnamed function unit): Rename to
|
|||
|
ieuN and add call_no_delay_slot to type list.
|
|||
|
(cti function unit): New unit for branches on UltraSPARC.
|
|||
|
(subx/addx insns): Set type to misc.
|
|||
|
(sidi zero/sign extension insns on arch64): Set type to shift.
|
|||
|
(sign_extendhidi2_insn): Set type to sload.
|
|||
|
|
|||
|
Sun Aug 16 13:52:00 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
|
|||
|
(output_epilog): Use if != 0 for offset.
|
|||
|
(rs6000_fatal_bad_address): Prepare for Intl.
|
|||
|
* rs6000.h (rs6000_fatal_bad_address): Declare.
|
|||
|
* rs6000.md (movsfcc, movdfcc): Use else if.
|
|||
|
(elf_high): Use {liu|lis}.
|
|||
|
(elf_low): Use {cal|la}. Remove %a template from old mnemonics.
|
|||
|
(movsi): Use rs6000_fatal_bad_address.
|
|||
|
|
|||
|
Sun Aug 16 01:53:21 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* reload.c (find_equiv_reg): Reject equivalences separated
|
|||
|
by a volatile instruction.
|
|||
|
|
|||
|
Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
|
|||
|
|
|||
|
* rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
|
|||
|
|
|||
|
Sat Aug 15 20:51:35 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (movsicc): Fix mode mismatch.
|
|||
|
|
|||
|
Sat Aug 15 20:22:33 1998 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
|
|||
|
return type.
|
|||
|
* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
|
|||
|
|
|||
|
Sat Aug 15 08:39:49 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
|
|||
|
write-only modifier from operand 1 constraint.
|
|||
|
|
|||
|
Sat Aug 15 06:28:19 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
|
|||
|
emitting a XOR of -1 at the end, emit a NOT instead for combine's
|
|||
|
sake.
|
|||
|
(sparc_emit_set_const64): Likewise, also when computing trailing
|
|||
|
bits do not negate low_bits and make fast_int an int.
|
|||
|
|
|||
|
Fri Aug 14 21:07:03 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* loop.c (add_label_notes): Do not ignore references to labels
|
|||
|
before dispatch tables. Mirrors Apr 8 change to mark_jump_label.
|
|||
|
* gcse.c (add_label_notes): Similarly.
|
|||
|
|
|||
|
* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
|
|||
|
|
|||
|
* m68k.md (adddi_dilshr32): One of the operands must be a register.
|
|||
|
(adddi_dishl32): Similarly.
|
|||
|
|
|||
|
Fri Aug 14 14:12:59 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
|
|||
|
* alias.c (memrefs_conflict_p): Add braces to shut up warnings.
|
|||
|
* cse.c (cse_basic_block): Add parens to shut up warnings.
|
|||
|
|
|||
|
Fri Aug 14 12:58:21 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (sparc_emit_set_const64_quick2,
|
|||
|
sparc_emit_set_const64_longway, const64_is_2insns,
|
|||
|
create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
|
|||
|
in 64-bit constant formation.
|
|||
|
* config/sparc/sparc.md (snesi_zero_extend split): Generate
|
|||
|
rtl for addx not subx.
|
|||
|
(define_insn movdi_const64_special): Make available even when
|
|||
|
HOST_BITS_PER_WIDE_INT is not 64.
|
|||
|
(movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
|
|||
|
(losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
|
|||
|
(cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
|
|||
|
instances of operand 1 inside a QI subreg.
|
|||
|
(xordi3_sp64_dbl): Remove '%' constraint for op1.
|
|||
|
(one_cmpldi2_sp64): Fix output string.
|
|||
|
(one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
|
|||
|
alternative case.
|
|||
|
(unnamed arch64 ashift DI): Truncate shift count if greater than
|
|||
|
63, not 31.
|
|||
|
|
|||
|
Fri Aug 14 21:52:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
|
|||
|
|
|||
|
* expr.c (store_expr): Don't optimize away load-store pair
|
|||
|
when either source or destination have a side effect.
|
|||
|
|
|||
|
Fri Aug 14 16:50:10 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* genrecog.c (add_to_sequence): Fatal error if the modes of the
|
|||
|
operands of SET are incompatible.
|
|||
|
|
|||
|
* alpha.md: Fix max and min patterns so modes of SET operands match.
|
|||
|
|
|||
|
Fri Aug 14 12:22:55 1998 Ian Lance Taylor <ian@cygnus.com>
|
|||
|
|
|||
|
* configure.in: Avoid [[ by using test and changequote.
|
|||
|
* configure: Rebuild.
|
|||
|
|
|||
|
Fri Aug 14 01:22:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* rtl.def (CONSTANT_P_RTX): Fix typo in string name.
|
|||
|
|
|||
|
* config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
|
|||
|
seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
|
|||
|
split, snedi_zero_trunc and split, seqsi_zero_extend and split,
|
|||
|
seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
|
|||
|
movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
|
|||
|
split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
|
|||
|
Fix mismatching modes in SET operands.
|
|||
|
(conditional move patterns): Fix formatting.
|
|||
|
(unnamed subx arch64 pattern): Remove duplicate insn.
|
|||
|
|
|||
|
Fri Aug 14 00:34:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (const64_operand, const64_high_operand):
|
|||
|
Get it right when HOST_BITS_PER_WIDE_INT is not 64.
|
|||
|
(input_operand): Fixup test for what we accept for constant
|
|||
|
integers.
|
|||
|
(sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
|
|||
|
set VOIDmode.
|
|||
|
(safe_constDI): Remove.
|
|||
|
(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
|
|||
|
gen_safe_XOR64): New functions.
|
|||
|
(sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
|
|||
|
sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
|
|||
|
them.
|
|||
|
* config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
|
|||
|
available when HOST_BITS_PER_WIDE_INT is not 64.
|
|||
|
(define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
|
|||
|
move before movdi_insn_sp64 pattern.
|
|||
|
(define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
|
|||
|
(define_insn sethi_di_medlow, seth44, setm44, sethh): Use
|
|||
|
symbolic_operand as predicate for second operand.
|
|||
|
(DImode minus split on arch32, negsi2 expander, one_cmplsi2
|
|||
|
expander): Give set VOIDmode.
|
|||
|
|
|||
|
Fri Aug 14 01:45:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
|
|||
|
|
|||
|
* i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
|
|||
|
|
|||
|
Fri Aug 14 01:40:21 1998 Geoffrey Keating <geoffk@ozemail.com.au>
|
|||
|
|
|||
|
* rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
|
|||
|
|
|||
|
Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
|
|||
|
point.
|
|||
|
(CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
|
|||
|
|
|||
|
Fri Aug 14 01:19:08 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* install.texi: Various SCO OpenServer tweaks.
|
|||
|
|
|||
|
Thu Aug 13 20:14:40 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* reload1.c (eliminate_regs_in_insn): Handle another case when
|
|||
|
eliminating the frame pointer to the hard frame pointer. Add
|
|||
|
missing ep->to_rtx check to one existing case.
|
|||
|
|
|||
|
* mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
|
|||
|
|
|||
|
Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* tree.h: De-conditionalize init_priority code.
|
|||
|
|
|||
|
* mips.h (NM_FLAGS): Change from -Bp to -Bn.
|
|||
|
* collect2.c (NM_FLAGS): Change from -p to -n.
|
|||
|
|
|||
|
* configure.in: Turn on collect2 for mipstx39-elf.
|
|||
|
Handle use_collect2=no properly.
|
|||
|
|
|||
|
* c-common.c: De-conditionalize init_priority code.
|
|||
|
* collect2.c (extract_init_priority, sort_ids): New fns.
|
|||
|
(main): Call sort_ids.
|
|||
|
Move sequence_number to file scope.
|
|||
|
|
|||
|
* configure.in: Handle --enable-init-priority.
|
|||
|
* c-common.c (attrs): Add A_INIT_PRIORITY.
|
|||
|
(init_attributes, decl_attributes): Likewise.
|
|||
|
* tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
|
|||
|
* tree.c (get_file_function_name_long): Split out...
|
|||
|
(get_file_function_name): ...from here.
|
|||
|
|
|||
|
Thu Aug 13 16:09:53 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
|
|||
|
|
|||
|
* expr.c (safe_from_p): Change code to ERROR_MARK only when not
|
|||
|
accessing nodes.
|
|||
|
|
|||
|
Thu Aug 13 15:24:48 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* toplev.c (display_help): Add braces to shut up warnings.
|
|||
|
* tree.c (simple_cst_equal): Likewise.
|
|||
|
|
|||
|
* fold-const.c (non_lvalue): Don't deal with null pointer
|
|||
|
constants here.
|
|||
|
(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
|
|||
|
|
|||
|
* c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
|
|||
|
of any size to a pointer.
|
|||
|
|
|||
|
Thu Aug 13 12:53:13 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
|
|||
|
|
|||
|
Wed Aug 12 17:25:18 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
|
|||
|
which will be saved.
|
|||
|
* mn10300.md (prologue insn): Only save registers which need saving.
|
|||
|
(epilogue insn): Similarly.
|
|||
|
|
|||
|
* mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
|
|||
|
optimizations.
|
|||
|
|
|||
|
Wed Aug 12 12:39:16 1998 Gavin Romig-Koch <gavin@cygnus.com>
|
|||
|
|
|||
|
* mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
|
|||
|
VAR_DECL's in gp addressable sections.
|
|||
|
|
|||
|
Tue Aug 11 23:02:31 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* sparc.c: Change return <exp> to <exp>; return; in functions
|
|||
|
returning void.
|
|||
|
* sparc.md: Add empty semicolon statement after final label in
|
|||
|
move expanders.
|
|||
|
|
|||
|
Tue Aug 11 22:42:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.md (define_insn addx_extend): Rename to
|
|||
|
addx_extend_sp64, only allow when TARGET_ARCH64.
|
|||
|
(define_insn addx_extend_sp32 and split): Version that works when
|
|||
|
not TARGET_ARCH64.
|
|||
|
(define_insn subx_extend): Likewise.
|
|||
|
(define_split adddi3 and subdi3 with zero extension): Fixup and
|
|||
|
correct bugs when not TARGET_ARCH64.
|
|||
|
|
|||
|
Tue Aug 11 16:04:34 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* except.c (set_exception_lang_code, set_exception_version_code):
|
|||
|
Use prototype-style definition if __STDC__, to match declaration
|
|||
|
in except.h.
|
|||
|
|
|||
|
* genemit.c: Change FAIL and DONE macros not to use loops.
|
|||
|
|
|||
|
Tue Aug 11 12:27:03 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
|
|||
|
ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
|
|||
|
|
|||
|
* mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
|
|||
|
|
|||
|
Tue Aug 11 18:12:53 1998 Dave Love <d.love@dl.ac.uk>
|
|||
|
|
|||
|
* README.g77: Update from Craig.
|
|||
|
|
|||
|
Tue Aug 11 04:46:01 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
|
|||
|
type HOST_WIDE_INT.
|
|||
|
(safe_constDI sparc_emit_set_const64_quick1,
|
|||
|
sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
|
|||
|
analyze_64bit_constant, const64_is_2insns,
|
|||
|
create_simple_focus_bits): Fix some bugs when compiled on real
|
|||
|
64-bit hosts.
|
|||
|
(function_arg_record_value_3, function_arg_record_value_2,
|
|||
|
function_arg_record_value): Add fully prototyped forward decls.
|
|||
|
* config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
|
|||
|
to cmpsi_insn and use on both 64 and 32 bit targets.
|
|||
|
(define_insn cmpsi_insn_sp64): Remove.
|
|||
|
(define_expand zero_extendsidi2): Allow for 32-bit target too.
|
|||
|
(define_insn zero_extendsidi2_insn): Rename to
|
|||
|
zero_extendsidi2_insn_sp64.
|
|||
|
(define_insn zero_extendsidi2_insn_sp32): New pattern and
|
|||
|
associated forced split for it.
|
|||
|
|
|||
|
* config/sparc/sparc.c (const64_operand, const64_high_operand):
|
|||
|
New predicates.
|
|||
|
* config/sparc/sparc.h: Declare them.
|
|||
|
(PREDICATE_CODES): Add them.
|
|||
|
* config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
|
|||
|
movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
|
|||
|
|
|||
|
Mon Aug 10 22:57:24 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
|
|||
|
in v9 case as the latter makes the Solaris assembler crash.
|
|||
|
|
|||
|
Mon Aug 10 22:39:09 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
|
|||
|
for TFmode when !v9. We require offsettable memory addresses.
|
|||
|
* config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
|
|||
|
DFmode register number conversions.
|
|||
|
* config/sparc/sparc.md (define_split DFmode moves): If register
|
|||
|
is a SUBREG do alter_subreg on it before using.
|
|||
|
(define_expand movtf): Fixup comment about alignment on v9.
|
|||
|
(define_split TFmode moves): Don't use gen_{high,low}part, create
|
|||
|
explicit SUBREGs instead.
|
|||
|
|
|||
|
Mon Aug 10 19:02:55 1998 John Carr <jfc@mit.edu>
|
|||
|
|
|||
|
* Makefile.in (mbchar.o): Depend on mbchar.c.
|
|||
|
|
|||
|
Mon Aug 10 04:28:13 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
Rewrite Sparc backend for better code generation and
|
|||
|
improved sparc64 support.
|
|||
|
* config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
|
|||
|
zero.
|
|||
|
* config/sparc/sysv4.h: Likewise.
|
|||
|
* config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
|
|||
|
move_operand, v8plus_regcmp_op, emit_move_sequence,
|
|||
|
singlemove_string, doublemove_string, mem_aligned_8,
|
|||
|
output_move_double, output_move_quad, output_fp_move_double,
|
|||
|
move_quad_direction, output_fp_move_quad, output_scc_insn):
|
|||
|
Remove.
|
|||
|
(small_int_or_double): New predicate.
|
|||
|
(gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
|
|||
|
(legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
|
|||
|
old pic_{sethi,lo_sum}_si patterns.
|
|||
|
(mem_min_alignment): New generic function to replace
|
|||
|
mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
|
|||
|
available and can test for arbitrary alignments. All callers
|
|||
|
changed.
|
|||
|
(save_regs, restore_regs, build_big_number,
|
|||
|
output_function_prologue, output_cbranch, output_return,
|
|||
|
sparc_flat_save_restore, sparc_flat_output_function_prologue,
|
|||
|
sparc_flat_output_function_epilogue): Prettify
|
|||
|
insn output.
|
|||
|
(output_function_epilogue): Likewise and add code to output
|
|||
|
deferred case vectors.
|
|||
|
(output_v9branch): Likewise, add new arg INSN and use it to tack
|
|||
|
on branch prediction settings. All callers changed.
|
|||
|
(print_operand): Likewise and output %l44 for LO_SUMs when
|
|||
|
TARGET_CM_MEDMID.
|
|||
|
(sparc_splitdi_legitimate): New function to make sure DImode
|
|||
|
splits can be run properly when !arch64.
|
|||
|
(sparc_initialize_trampoline, sparc64_initialize_trampoline):
|
|||
|
Reformat example code in comments.
|
|||
|
(set_extends): Remove UNSPEC/v8plus_clear_high case.
|
|||
|
(sparc_addr_diff_list, sparc_addr_list): New statics to keep track
|
|||
|
of deferred case vectors we need to output.
|
|||
|
(sparc_defer_case_vector): Record a case vector.
|
|||
|
(sparc_output_addr_vec, sparc_output_addr_diff_vec,
|
|||
|
sparc_output_deferred_case_vectors): New functions to output them.
|
|||
|
(sparc_emit_set_const32): New function to form 32-bit constants in
|
|||
|
registers when that requires more than one instruction.
|
|||
|
(safe_constDI, sparc_emit_set_const64_quick1,
|
|||
|
sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
|
|||
|
analyze_64bit_constant, const64_is_2insns,
|
|||
|
create_simple_focus_bits, sparc_emit_set_const64): New functions
|
|||
|
which do the same for 64-bit constants when arch64.
|
|||
|
(sparc_emit_set_symbolic_const64): New function to emit address
|
|||
|
loading for all code models on v9.
|
|||
|
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
|
|||
|
%g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
|
|||
|
(ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
|
|||
|
(SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
|
|||
|
inaccuracies in comments, add symbolic and text_segment operands
|
|||
|
when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively. Use
|
|||
|
GENERAL_REGS in these cases as a temp REG is needed to load these
|
|||
|
addresses into a register properly.
|
|||
|
(EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
|
|||
|
is no longer used.
|
|||
|
(GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
|
|||
|
quads are guaranteed to have 16-byte alignment.
|
|||
|
(LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
|
|||
|
copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
|
|||
|
(ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
|
|||
|
deferred case vector implementation.
|
|||
|
(ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
|
|||
|
(ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
|
|||
|
Generate "internal label - label" instead of "label - 1b".
|
|||
|
(PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
|
|||
|
(PREDICATE_CODES): Remove sparc_operand, move_operand,
|
|||
|
v8plus_regcmp_op. Add small_int_or_double, input_operand, and
|
|||
|
zero_operand.
|
|||
|
(doublemove_string, output_block_move, output_fp_move_double,
|
|||
|
output_fp_move_quad, output_move_double, output_move_quad,
|
|||
|
output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
|
|||
|
sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
|
|||
|
(sparc_emit_set_const32, sparc_emit_set_const64,
|
|||
|
sparc_emit_set_symbolic_const64, input_operand, zero_operand,
|
|||
|
mem_min_alignment, small_int_or_double): Add externs.
|
|||
|
* config/sparc/sparc.md: Document the many uses of UNSPEC and
|
|||
|
UNSPEC_VOLATILE in this backend.
|
|||
|
(define_function_unit ieu): Rename to ieu_unnamed. Add move and
|
|||
|
unary to types which execute in it.
|
|||
|
(define_function_unit ieu_shift): Rename to ieu0.
|
|||
|
(define_function_unit ieu1): New, executes compare, call, and
|
|||
|
uncond_branch type insns.
|
|||
|
(define_function_units for type fdivs, fdivd, fsqrt): These
|
|||
|
execute in the fpu multiply unit not the adder on UltraSparc.
|
|||
|
(define_expand cmpdi): Disallow TARGET_V8PLUS.
|
|||
|
(define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
|
|||
|
(define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
|
|||
|
allows the arith_double_operand predicate and rHI constraint when
|
|||
|
TARGET_ARCH64.
|
|||
|
(define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
|
|||
|
cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
|
|||
|
neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
|
|||
|
sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
|
|||
|
sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
|
|||
|
movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
|
|||
|
movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
|
|||
|
movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
|
|||
|
movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
|
|||
|
cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
|
|||
|
sign_extendqihi2_insn, sign_extendqisi2_insn,
|
|||
|
sign_extendqidi2_insn, sign_extendhidi2_insn,
|
|||
|
extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
|
|||
|
trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
|
|||
|
floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
|
|||
|
fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
|
|||
|
adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
|
|||
|
subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
|
|||
|
muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
|
|||
|
const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
|
|||
|
smulsi3_highpart_v8plus, unnamed subreg mult,
|
|||
|
const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
|
|||
|
const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
|
|||
|
const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
|
|||
|
const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
|
|||
|
const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
|
|||
|
udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
|
|||
|
andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
|
|||
|
or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
|
|||
|
xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
|
|||
|
cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
|
|||
|
cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
|
|||
|
cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
|
|||
|
cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
|
|||
|
cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
|
|||
|
cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
|
|||
|
addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
|
|||
|
muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
|
|||
|
negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
|
|||
|
ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
|
|||
|
cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
|
|||
|
ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
|
|||
|
lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
|
|||
|
call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
|
|||
|
call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
|
|||
|
call_address_untyped_struct_value_sp32,
|
|||
|
call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
|
|||
|
call_value_symbolic_sp32, call_value_address_sp64,
|
|||
|
call_value_symbolic_sp64, branch_sp32, branch_sp64,
|
|||
|
flush_register_windows, goto_handler_and_restore,
|
|||
|
goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
|
|||
|
flush, all ldd/std peepholes, return_qi, return_hi, return_si,
|
|||
|
return_addsi, return_di, return_adddi, return_sf, all call+jump
|
|||
|
peepholes, trap, unnamed trap insns): Prettify output strings.
|
|||
|
(define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
|
|||
|
or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
|
|||
|
Likewise and force + implement splits for integer cases.
|
|||
|
(define_insn return_sf_no_fpu): Likewise and allow to match when
|
|||
|
no-fpu because of our subreg SFmode splits.
|
|||
|
(define_insn zero_extendqihi2, zero_extendqisi2_insn,
|
|||
|
zero_extendqidi2_insn, zero_extendhidi2_insn,
|
|||
|
zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
|
|||
|
input_operand for second operand.
|
|||
|
(cmp_minus_cc, cmp_minus_cc_set): Likewise and use
|
|||
|
reg_or_0_operand for operand 2 so new splits can use it.
|
|||
|
(cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
|
|||
|
cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
|
|||
|
too.
|
|||
|
(cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
|
|||
|
CONST_DOUBLEs for operand 2.
|
|||
|
(define_insn move_label_di): Likewise and label distance
|
|||
|
optimization because it no longer works with new deferred case
|
|||
|
vector scheme. To be revisited.
|
|||
|
(define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
|
|||
|
and allow reg_or_0_operand and J constraint for second operand.
|
|||
|
(define_insn jump): Set branch predict taken on V9.
|
|||
|
(define_insn tablejump): Emit LABEL_REF + PLUS memory address for
|
|||
|
new deferred case vector scheme.
|
|||
|
(define_insn pic_tablejump_32, pic_tablejump_64): Remove.
|
|||
|
(define_insn negdi2_sp32): Force + implement splits.
|
|||
|
(define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
|
|||
|
one_cmplsi2_not_liveg0 respectively, and create expander of original
|
|||
|
names which emit special rtl for TARGET_LIVE_G0.
|
|||
|
(define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
|
|||
|
(define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
|
|||
|
gen_compare_reg, FAIL instead.
|
|||
|
(define_insn sgtu, sleu): Likewise and check gen_s*() return
|
|||
|
values when trying to reverse condition codes, if they FAIL then
|
|||
|
do likewise.
|
|||
|
(define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
|
|||
|
snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
|
|||
|
neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
|
|||
|
seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
|
|||
|
x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
|
|||
|
set output string to # to indicate they are mandatory splits.
|
|||
|
(define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
|
|||
|
pic_sethi_di, move_pic_label_si): Remove.
|
|||
|
(define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
|
|||
|
movsi_high_pic, movsi_pic_label_reg): New patterns to take their
|
|||
|
place.
|
|||
|
(define_expand movsi_pic_label_ref, define_insn
|
|||
|
movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
|
|||
|
expander and insns to handle PIC label references and deferred
|
|||
|
case vectors.
|
|||
|
(define_insn get_pc_via_rdpc): Comment out as it is no longer
|
|||
|
used.
|
|||
|
(define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
|
|||
|
Rewrite to not use emit_move_sequence, make use of new constant
|
|||
|
formation code, and new splits for all multi-insn cases.
|
|||
|
(define_insn movqi_insn): Remove sethi case, it can never happen.
|
|||
|
Use reg_or_zero_operand instead of const0_rtx explicit test,
|
|||
|
use input_operand instead of move_operand for source, and use
|
|||
|
general_operand now for dest.
|
|||
|
(define_insn movhi_insn): Similar but leave sethi case.
|
|||
|
(define_insn lo_sum_qi, store_qi, store_hi): Remove.
|
|||
|
(define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
|
|||
|
movhi_lo_sum respectively, prettify output string.
|
|||
|
(define_insn movsi_zero_liveg0): New pattern to put zero into a
|
|||
|
register when needed on TARGET_LIVE_G0.
|
|||
|
(define_insn movsi_insn): Use general_operand and input_operand
|
|||
|
for dest and src respectively. Simplify applicability test.
|
|||
|
Prettify output strings, and add clr alternative for J
|
|||
|
constraint.
|
|||
|
(define_insn movdi_sp32_v9, movdi_sp32, define_splits for
|
|||
|
deprecated std and reg-reg DI moves): Remove and...
|
|||
|
(define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
|
|||
|
implementation which uses forced splits for all non-single insn
|
|||
|
cases.
|
|||
|
(define_split DI move cases on !arch64): New splits to handle all
|
|||
|
situations of 64-bit double register DImode on 32bit, and
|
|||
|
unaligned registers and memory addresses for all subtargets.
|
|||
|
(define_insn movsf_const_insn, movdf_const_insn, store_sf):
|
|||
|
Remove.
|
|||
|
(define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
|
|||
|
input_operand for dest and src respectively, prettify output
|
|||
|
strings.
|
|||
|
(define_insn movdf_insn, movdf_no_e_insn, store_df,
|
|||
|
movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
|
|||
|
and...
|
|||
|
(define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
|
|||
|
movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
|
|||
|
movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
|
|||
|
movtf_no_e_insn_sp64): Replace with new
|
|||
|
implementation which uses forced splits for all non-single insn
|
|||
|
cases.
|
|||
|
(define_split DF move cases): New splits in similar vein to DI
|
|||
|
move counterparts.
|
|||
|
(define_insn sethi_di_medlow, sethi_di_medium_pic,
|
|||
|
sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
|
|||
|
movdi_sp64_insn): Remove old v9 code model and constant loading
|
|||
|
support insns and..
|
|||
|
(define_insn pic_lo_sum_di, pic_sethi_di,
|
|||
|
sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
|
|||
|
seth44, setm44, setl44, sethh, setlm, sethm, setlo,
|
|||
|
embmedany_sethi, embmedany_losum, embmedany_brsum,
|
|||
|
embmedany_textuhi, embmedany_texthi, embmedany_textulo,
|
|||
|
embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
|
|||
|
movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
|
|||
|
scheme, using unspecs, secondary reloads, and one to one sparc
|
|||
|
insn to rtl insn mapping for better scheduling and code gen.
|
|||
|
(define_expand reload_indi, reload_outdi): Reload helpers for
|
|||
|
MEDANY and EMBMEDANY symbol address loading cases which require a
|
|||
|
temporary register.
|
|||
|
(define_expand movsicc): Remove v8plus_regcmp cases.
|
|||
|
(define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
|
|||
|
cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
|
|||
|
cmp_diqi_trunc_set): New patterns used by some of the new scc
|
|||
|
splits on arch64.
|
|||
|
(define_insn xordi3_sp64_dbl): New pattern used for constant
|
|||
|
formation when crossing from 32-bit targets.
|
|||
|
(define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
|
|||
|
split): Remove.
|
|||
|
(define_insn addx, subx): Make visible and prettify.
|
|||
|
(define_insn adddi3_insn_sp32): Likewise and force split.
|
|||
|
(define_insn addx_extend, subx_extend, unnamed): New patterns for
|
|||
|
64bit scc split usage.
|
|||
|
(define_insn unnamed plusDI zero_extend, unnamed minusDI
|
|||
|
zero_extend, subdi3): Force and implement splits.
|
|||
|
|
|||
|
* final.c (final_scan_insn): Don't output labels if target
|
|||
|
specifies ASM_OUTPUT_ADDR_{DIFF}_VEC. Do these macro operations
|
|||
|
instead.
|
|||
|
|
|||
|
* reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
|
|||
|
don't forget to walk inside SEQUENCESs too as these are what the
|
|||
|
delay slot scheduler will create.
|
|||
|
|
|||
|
Mon Aug 10 01:21:01 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (extxl+1,+2): New patterns to work around
|
|||
|
combine lossage.
|
|||
|
|
|||
|
Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
|
|||
|
|
|||
|
* rs6000.c (rs6000_allocate_stack_space): Fix typo which
|
|||
|
caused bad assembly code to be generated.
|
|||
|
|
|||
|
Sat Aug 8 18:53:28 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* netbsd.h: Fix typo.
|
|||
|
|
|||
|
Mon Aug 3 00:06:42 1998 Robert Lipe <robertl@dgii.com>
|
|||
|
|
|||
|
* config.sub: Fix typo.
|
|||
|
|
|||
|
Sun Aug 2 22:39:08 1998 Hans-Peter Nilsson <hp@axis.se>
|
|||
|
|
|||
|
* invoke.texi (Environment Variables): Typo: Change "ascpects"
|
|||
|
into "aspects".
|
|||
|
(Running Protoize): Typo: Change "ther" into "other".
|
|||
|
|
|||
|
Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
|
|||
|
* m68k/netbsd.h: Likewise.
|
|||
|
* ns32k/netbsd.h: Likewise.
|
|||
|
* sparc/netbsd.h: Likewise.
|
|||
|
|
|||
|
Sat Aug 1 17:59:30 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* ginclude/va-alpha.h (va_list): Use a typedef, not a define.
|
|||
|
* ginclude/va-clipper.h (va_list): Likewise.
|
|||
|
|
|||
|
Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com>
|
|||
|
|
|||
|
* rs6000.c (rs6000_override_options): If big endian and -Os, use
|
|||
|
load/store multiple instructions unless user overrides.
|
|||
|
|
|||
|
Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* ns32k/netbsd.h: Fix typo.
|
|||
|
|
|||
|
Fri Jul 31 10:23:55 1998 Doug Evans <devans@canuck.cygnus.com>
|
|||
|
|
|||
|
* m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
|
|||
|
labels with .debugsym if no parallel insns.
|
|||
|
|
|||
|
Thu Jul 30 19:15:53 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
|
|||
|
(fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
|
|||
|
|
|||
|
Thu Jul 30 19:50:15 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
|
|||
|
(AR_FOR_TARGET): Define.
|
|||
|
|
|||
|
Thu Jul 30 12:29:12 1998 Mark Mitchell <mark@markmitchell.com>
|
|||
|
|
|||
|
* dyn-string.h: New file.
|
|||
|
* dyn-string.c: Likewise.
|
|||
|
* Makefile.in (OBJS): Add dyn-string.o.
|
|||
|
(dwarf2out.o): Add dyn-string.h dependency.
|
|||
|
(dyn-string.o): List dependencies.
|
|||
|
* dwarf2out.c: Include dyn-string.h.
|
|||
|
(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
|
|||
|
(addr_const_to_string): Take a dyn_string_t, not a char* as a
|
|||
|
prototype. Use dyn_string_append rather than strcat, throughout.
|
|||
|
(addr_to_string): Use dyn_string_t.
|
|||
|
|
|||
|
Thu Jul 30 13:08:07 1998 Ken Raeburn <raeburn@cygnus.com>
|
|||
|
|
|||
|
Function entry/exit profiling instrumentation:
|
|||
|
* expr.h (profile_function_entry_libfunc,
|
|||
|
profile_function_exit_libfunc): Declare new variables.
|
|||
|
* optabs.c: Define them here.
|
|||
|
(init_optabs): Initialize them.
|
|||
|
* tree.h (struct tree_decl): New flag
|
|||
|
no_instrument_function_entry_exit.
|
|||
|
(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
|
|||
|
* c-decl.c (duplicate_decls): Merge it.
|
|||
|
* c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
|
|||
|
(init_attributes): Use it for "no_instrument_function".
|
|||
|
(decl_attributes): Handle it, for functions that have not yet been
|
|||
|
compiled. Set decl flag.
|
|||
|
* flags.h (flag_instrument_function_entry_exit): Declare new
|
|||
|
variable.
|
|||
|
* toplev.c (flag_instrument_function_entry_exit): Define it here.
|
|||
|
(f_options): New option "instrument-functions".
|
|||
|
* function.h (struct function): New field instrument_entry_exit.
|
|||
|
* function.c (current_function_instrument_entry_exit): New
|
|||
|
variable.
|
|||
|
(push_function_context_to, pop_function_context_from): Save and
|
|||
|
restore.
|
|||
|
(expand_function_start): Set current_ variable, maybe emit return
|
|||
|
label and entry profile call.
|
|||
|
(expand_function_end): Maybe emit exit profile call.
|
|||
|
|
|||
|
Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* i386.md (movqi): When optimizing a load of (const_int 1) into a
|
|||
|
NON_QI_REG_P, pretend the register is SImode.
|
|||
|
|
|||
|
Wed Jul 29 23:49:23 1998 Todd Vierling <tv@netbsd.org>
|
|||
|
|
|||
|
* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
|
|||
|
Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
|
|||
|
manufacturer id for ns32k.
|
|||
|
* configure: Regenerated.
|
|||
|
* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
|
|||
|
* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
|
|||
|
* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
|
|||
|
* config/m68k/netbsd.h: Same.
|
|||
|
* config/ns32k/netbsd.h: Same.
|
|||
|
* config/sparc/netbsd.h: Same.
|
|||
|
|
|||
|
Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
|
|||
|
or UNROLL_COMPLETELY loop that starts with a jump to its
|
|||
|
exit code.
|
|||
|
|
|||
|
Wed Jul 29 22:18:14 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
|
|||
|
* rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
|
|||
|
(print_operand, case 'B'): Don't fall through.
|
|||
|
(print_operand, case 'S'): Correct mask begin/end computation.
|
|||
|
Use HOST_BITS_PER_WIDE_INT.
|
|||
|
* rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
|
|||
|
(CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
|
|||
|
* rs6000/aix41.h (CPP_PREDEFINES): Same.
|
|||
|
* rs6000/aix43.h (CPP_PREDEFINES): Same.
|
|||
|
|
|||
|
Wed Jul 29 11:47:10 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
|
|||
|
constraint from second alternative.
|
|||
|
|
|||
|
Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* configure.in: Fix --without/--disable cases for local-prefix,
|
|||
|
gxx-include-dir and checking.
|
|||
|
|
|||
|
Tue Jul 28 22:01:23 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* configure.in (enable_haifa): Set by default for sparc64 too.
|
|||
|
configure: Rebuilt.
|
|||
|
|
|||
|
Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
|
|||
|
* i386/winnt.c (associated_type): New fn.
|
|||
|
(i386_pe_valid_type_attribute_p): New fn.
|
|||
|
(i386_pe_check_vtable_importexport): Remove.
|
|||
|
(i386_pe_dllexport_p): Use associated_type.
|
|||
|
(i386_pe_dllimport_p): Likewise.
|
|||
|
|
|||
|
From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
|
|||
|
* i386.c (i386_valid_type_attribute_p): Also accept
|
|||
|
attributes for METHOD_TYPEs.
|
|||
|
|
|||
|
Tue Jul 28 23:17:39 1998 Peter Gerwinski <peter@gerwinski.de>
|
|||
|
|
|||
|
* tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
|
|||
|
|
|||
|
Tue Jul 28 22:31:12 1998 Craig Burley <burley@gnu.org>
|
|||
|
|
|||
|
* gcc.c: Fix commentary describing %g, %u, %U, and %O.
|
|||
|
|
|||
|
* gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
|
|||
|
them from generating a new base name for each occurrence of
|
|||
|
a specific suffix.
|
|||
|
|
|||
|
1998-07-28 Vladimir N. Makarov <vmakarov@cygnus.com>
|
|||
|
|
|||
|
* cse.c (cse_insn): Enable substitution inside libcall only for REG,
|
|||
|
SUBREG, MEM.
|
|||
|
* rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
|
|||
|
|
|||
|
* cplus-dem.c (type_kind_t): New type.
|
|||
|
(demangle_template_value_parm): Add type_kind_t parameter. Rely
|
|||
|
on this parameter, rather than demangling the type again.
|
|||
|
(demangle_integral_value): Pass tk_integral.
|
|||
|
(demangle_template_: Pass the value returned from do_type.
|
|||
|
(do_type): Return a type_kind_t. Pass tk_integral to
|
|||
|
demangle_template_value_parm for array bounds.
|
|||
|
(demangle_fund_type): Likewise.
|
|||
|
|
|||
|
Mon Jul 27 00:54:41 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
|
|||
|
identical.
|
|||
|
|
|||
|
Mon Jul 27 22:18:36 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* pa.c (move_operand): Accept CONSTANT_P_RTX.
|
|||
|
|
|||
|
Mon Jul 27 17:18:52 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* stor-layout.c (layout_type): Handle arrays of bits, for Chill.
|
|||
|
|
|||
|
* expr.c (get_inner_reference): Handle zero-based, unsigned, array
|
|||
|
index conversion.
|
|||
|
|
|||
|
Mon Jul 27 14:51:33 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
|
|||
|
(DEBUGGER_ARG_OFFSET): Likewise.
|
|||
|
|
|||
|
* mn10300.md (movsf): Remove last change. Not needed.
|
|||
|
|
|||
|
Mon Jul 27 14:22:36 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* c-lex.c (yylex): Fix boundary conditions in character literal and
|
|||
|
string literal loops.
|
|||
|
|
|||
|
Mon Jul 27 11:43:54 1998 Stan Cox <scox@cygnus.com>
|
|||
|
|
|||
|
* longlong.h (count_leading_zeros): Sparclite scan instruction was
|
|||
|
being invoked incorrectly.
|
|||
|
|
|||
|
* i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
|
|||
|
* i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
|
|||
|
Add -pg support.
|
|||
|
* i386/win32.h: New file. Hybrid mingw32.h/cygwin32.h configuration.
|
|||
|
* configure.in: Added i[34567]86-*-win32.
|
|||
|
* config.sub: Likewise.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org)
|
|||
|
|
|||
|
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
|
|||
|
the frame pointer and compiling PIC code and reload has not completed.
|
|||
|
|
|||
|
* i386.c (output_to_reg): Add code to emulate non-popping DImode
|
|||
|
case.
|
|||
|
|
|||
|
Sun Jul 26 01:01:32 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
|
|||
|
|
|||
|
Sat Jul 25 23:29:23 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
|
|||
|
|
|||
|
* Makefile.in (install-info): Only try to update the info
|
|||
|
directory file if it exists in the first place.
|
|||
|
|
|||
|
Fri Jul 24 18:58:37 1998 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
|
|||
|
|
|||
|
* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
|
|||
|
|
|||
|
Fri Jul 24 14:20:26 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
|
|||
|
CONST_DOUBLE source.
|
|||
|
|
|||
|
Fri Jul 24 11:17:04 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
|
|||
|
strings as the insertion of USER_LABEL_PREFIX.
|
|||
|
* config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
|
|||
|
valid code.
|
|||
|
* config/arm/thumb.md: Use %_ as a prefix to gcc library function
|
|||
|
calls.
|
|||
|
|
|||
|
Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
|
|||
|
already defined type.
|
|||
|
|
|||
|
Thu Jul 23 13:49:41 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* expr.c (check_max_integer_computation_mode): Allow conversions
|
|||
|
of constant integers to MAX_INTEGER_COMPUTATION_MODE.
|
|||
|
(expand_expr): Likewise.
|
|||
|
|
|||
|
Thu Jul 23 11:12:06 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
|||
|
|
|||
|
* expr.c (expand_expr): Expand RETURN_EXPR.
|
|||
|
|
|||
|
Thu Jul 23 11:00:29 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
|
|||
|
|
|||
|
Wed Jul 22 19:10:00 1998 Catherine Moore <clm@cygnus.com>
|
|||
|
|
|||
|
* dwarf2out.c (output_aranges): Call stripattributes
|
|||
|
for TEXT_SECTION references.
|
|||
|
(output_line_info): Likewise.
|
|||
|
|
|||
|
Wed Jul 22 14:08:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* profile.c (branch_prob): Call allocate_reg_info after outputting
|
|||
|
profile rtl in instrument_arcs.
|
|||
|
|
|||
|
Wed Jul 22 12:47:49 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* fixinc.irix (math.h): Install wrapper instead of copying.
|
|||
|
|
|||
|
Wed Jul 22 12:37:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
|||
|
|
|||
|
* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
|
|||
|
so WFL are expanded correctly when contained in a COMPOUND_EXPR.
|
|||
|
* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
|
|||
|
lang_flag_0. Added documentation in the flag table.
|
|||
|
|
|||
|
Tue Jul 21 23:28:35 1998 Klaus Kaempf <kkaempf@rmi.de>
|
|||
|
|
|||
|
* cccp.c (do_include): Fix vax c style include handling.
|
|||
|
|
|||
|
Tue Jul 21 13:28:19 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
|
|||
|
|
|||
|
Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com>
|
|||
|
|
|||
|
* fold-const.c (non_lvalue): Don't deal with null pointer
|
|||
|
constants here.
|
|||
|
(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
|
|||
|
|
|||
|
Tue Jul 21 15:49:31 1998 David Edelsohn <edelsohn@gnu.org>
|
|||
|
|
|||
|
* rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
|
|||
|
* rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
|
|||
|
* rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
|
|||
|
(u_short_cint_operand): Same.
|
|||
|
(reg_or_cint_operand): Same.
|
|||
|
(logical_operand): Same.
|
|||
|
(input_operand): Same.
|
|||
|
(reg_or_short_operand): Use u_short_cint_operand.
|
|||
|
|
|||
|
Tue Jul 21 08:56:42 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
|
|||
|
but keep the insns and splits. Adjust so when the ultimate destination
|
|||
|
is memory, use cvtql.
|
|||
|
|
|||
|
Tue Jul 21 08:55:09 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* flow.c (regno_uninitialized): Fixed regs are never uninitialized.
|
|||
|
|
|||
|
Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* gcc.c (do_spec): Call "error" not "warning".
|
|||
|
|
|||
|
* configure.in: Fix minor problems with gas feature detection code.
|
|||
|
* configure: Rebuilt.
|
|||
|
|
|||
|
* gcc.c (do_spec): Issue a warning for '%[]' usage.
|
|||
|
|
|||
|
* Undo this change.
|
|||
|
* gcc.c: Delete %[spec] support.
|
|||
|
(do_spec_1, case '('): Likewise.
|
|||
|
(do_spec_1, case '['): Call error.
|
|||
|
|
|||
|
Mon Jul 20 22:34:17 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget.
|
|||
|
(CPP_SUBTARGET_SPEC): Default to empty string.
|
|||
|
(CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
|
|||
|
(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
|
|||
|
* alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
|
|||
|
* alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
|
|||
|
(LIB_SPEC): Tidy.
|
|||
|
* alpha/linux.h (CPP_PREDEFINES): Tidy.
|
|||
|
* alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
|
|||
|
* alpha/netbsd.h (CPP_PREDEFINES): Tidy.
|
|||
|
* alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
|
|||
|
* alpha/win-nt.h (CPP_PREDEFINES): Likewise.
|
|||
|
* alpha/vsf.h (CPP_PREDEFINES): Likewise.
|
|||
|
(CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC.
|
|||
|
* alpha/vxworks.h: Likewise.
|
|||
|
|
|||
|
Mon Jul 20 22:51:57 1998 Ken Raeburn <raeburn@cygnus.com>
|
|||
|
|
|||
|
* mips.md (reload_outsi): Added missing REGNO call.
|
|||
|
(smulsi3_highpart, umulsi3_highpart): Provide prototype for
|
|||
|
function pointer.
|
|||
|
(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
|
|||
|
another match_operator and compare the codes.
|
|||
|
|
|||
|
* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
|
|||
|
|
|||
|
* MIPS multiply pattern fixes:
|
|||
|
* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
|
|||
|
Add union classes for HI, LO, or HILO plus general registers.
|
|||
|
(GENERATE_MADD): Deleted.
|
|||
|
* mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
|
|||
|
Add TARGET_MAD to condition.
|
|||
|
(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
|
|||
|
(mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use
|
|||
|
"*d" for accumulator, to give preference to LO initially but not
|
|||
|
during reload.
|
|||
|
|
|||
|
Mon Jul 20 16:16:38 1998 Dave Brolley <brolley@cygnus.com>
|
|||
|
|
|||
|
* configure.in (enable_c_mbchar): New configure option.
|
|||
|
(extra_cpp_objs): Always available now.
|
|||
|
|
|||
|
* cexp.y (mbchar.h): #include it.
|
|||
|
(yylex): Handle Multibyte characters in character literals.
|
|||
|
|
|||
|
* cccp.c (mbchar.h): #include it.
|
|||
|
(main): Set character set based on LANG environment variable.
|
|||
|
(rescan): Handle multibyte characters in comments.
|
|||
|
(skip_if_group): See above.
|
|||
|
(validate_else): See above.
|
|||
|
(skip_to_end_of_comment): See above.
|
|||
|
(macarg1): See above.
|
|||
|
(discard_comments): See above.
|
|||
|
(rescan): Handle multibyte characters in string and character literals.
|
|||
|
(collect_expansion): See above.
|
|||
|
(skip_quoted_string): See above.
|
|||
|
(macroexpand): See above.
|
|||
|
(macarg1): See above.
|
|||
|
(discard_comments): See above.
|
|||
|
(change_newlines): See above.
|
|||
|
|
|||
|
* c-lex.c (mbchar.h): #include it.
|
|||
|
(GET_ENVIRONMENT): New macro.
|
|||
|
(init_lex): Set character set based on LANG environment variable.
|
|||
|
(yylex): Handle multibyte characters in character literals.
|
|||
|
(yylex): Handle multibyte characters in string literals.
|
|||
|
|
|||
|
* Makefile.in (mbchar.o): New target.
|
|||
|
(cccp$(exeext)): @extra_cpp_objs@ is always available.
|
|||
|
(cppmain$(exeext)): @extra_cpp_objs@ is always available.
|
|||
|
|
|||
|
* mbchar.[ch]: New files for multibyte character handling.
|
|||
|
|
|||
|
Mon Jul 20 01:11:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
|
|||
|
|
|||
|
* jump.c (jump_optimize): When simplifying noop moves and
|
|||
|
PUSH_ROUNDING, fix thinko so we use same criterion for identifying
|
|||
|
the PUSHes to rewrite in second loop as we did in the first.
|
|||
|
|
|||
|
Sun Jul 19 08:23:53 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
|||
|
|
|||
|
* cplus-dem.c (demangle_nested_args): Make function definition
|
|||
|
static to match the prototype.
|
|||
|
|
|||
|
Fri Jul 17 14:58:44 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* alloca.c: Respect USE_C_ALLOCA.
|
|||
|
* gencheck.c (xmalloc): Ignore __GNUC__ for definition.
|
|||
|
* gengenrtl.c (xmalloc): Likewise.
|
|||
|
|
|||
|
Fri Jul 17 14:18:14 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* loop.h (struct induction): Add no_const_addval.
|
|||
|
* loop.c (the_movables, reg_address_cost): New variables.
|
|||
|
(init_loop): Init reg_address_cost.
|
|||
|
(loop_optimize): Call end_alias_analysis.
|
|||
|
(scan_loop): Init the_movables.
|
|||
|
(record_giv): Init induction->no_const_addval.
|
|||
|
(basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
|
|||
|
[REG]: Rearrange loop search test to catch more cases.
|
|||
|
(general_induction_var): Return success not benefit; take an extra
|
|||
|
argument for that. Change all callers.
|
|||
|
(simplify_giv_expr) [PLUS]: Always combine invariants. Use sge_plus.
|
|||
|
[MULT]: Use rtx_equal_p instead of ==. Combine simple invariants.
|
|||
|
[default]: Search the_movables for additional combinations.
|
|||
|
(sge_plus_constant, sge_plus): New functions.
|
|||
|
(express_from_1): New function.
|
|||
|
(express_from): Always define. Rewrite using express_from_1.
|
|||
|
(combine_givs_p): Handle more cases. Ignore address cost.
|
|||
|
(cmp_combine_givs_stats): New function.
|
|||
|
(combine_givs_used_once, combine_givs_benefit_from): New functions.
|
|||
|
(combine_givs): Rewrite to do best-fit combination.
|
|||
|
|
|||
|
* fold-const.c (operand_equal_p): Handle RTL_EXPR.
|
|||
|
(fold): Do a complete (A*C)+(B*C) association check.
|
|||
|
|
|||
|
Fri Jul 17 11:21:55 1998 Jim Wilson <wilson@cygnus.com>
|
|||
|
|
|||
|
* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
|
|||
|
|
|||
|
Fri Jul 17 11:48:55 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10300.c (MODES_TIEABLE_P): Fix typo.
|
|||
|
|
|||
|
Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* tree.c (valid_machine_attribute): Only create a new type variant if
|
|||
|
there is a decl to use it.
|
|||
|
|
|||
|
Thu Jul 16 14:48:04 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
|
|||
|
a suffix.
|
|||
|
|
|||
|
Fri Jul 17 03:24:40 1998 Hans-Peter Nilsson <hp@axis.se>
|
|||
|
|
|||
|
* extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
|
|||
|
be deleted"
|
|||
|
|
|||
|
Thu Jul 16 14:48:47 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* mn10300.c (count_tst_insns): New arg oreg_countp. Callers changed.
|
|||
|
Simplify tests for clearing an address register.
|
|||
|
(expand_prologue): Corresponding changes.
|
|||
|
|
|||
|
* mn10300.md (movXX patterns): Make sure the destination is an
|
|||
|
ADDRESS_REG when substituting "zero_areg" for (const_int 0).
|
|||
|
(logical patterns): Split into expanders + patterns.
|
|||
|
(zero and sign extension patterns): Similarly.
|
|||
|
(shift patterns): Similarly.
|
|||
|
|
|||
|
Thu Jul 16 01:17:44 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* loop.c (emit_iv_add_mult): Scan the entire insn list generated
|
|||
|
for the sequence, recording base values.
|
|||
|
|
|||
|
Wed Jul 15 10:49:55 1998 Richard Henderson <rth@cygnus.com>
|
|||
|
|
|||
|
* i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
|
|||
|
|
|||
|
Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com>
|
|||
|
|
|||
|
* gcc.c: Remove ANSI-C ism from --help code.
|
|||
|
|
|||
|
* toplev.c: Support --help with USE_CPPLIB.
|
|||
|
|
|||
|
Tue Jul 14 14:46:08 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* configure.in: Rework gas feature code to work with symlink based
|
|||
|
source trees.
|
|||
|
|
|||
|
* extend.texi: Clarify some issues related to local variables
|
|||
|
assigned to explicit registers.
|
|||
|
|
|||
|
* mn10300.md (mulsi): Turn into expander + pattern.
|
|||
|
|
|||
|
* mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
|
|||
|
alternative.
|
|||
|
|
|||
|
Tue Jul 14 07:41:59 1998 Richard Earnshaw (rearnsha@arm.com)
|
|||
|
|
|||
|
* arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
|
|||
|
|
|||
|
Tue Jul 14 03:02:44 1998 Jeffrey A Law (law@cygnus.com)
|
|||
|
|
|||
|
* version.c: Bump again to distinguish mainline tree from the
|
|||
|
egcs-1.1 branch.
|
|||
|
|
|||
|
See ChangeLog.0 for earlier changes.
|
|||
|
|
|||
|
Local Variables:
|
|||
|
add-log-time-format: current-time-string
|
|||
|
End:
|