@@ -365,7 +365,7 @@ def ReturnOp : CIR_Op<"return", [HasParent<"FuncOp, ScopeOp, IfOp, SwitchOp, Loo
365
365
366
366
def IfOp : CIR_Op<"if",
367
367
[DeclareOpInterfaceMethods<RegionBranchOpInterface>,
368
- RecursiveSideEffects , AutomaticAllocationScope, NoRegionArguments]> {
368
+ RecursivelySpeculatable , AutomaticAllocationScope, NoRegionArguments]> {
369
369
let summary = "The if-then-else operation";
370
370
let description = [{
371
371
The `cir.if` operation represents an if-then-else construct for
@@ -512,7 +512,7 @@ def YieldOp : CIR_Op<"yield", [ReturnLike, Terminator,
512
512
//===----------------------------------------------------------------------===//
513
513
514
514
def ScopeOp : CIR_Op<"scope", [DeclareOpInterfaceMethods<RegionBranchOpInterface>,
515
- RecursiveSideEffects , AutomaticAllocationScope, NoRegionArguments]> {
515
+ RecursivelySpeculatable , AutomaticAllocationScope, NoRegionArguments]> {
516
516
let summary = "Represents a C/C++ scope";
517
517
let description = [{
518
518
`cir.scope` contains one region and defines a strict "scope" for all new
@@ -729,7 +729,7 @@ def CaseArrayAttr :
729
729
def SwitchOp : CIR_Op<"switch",
730
730
[SameVariadicOperandSize,
731
731
DeclareOpInterfaceMethods<RegionBranchOpInterface>,
732
- RecursiveSideEffects , AutomaticAllocationScope, NoRegionArguments]> {
732
+ RecursivelySpeculatable , AutomaticAllocationScope, NoRegionArguments]> {
733
733
let summary = "Switch operation";
734
734
let description = [{
735
735
The `cir.switch` operation represents C/C++ switch functionality for
@@ -892,7 +892,7 @@ def LoopOpKind : I32EnumAttr<
892
892
def LoopOp : CIR_Op<"loop",
893
893
[DeclareOpInterfaceMethods<LoopLikeOpInterface>,
894
894
DeclareOpInterfaceMethods<RegionBranchOpInterface>,
895
- RecursiveSideEffects , NoRegionArguments]> {
895
+ RecursivelySpeculatable , NoRegionArguments]> {
896
896
let summary = "Loop";
897
897
let description = [{
898
898
`cir.loop` represents C/C++ loop forms. It defines 3 blocks:
0 commit comments