Back to PBT run

input.mlir

#loop_ann = #llvm.loop_annotation<mustProgress = true>

llvm.func @plain_diamond_0(%c: i1, %a: i32, %b: i32) -> i32 {
  cf.cond_br %c, ^yes, ^no
^yes:
  cf.br ^exit(%a : i32)
^no:
  cf.br ^exit(%b : i32)
^exit(%r: i32):
  llvm.return %r : i32
}

llvm.func @nested_weighted_arm_1(%weighted: i1, %plain: i1, %a: i32, %b: i32) -> i32 {
  cf.cond_br %weighted weights([1, 9]), ^left, ^right
^left:
  cf.cond_br %plain, ^left_true, ^left_false
^left_true:
  cf.br ^exit(%a : i32)
^left_false:
  cf.br ^exit(%b : i32)
^right:
  cf.br ^exit(%b : i32)
^exit(%r: i32):
  llvm.return %r : i32
}

llvm.func @plain_diamond_2(%c: i1, %a: i32, %b: i32) -> i32 {
  cf.cond_br %c, ^yes, ^no
^yes:
  cf.br ^exit(%a : i32)
^no:
  cf.br ^exit(%b : i32)
^exit(%r: i32):
  llvm.return %r : i32
}