[llvm-commits] [llvm] r161009 - /llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h

Andrew Trick atrick at apple.com
Mon Jul 30 16:48:14 PDT 2012


Author: atrick
Date: Mon Jul 30 18:48:14 2012
New Revision: 161009

URL: http://llvm.org/viewvc/llvm-project?rev=161009&view=rev
Log:
Added MachineRegisterInfo::hasOneDef()

Modified:
    llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h

Modified: llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h?rev=161009&r1=161008&r2=161009&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h (original)
+++ llvm/trunk/include/llvm/CodeGen/MachineRegisterInfo.h Mon Jul 30 18:48:14 2012
@@ -172,6 +172,15 @@
   /// 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<true,false,false> use_iterator;
   use_iterator use_begin(unsigned RegNo) const {





More information about the llvm-commits mailing list