summaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineRegisterInfo.cpp
diff options
context:
space:
mode:
authorManman Ren <mren@apple.com>2012-07-02 18:55:36 +0000
committerManman Ren <mren@apple.com>2012-07-02 18:55:36 +0000
commit5f917cd3fada4507c0f4b718dd6af24b5e7086f1 (patch)
tree1c7130312ce7a92744826c2208d8247345edf990 /lib/CodeGen/MachineRegisterInfo.cpp
parent49589f0d0e35f643e697ab7ae8a51a530d38b0d8 (diff)
downloadllvm-5f917cd3fada4507c0f4b718dd6af24b5e7086f1.tar.gz
llvm-5f917cd3fada4507c0f4b718dd6af24b5e7086f1.tar.bz2
llvm-5f917cd3fada4507c0f4b718dd6af24b5e7086f1.tar.xz
Added assertion in getVRegDef of MachineRegisterInfo to make sure the virtual
register does not have multiple definitions. Modified TwoAddressInstructionPass to use getUniqueVRegDef instead of getVRegDef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159545 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineRegisterInfo.cpp')
-rw-r--r--lib/CodeGen/MachineRegisterInfo.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/MachineRegisterInfo.cpp b/lib/CodeGen/MachineRegisterInfo.cpp
index 863da72774..82e123528a 100644
--- a/lib/CodeGen/MachineRegisterInfo.cpp
+++ b/lib/CodeGen/MachineRegisterInfo.cpp
@@ -162,6 +162,8 @@ void MachineRegisterInfo::replaceRegWith(unsigned FromReg, unsigned ToReg) {
MachineInstr *MachineRegisterInfo::getVRegDef(unsigned Reg) const {
// Since we are in SSA form, we can use the first definition.
def_iterator I = def_begin(Reg);
+ assert((I.atEnd() || llvm::next(I) == def_end()) &&
+ "getVRegDef assumes a single definition or no definition");
return !I.atEnd() ? &*I : 0;
}