From 2561a923d0276c94f80ab017f51821669e234fe6 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Sat, 18 Sep 1999 07:13:31 +0000 Subject: [PATCH] pa.h (INSN_SETS_ARE_DELAYED): Delete. * pa.h (INSN_SETS_ARE_DELAYED): Delete. * pa.c (insn_refs_are_delayed): Renamed from insn_sets_and_refs_are_delayed. From-SVN: r29491 --- gcc/ChangeLog | 6 ++++++ gcc/config/pa/pa.c | 4 ++-- gcc/config/pa/pa.h | 17 ++++++++++------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1f0d6e67bbb..c04276f889a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Sat Sep 18 01:07:21 1999 Jeffrey A Law (law@cygnus.com) + + * pa.h (INSN_SETS_ARE_DELAYED): Delete. + * pa.c (insn_refs_are_delayed): Renamed from + insn_sets_and_refs_are_delayed. + Fri Sep 17 15:19:01 1999 Mark Mitchell * functiion.h (struct function): Add x_whole_function_mode_p. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 773c0c7bc0b..28a220d0f15 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -6510,7 +6510,7 @@ pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2) return 1; } -/* Return nonzero if sets and references for INSN are delayed. +/* Return nonzero if references for INSN are delayed. Millicode insns are actually function calls with some special constraints on arguments and register usage. @@ -6528,7 +6528,7 @@ pa_can_combine_p (new, anchor, floater, reversed, dest, src1, src2) filter out things it will not accept -- SEQUENCE, USE and CLOBBER insns in particular. */ int -insn_sets_and_refs_are_delayed (insn) +insn_refs_are_delayed (insn) rtx insn; { return ((GET_CODE (insn) == INSN diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 21f67280920..4734057151a 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1850,17 +1850,20 @@ while (0) are expected to clobber their arguments, %r1, %r29, and %r31 and nothing else. - These macros tell reorg that the references to arguments and - register clobbers for millicode calls do not appear to happen - until after the millicode call. This allows reorg to put insns - which set the argument registers into the delay slot of the millicode - call -- thus they act more like traditional CALL_INSNs. + This macro tells reorg that the references to arguments and + millicode calls do not appear to happen until after the millicode call. + This allows reorg to put insns which set the argument registers into the + delay slot of the millicode call -- thus they act more like traditional + CALL_INSNs. + + Note we can not consider side effects of the insn to be delayed because + the branch and link insn will clobber the return pointer. If we happened + to use the return pointer in the delay slot of the call, then we lose. get_attr_type will try to recognize the given insn, so make sure to filter out things it will not accept -- SEQUENCE, USE and CLOBBER insns in particular. */ -#define INSN_SETS_ARE_DELAYED(X) (insn_sets_and_refs_are_delayed (X)) -#define INSN_REFERENCES_ARE_DELAYED(X) (insn_sets_and_refs_are_delayed (X)) +#define INSN_REFERENCES_ARE_DELAYED(X) (insn_refs_are_delayed (X)) /* Control the assembler format that we output. */ -- 2.30.2