6 #ifndef JLM_LLVM_IR_BASIC_BLOCK_HPP
7 #define JLM_LLVM_IR_BASIC_BLOCK_HPP
134 for (
auto & tac :
tacs)
142 std::unique_ptr<llvm::ThreeAddressCode> tac)
150 for (
auto & tac : tv)
BasicBlock(const BasicBlock &)=delete
void append_first(tacsvector_t &tacs)
ThreeAddressCodeList::const_reverse_iterator rend() const noexcept
ThreeAddressCodeList::const_iterator end() const noexcept
BasicBlock & operator=(const BasicBlock &)=delete
ThreeAddressCodeList tacs_
~BasicBlock() noexcept override
BasicBlock & operator=(BasicBlock &&)=delete
ThreeAddressCode * last() const noexcept
size_t ntacs() const noexcept
void append_last(tacsvector_t &tacs)
const ThreeAddressCodeList & tacs() const noexcept
void insert_before(const ThreeAddressCodeList::const_iterator &it, tacsvector_t &tv)
ThreeAddressCodeList & tacs() noexcept
llvm::ThreeAddressCode * insert_before_branch(std::unique_ptr< llvm::ThreeAddressCode > tac)
llvm::ThreeAddressCode * append_first(std::unique_ptr< llvm::ThreeAddressCode > tac)
bool HasSsaPhiOperation() const
void append_first(ThreeAddressCodeList &tl)
ThreeAddressCode * first() const noexcept
llvm::ThreeAddressCode * insert_before(const ThreeAddressCodeList::const_iterator &it, std::unique_ptr< llvm::ThreeAddressCode > tac)
BasicBlock(BasicBlock &&)=delete
static BasicBlock * create(ControlFlowGraph &cfg)
llvm::ThreeAddressCode * append_last(std::unique_ptr< llvm::ThreeAddressCode > tac)
ThreeAddressCodeList::const_iterator begin() const noexcept
ThreeAddressCodeList::const_reverse_iterator rbegin() const noexcept
ControlFlowGraph & cfg() const noexcept
const_iterator end() const noexcept
const_iterator begin() const noexcept
ThreeAddressCode * first() const noexcept
void append_first(std::unique_ptr< llvm::ThreeAddressCode > tac)
const_reverse_iterator rbegin() const noexcept
std::list< ThreeAddressCode * >::const_reverse_iterator const_reverse_iterator
ThreeAddressCode * last() const noexcept
ThreeAddressCode * insert_before(const const_iterator &it, std::unique_ptr< llvm::ThreeAddressCode > tac)
std::list< ThreeAddressCode * >::const_iterator const_iterator
size_t ntacs() const noexcept
void append_last(std::unique_ptr< llvm::ThreeAddressCode > tac)
const_reverse_iterator rend() const noexcept
Global memory state passed between functions.
std::vector< std::unique_ptr< llvm::ThreeAddressCode > > tacsvector_t