This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Using and clobbering hard regs in parallel


On Fri, Jul 20, 2001 at 07:38:22PM +0100, Joern Rennecke wrote:
> That is a known problem.  The new flow.c code has redefined the
> semantics of REG_DEAD / REG_UNUSED notes, while the rest of the
> compiler - including the documentation - stays with the old semantics.

Happy?


r~


Index: rtl.texi
===================================================================
RCS file: /cvs/gcc/egcs/gcc/doc/rtl.texi,v
retrieving revision 1.13
diff -c -p -d -r1.13 rtl.texi
*** rtl.texi	2001/07/03 00:46:05	1.13
--- rtl.texi	2001/07/20 22:22:08
*************** The value in @var{op} dies in this insn;
*** 2798,2808 ****
  value immediately after this insn would not affect the future behavior
  of the program.
  
! This does not necessarily mean that the register @var{op} has no useful
! value after this insn since it may also be an output of the insn.  In
! such a case, however, a @code{REG_DEAD} note would be redundant and is
! usually not present until after the reload pass, but no code relies on
! this fact.
  
  @findex REG_INC
  @item REG_INC
--- 2798,2814 ----
  value immediately after this insn would not affect the future behavior
  of the program.
  
! It does not follow that the register @var{op} has no useful value after
! this insn since @var{op} is not necessarily modified by this insn.
! Rather, no subsequent instruction uses the contents of @var{op}.
! 
! @findex REG_UNUSED
! @item REG_UNUSED
! The register @var{op} being set by this insn will not be used in a
! subsequent insn.  This differs from a @code{REG_DEAD} note, which
! indicates that the value in an input will not be used subsequently.
! These two notes are independent; both may be present for the same
! register.
  
  @findex REG_INC
  @item REG_INC
*************** destination register.
*** 2916,2929 ****
  Thus, compiler passes prior to register allocation need only check for
  @code{REG_EQUAL} notes and passes subsequent to register allocation
  need only check for @code{REG_EQUIV} notes.
- 
- @findex REG_UNUSED
- @item REG_UNUSED
- The register @var{op} being set by this insn will not be used in a
- subsequent insn.  This differs from a @code{REG_DEAD} note, which
- indicates that the value in an input will not be used subsequently.
- These two notes are independent; both may be present for the same
- register.
  
  @findex REG_WAS_0
  @item REG_WAS_0
--- 2922,2927 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]