aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bolt/include/bolt/Core/FunctionLayout.h21
1 files changed, 9 insertions, 12 deletions
diff --git a/bolt/include/bolt/Core/FunctionLayout.h b/bolt/include/bolt/Core/FunctionLayout.h
index 8eeabd97..904da3a 100644
--- a/bolt/include/bolt/Core/FunctionLayout.h
+++ b/bolt/include/bolt/Core/FunctionLayout.h
@@ -71,11 +71,8 @@ class FunctionFragment {
using FragmentListType = SmallVector<unsigned, 0>;
public:
- using iterator = raw_pointer_iterator<BasicBlockListType::const_iterator,
- BinaryBasicBlock>;
- using const_iterator =
- raw_pointer_iterator<BasicBlockListType::const_iterator,
- const BinaryBasicBlock>;
+ using iterator = BasicBlockListType::iterator;
+ using const_iterator = BasicBlockListType::const_iterator;
private:
FunctionLayout *Layout;
@@ -150,9 +147,7 @@ public:
pointee_iterator<FragmentListType::const_iterator,
const FunctionFragment>;
using block_iterator = BasicBlockListType::iterator;
- using block_const_iterator =
- raw_pointer_iterator<BasicBlockListType::const_iterator,
- const BinaryBasicBlock>;
+ using block_const_iterator = BasicBlockListType::const_iterator;
using block_reverse_iterator = std::reverse_iterator<block_iterator>;
using block_const_reverse_iterator =
std::reverse_iterator<block_const_iterator>;
@@ -303,16 +298,18 @@ public:
return {block_begin(), block_end()};
}
block_reverse_iterator block_rbegin() {
- return block_reverse_iterator(block_end());
+ return block_reverse_iterator(Blocks.rbegin());
}
block_const_reverse_iterator block_rbegin() const {
- return block_const_reverse_iterator(block_end());
+ return block_const_reverse_iterator(
+ std::make_reverse_iterator(block_end()));
}
block_reverse_iterator block_rend() {
- return block_reverse_iterator(block_begin());
+ return block_reverse_iterator(Blocks.rend());
}
block_const_reverse_iterator block_rend() const {
- return block_const_reverse_iterator(block_begin());
+ return block_const_reverse_iterator(
+ std::make_reverse_iterator(block_begin()));
}
iterator_range<block_const_reverse_iterator> rblocks() const {
return {block_rbegin(), block_rend()};