diff options
author | Vladislav Khmelevsky <och95@yandex.ru> | 2022-12-08 14:06:39 +0400 |
---|---|---|
committer | Vladislav Khmelevsky <och95@yandex.ru> | 2022-12-09 13:32:34 +0400 |
commit | 9556b678408bdbd53083938346dbb7b0467176ac (patch) | |
tree | bdd1bcab43bb1c723dbb9921959292d3fe168739 /bolt | |
parent | c9a6713b4788f10b81202b70993068e475b392f7 (diff) | |
download | llvm-9556b678408bdbd53083938346dbb7b0467176ac.zip llvm-9556b678408bdbd53083938346dbb7b0467176ac.tar.gz llvm-9556b678408bdbd53083938346dbb7b0467176ac.tar.bz2 |
[BOLT] Fix blocks layout reverse iterators
Use container's reverse iterators, fix iterators types.
Reviewed By: Amir
Differential Revision: https://reviews.llvm.org/D139335
Diffstat (limited to 'bolt')
-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()}; |