Basic Block: Fix IR builder library example. (#989)
This commit is contained in:
committed by
Sean Stangl
parent
592f5445dd
commit
1c5711c12b
@@ -50,10 +50,12 @@
|
|||||||
//! jump block1
|
//! jump block1
|
||||||
//! block1:
|
//! block1:
|
||||||
//! z = z + y;
|
//! z = z + y;
|
||||||
//! brnz y, block2;
|
//! brnz y, block3;
|
||||||
|
//! jump block2
|
||||||
|
//! block2:
|
||||||
//! z = z - x;
|
//! z = z - x;
|
||||||
//! return y
|
//! return y
|
||||||
//! block2:
|
//! block3:
|
||||||
//! y = y - x
|
//! y = y - x
|
||||||
//! jump block1
|
//! jump block1
|
||||||
//! }
|
//! }
|
||||||
@@ -85,6 +87,7 @@
|
|||||||
//! let block0 = builder.create_ebb();
|
//! let block0 = builder.create_ebb();
|
||||||
//! let block1 = builder.create_ebb();
|
//! let block1 = builder.create_ebb();
|
||||||
//! let block2 = builder.create_ebb();
|
//! let block2 = builder.create_ebb();
|
||||||
|
//! let block3 = builder.create_ebb();
|
||||||
//! let x = Variable::new(0);
|
//! let x = Variable::new(0);
|
||||||
//! let y = Variable::new(1);
|
//! let y = Variable::new(1);
|
||||||
//! let z = Variable::new(2);
|
//! let z = Variable::new(2);
|
||||||
@@ -120,8 +123,12 @@
|
|||||||
//! }
|
//! }
|
||||||
//! {
|
//! {
|
||||||
//! let arg = builder.use_var(y);
|
//! let arg = builder.use_var(y);
|
||||||
//! builder.ins().brnz(arg, block2, &[]);
|
//! builder.ins().brnz(arg, block3, &[]);
|
||||||
//! }
|
//! }
|
||||||
|
//! builder.ins().jump(block2, &[]);
|
||||||
|
//!
|
||||||
|
//! builder.switch_to_block(block2);
|
||||||
|
//! builder.seal_block(block2);
|
||||||
//! {
|
//! {
|
||||||
//! let arg1 = builder.use_var(z);
|
//! let arg1 = builder.use_var(z);
|
||||||
//! let arg2 = builder.use_var(x);
|
//! let arg2 = builder.use_var(x);
|
||||||
@@ -133,8 +140,8 @@
|
|||||||
//! builder.ins().return_(&[arg]);
|
//! builder.ins().return_(&[arg]);
|
||||||
//! }
|
//! }
|
||||||
//!
|
//!
|
||||||
//! builder.switch_to_block(block2);
|
//! builder.switch_to_block(block3);
|
||||||
//! builder.seal_block(block2);
|
//! builder.seal_block(block3);
|
||||||
//!
|
//!
|
||||||
//! {
|
//! {
|
||||||
//! let arg1 = builder.use_var(y);
|
//! let arg1 = builder.use_var(y);
|
||||||
|
|||||||
Reference in New Issue
Block a user