diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/rtlanal.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fff7083..389ce07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-01-19 Geoff Keating <geoffk@cygnus.com> + + * rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs + inside the MEM. + 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * loop.c (loop_optimize): Allocate loop_info structure for each loop diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 3739bde..24ca8d1 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -422,6 +422,12 @@ reg_referenced_p (x, body) return 1; return 0; + case CLOBBER: + if (GET_CODE (XEXP (body, 0)) == MEM) + if (reg_overlap_mentioned_p (x, XEXP (XEXP (body, 0), 0))) + return 1; + return 0; + default: return 0; } |