aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-01-07 22:28:56 +0000
committerDan Gohman <gohman@apple.com>2009-01-07 22:28:56 +0000
commit00ffd505d327782eb51fa55e47967fd8e62ba40a (patch)
tree50b5c94062c25558cc3dcb6002e5870d8bde3225
parentc870bb5c96c14da387770685dc6f200442a7549d (diff)
Add empty() methods for register def lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61890 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/MachineRegisterInfo.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/MachineRegisterInfo.h b/include/llvm/CodeGen/MachineRegisterInfo.h
index f477e86554..b313fce182 100644
--- a/include/llvm/CodeGen/MachineRegisterInfo.h
+++ b/include/llvm/CodeGen/MachineRegisterInfo.h
@@ -81,6 +81,10 @@ public:
}
static reg_iterator reg_end() { return reg_iterator(0); }
+ /// reg_empty - Return true if there are no instructions using or defining the
+ /// specified register (it may be live-in).
+ bool reg_empty(unsigned RegNo) const { return reg_begin(RegNo) == reg_end(); }
+
/// def_iterator/def_begin/def_end - Walk all defs of the specified register.
typedef defusechain_iterator<false,true> def_iterator;
def_iterator def_begin(unsigned RegNo) const {
@@ -88,6 +92,10 @@ public:
}
static def_iterator def_end() { return def_iterator(0); }
+ /// def_empty - Return true if there are no instructions defining the
+ /// specified register (it may be live-in).
+ bool def_empty(unsigned RegNo) const { return def_begin(RegNo) == def_end(); }
+
/// use_iterator/use_begin/use_end - Walk all uses of the specified register.
typedef defusechain_iterator<true,false> use_iterator;
use_iterator use_begin(unsigned RegNo) const {