diff options
-rw-r--r-- | bolt/include/bolt/Core/FunctionLayout.h | 21 |
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()}; |