mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-05-08 04:18:02 +00:00
336fc63f1d
Signed-off-by: xermicus <cyrill@parity.io>
28 lines
797 B
Rust
28 lines
797 B
Rust
//! The LLVM IR generator loop.
|
|
|
|
/// The LLVM IR generator loop.
|
|
#[derive(Debug, Clone)]
|
|
pub struct Loop<'ctx> {
|
|
/// The loop current block.
|
|
pub body_block: inkwell::basic_block::BasicBlock<'ctx>,
|
|
/// The increment block before the body.
|
|
pub continue_block: inkwell::basic_block::BasicBlock<'ctx>,
|
|
/// The join block after the body.
|
|
pub join_block: inkwell::basic_block::BasicBlock<'ctx>,
|
|
}
|
|
|
|
impl<'ctx> Loop<'ctx> {
|
|
/// A shortcut constructor.
|
|
pub fn new(
|
|
body_block: inkwell::basic_block::BasicBlock<'ctx>,
|
|
continue_block: inkwell::basic_block::BasicBlock<'ctx>,
|
|
join_block: inkwell::basic_block::BasicBlock<'ctx>,
|
|
) -> Self {
|
|
Self {
|
|
body_block,
|
|
continue_block,
|
|
join_block,
|
|
}
|
|
}
|
|
}
|