summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/CodeGen/MachineBasicBlock.h10
-rw-r--r--llvm/include/llvm/CodeGen/MachineInstr.h3
-rw-r--r--llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h4
3 files changed, 10 insertions, 7 deletions
diff --git a/llvm/include/llvm/CodeGen/MachineBasicBlock.h b/llvm/include/llvm/CodeGen/MachineBasicBlock.h
index 4f949a6074f..47f8dd5e5f1 100644
--- a/llvm/include/llvm/CodeGen/MachineBasicBlock.h
+++ b/llvm/include/llvm/CodeGen/MachineBasicBlock.h
@@ -43,12 +43,14 @@ private:
friend class MachineBasicBlock; // Set by the owning MachineBasicBlock.
MachineBasicBlock *Parent;
+ typedef simple_ilist<MachineInstr, ilist_sentinel_tracking<true>>::iterator
+ instr_iterator;
+
public:
void addNodeToList(MachineInstr *N);
void removeNodeFromList(MachineInstr *N);
- void transferNodesFromList(ilist_traits &OldList,
- simple_ilist<MachineInstr>::iterator First,
- simple_ilist<MachineInstr>::iterator Last);
+ void transferNodesFromList(ilist_traits &OldList, instr_iterator First,
+ instr_iterator Last);
void deleteNode(MachineInstr *MI);
// Leave out createNode...
@@ -70,7 +72,7 @@ public:
};
private:
- typedef ilist<MachineInstr> Instructions;
+ typedef ilist<MachineInstr, ilist_sentinel_tracking<true>> Instructions;
Instructions Insts;
const BasicBlock *BB;
int Number;
diff --git a/llvm/include/llvm/CodeGen/MachineInstr.h b/llvm/include/llvm/CodeGen/MachineInstr.h
index 0a5c7deb863..3870a1ffc9c 100644
--- a/llvm/include/llvm/CodeGen/MachineInstr.h
+++ b/llvm/include/llvm/CodeGen/MachineInstr.h
@@ -50,7 +50,8 @@ class MachineMemOperand;
/// without having their destructor called.
///
class MachineInstr
- : public ilist_node_with_parent<MachineInstr, MachineBasicBlock> {
+ : public ilist_node_with_parent<MachineInstr, MachineBasicBlock,
+ ilist_sentinel_tracking<true>> {
public:
typedef MachineMemOperand **mmo_iterator;
diff --git a/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h b/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h
index e4c46dfe209..6da1ef3e1d1 100644
--- a/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h
+++ b/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h
@@ -20,12 +20,12 @@
namespace llvm {
template <class T> struct MachineInstrBundleIteratorTraits {
- typedef simple_ilist<T> list_type;
+ typedef simple_ilist<T, ilist_sentinel_tracking<true>> list_type;
typedef typename list_type::iterator instr_iterator;
typedef typename list_type::iterator nonconst_instr_iterator;
};
template <class T> struct MachineInstrBundleIteratorTraits<const T> {
- typedef simple_ilist<T> list_type;
+ typedef simple_ilist<T, ilist_sentinel_tracking<true>> list_type;
typedef typename list_type::const_iterator instr_iterator;
typedef typename list_type::iterator nonconst_instr_iterator;
};
OpenPOWER on IntegriCloud