From: Andrew Trick Date: Mon, 30 Jul 2012 23:48:14 +0000 (+0000) Subject: Added MachineRegisterInfo::hasOneDef() X-Git-Tag: android-x86-6.0-r1~179^2~4307 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=0492a8c530df6c7b2ebcfa91fed930c1a1bf664d;p=android-x86%2Fexternal-llvm.git Added MachineRegisterInfo::hasOneDef() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161009 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/MachineRegisterInfo.h b/include/llvm/CodeGen/MachineRegisterInfo.h index 1c2baef8bce..061d60a23ef 100644 --- a/include/llvm/CodeGen/MachineRegisterInfo.h +++ b/include/llvm/CodeGen/MachineRegisterInfo.h @@ -172,6 +172,15 @@ public: /// specified register (it may be live-in). bool def_empty(unsigned RegNo) const { return def_begin(RegNo) == def_end(); } + /// hasOneDef - Return true if there is exactly one instruction defining the + /// specified register. + bool hasOneDef(unsigned RegNo) const { + def_iterator DI = def_begin(RegNo); + if (DI == def_end()) + return false; + return ++DI == def_end(); + } + /// use_iterator/use_begin/use_end - Walk all uses of the specified register. typedef defusechain_iterator use_iterator; use_iterator use_begin(unsigned RegNo) const {