diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-18 10:14:55 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-18 10:14:55 +0000 |
commit | 9c771277d6f6843d1b7cde60a8d5acf95593dee2 (patch) | |
tree | 79ed757686c57821a35c3efb96f5a1eab82e2aaf /gcc/ira-emit.c | |
parent | f42aeaddf822d9596e1c31224078d97a08097847 (diff) | |
download | gcc-9c771277d6f6843d1b7cde60a8d5acf95593dee2.tar.gz |
2008-10-18 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r141209
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@141210 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ira-emit.c')
-rw-r--r-- | gcc/ira-emit.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c index 7fdaefb52e5..a6a7582f519 100644 --- a/gcc/ira-emit.c +++ b/gcc/ira-emit.c @@ -137,6 +137,7 @@ change_regs (rtx *loc) int i, regno, result = false; const char *fmt; enum rtx_code code; + rtx reg; if (*loc == NULL_RTX) return false; @@ -151,7 +152,10 @@ change_regs (rtx *loc) return false; if (ira_curr_regno_allocno_map[regno] == NULL) return false; - *loc = ALLOCNO_REG (ira_curr_regno_allocno_map[regno]); + reg = ALLOCNO_REG (ira_curr_regno_allocno_map[regno]); + if (reg == *loc) + return false; + *loc = reg; return true; } |