regclass.c (reg_scan_mark_refs): Be more selective about when we mark a register with REGNO_POINTER_FLAG.

* regclass.c (reg_scan_mark_refs): Be more selective about
        when we mark a register with REGNO_POINTER_FLAG.

From-SVN: r18849
This commit is contained in:
Jeffrey A Law 1998-03-26 23:51:11 +00:00 committed by Jeff Law
parent e6e52be073
commit 64d3b4ca2d
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
* regclass.c (reg_scan_mark_refs): Be more selective about
when we mark a register with REGNO_POINTER_FLAG.
Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
reload inheritance improvement:

View File

@ -1919,6 +1919,12 @@ reg_scan_mark_refs (x, insn, note_flag)
if (GET_CODE (SET_DEST (x)) == REG
&& REGNO (SET_DEST (x)) >= FIRST_PSEUDO_REGISTER
/* If the destination pseudo is set more than once, then other
sets might not be to a pointer value (consider access to a
union in two threads of control in the presense of global
optimizations). So only set REGNO_POINTER_FLAG on the destination
pseudo if this is the only set of that pseudo. */
&& REG_N_SETS (REGNO (SET_DEST (x))) == 1
&& ! REG_USERVAR_P (SET_DEST (x))
&& ! REGNO_POINTER_FLAG (REGNO (SET_DEST (x)))
&& ((GET_CODE (SET_SRC (x)) == REG