Microoptimize getVRegDef. def_begin isn't free, don't compute it twice.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 10 Mar 2012 12:50:44 +0000 (12:50 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 10 Mar 2012 12:50:44 +0000 (12:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152492 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineRegisterInfo.cpp

index 7d40e66eb8116de0a70382c655d794901b3a4a14..f140decd96cea0e9e9266b45964cba1c7b1a4878 100644 (file)
@@ -161,9 +161,8 @@ void MachineRegisterInfo::replaceRegWith(unsigned FromReg, unsigned ToReg) {
 /// form, so there should only be one definition.
 MachineInstr *MachineRegisterInfo::getVRegDef(unsigned Reg) const {
   // Since we are in SSA form, we can use the first definition.
-  if (!def_empty(Reg))
-    return &*def_begin(Reg);
-  return 0;
+  def_iterator I = def_begin(Reg);
+  return !I.atEnd() ? &*I : 0;
 }
 
 bool MachineRegisterInfo::hasOneUse(unsigned RegNo) const {