diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-05-15 02:52:58 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-05-15 02:52:58 +0000 |
| commit | 3ced97c0a05273eae61b9bc89725780fd04028e0 (patch) | |
| tree | 077e139e45409ad4709d069c90acf90647189e9a | |
| parent | 3d214cdfaffc231a9ef76b49d114e4e7d854b215 (diff) | |
| download | bcm5719-llvm-3ced97c0a05273eae61b9bc89725780fd04028e0.tar.gz bcm5719-llvm-3ced97c0a05273eae61b9bc89725780fd04028e0.zip | |
Add reg_nodbg_iterator
llvm-svn: 103856
| -rw-r--r-- | llvm/include/llvm/CodeGen/MachineRegisterInfo.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/MachineRegisterInfo.h b/llvm/include/llvm/CodeGen/MachineRegisterInfo.h index 131231e5ba0..fd7431ff0bc 100644 --- a/llvm/include/llvm/CodeGen/MachineRegisterInfo.h +++ b/llvm/include/llvm/CodeGen/MachineRegisterInfo.h @@ -93,6 +93,20 @@ public: /// specified register (it may be live-in). bool reg_empty(unsigned RegNo) const { return reg_begin(RegNo) == reg_end(); } + /// reg_nodbg_iterator/reg_nodbg_begin/reg_nodbg_end - Walk all defs and uses + /// of the specified register, skipping those marked as Debug. + typedef defusechain_iterator<true,true,true> reg_nodbg_iterator; + reg_nodbg_iterator reg_nodbg_begin(unsigned RegNo) const { + return reg_nodbg_iterator(getRegUseDefListHead(RegNo)); + } + static reg_nodbg_iterator reg_nodbg_end() { return reg_nodbg_iterator(0); } + + /// reg_nodbg_empty - Return true if the only instructions using or defining + /// Reg are Debug instructions. + bool reg_nodbg_empty(unsigned RegNo) const { + return reg_nodbg_begin(RegNo) == reg_nodbg_end(); + } + /// def_iterator/def_begin/def_end - Walk all defs of the specified register. typedef defusechain_iterator<false,true,false> def_iterator; def_iterator def_begin(unsigned RegNo) const { |

