# 'scope' Dialect Passes ## `-inline-scope` _Inline scope region within ScopeOp._ Move out operations inside the scope region to its parent region if `scope.scope` doesn't have the `no_inline` attribute. Example: ```mlir func.func @test() { scope.scope : () -> () { ... scope.return } {no_inline} scope.scope : () -> () { scope.return } return } ``` will be transformed into: ```mlir func.func @test() { scope.scope : () -> () { ... scope.return } {no_inline} return } ``` ### Options ```text -force-inline : Inline scope regardless of `no_inline` attribute. ``` ## `-outline-scope` _Outline scope region within ScopeOp._ Convert `scope.scope` into a `func.func`. Example: ```mlir module { func.func @test() { scope.scope : () -> () { ... scope.return } {tcore_type = #hivm.tcore_type, ...} scope.scope : () -> () { ... scope.return } {tcore_type = #hivm.tcore_type, ...} return } } ``` will be transformed into: ```mlir module { func.func @test_scope_0() attributes {tcore_type = #hivm.tcore_type, ...} { ... return } func.func @test_scope_1() attributes {tcore_type = #hivm.tcore_type, ...} { ... return } func.func @test() { call @test_scope_scope_scope_0() : () -> () call @test_scope_scope_scope_1() : () -> () return } } ```