Skip to content

Instantly share code, notes, and snippets.

@stellaraccident
Last active November 2, 2021 21:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stellaraccident/a9425a4e07841aa28230c0083af5e110 to your computer and use it in GitHub Desktop.
Save stellaraccident/a9425a4e07841aa28230c0083af5e110 to your computer and use it in GitHub Desktop.
#loc1 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)
#loc19 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)
#loc31 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)
module @module {
func @main(%arg0: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)) -> (i32, i32) {
%c-4_i32 = arith.constant -4 : i32 loc(#loc2)
%c-7_i32 = arith.constant -7 : i32 loc(#loc3)
%c3_i32 = arith.constant 3 : i32 loc(#loc4)
%c0_i32 = arith.constant 0 : i32 loc(#loc5)
%c1 = arith.constant 1 : index loc(#loc1)
%c0 = arith.constant 0 : index loc(#loc1)
%c78_i32 = arith.constant 78 : i32 loc(#loc1)
%c2 = arith.constant 2 : index loc(#loc1)
%c1_i32 = arith.constant 1 : i32 loc(#loc6)
%c2_i32 = arith.constant 2 : i32 loc(#loc7)
%0 = iree.list.create : !iree.list<!iree.variant> loc(#loc1)
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc1)
iree.list.set %0[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc1)
iree.list.set %0[%c1], %arg0 : !iree.list<!iree.variant>, i32 loc(#loc1)
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc8)
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc8)
iree.list.set %1[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc8)
iree.list.set %1[%c1], %c0_i32 : !iree.list<!iree.variant>, i32 loc(#loc8)
%2 = iree.list.create %c1 : !iree.list<!iree.variant> loc(#loc4)
iree.list.resize %2, %c1 : !iree.list<!iree.variant> loc(#loc4)
iree.list.set %2[%c0], %1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc4)
%3 = iree.list.size %2 : !iree.list<!iree.variant> loc(#loc4)
%4 = arith.index_cast %arg0 : i32 to index loc(#loc4)
%5 = arith.cmpi sle, %arg0, %c0_i32 : i32 loc(#loc4)
%6 = select %5, %c0, %4 : index loc(#loc4)
%7 = arith.muli %3, %6 : index loc(#loc4)
%8 = iree.list.create %6 : !iree.list<!iree.variant> loc(#loc4)
iree.list.resize %8, %7 : !iree.list<!iree.variant> loc(#loc4)
br ^bb1(%c0 : index) loc(#loc4)
^bb1(%9: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb0, ^bb2
%10 = arith.cmpi ult, %9, %7 : index loc(#loc4)
cond_br %10, ^bb2(%9, %c0 : index, index), ^bb4 loc(#loc4)
^bb2(%11: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %12: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb1, ^bb3
%13 = arith.cmpi ult, %12, %3 : index loc(#loc4)
cond_br %13, ^bb3(%11, %12 : index, index), ^bb1(%11 : index) loc(#loc4)
^bb3(%14: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %15: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb2
%16 = iree.list.get %2[%15] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc4)
iree.list.set %8[%14], %16 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc4)
%17 = arith.addi %14, %c1 : index loc(#loc4)
%18 = arith.addi %15, %c1 : index loc(#loc4)
br ^bb2(%17, %18 : index, index) loc(#loc4)
^bb4: // pred: ^bb1
%19 = iree.list.size %8 : !iree.list<!iree.variant> loc(#loc4)
%20 = arith.muli %19, %c2 : index loc(#loc4)
%21 = iree.list.create %c2 : !iree.list<!iree.variant> loc(#loc4)
iree.list.resize %21, %20 : !iree.list<!iree.variant> loc(#loc4)
br ^bb5(%c0 : index) loc(#loc4)
^bb5(%22: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb4, ^bb6
%23 = arith.cmpi ult, %22, %20 : index loc(#loc4)
cond_br %23, ^bb6(%22, %c0 : index, index), ^bb8 loc(#loc4)
^bb6(%24: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %25: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb5, ^bb7
%26 = arith.cmpi ult, %25, %19 : index loc(#loc4)
cond_br %26, ^bb7(%24, %25 : index, index), ^bb5(%24 : index) loc(#loc4)
^bb7(%27: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %28: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb6
%29 = iree.list.get %8[%28] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc4)
iree.list.set %21[%27], %29 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc4)
%30 = arith.addi %27, %c1 : index loc(#loc4)
%31 = arith.addi %28, %c1 : index loc(#loc4)
br ^bb6(%30, %31 : index, index) loc(#loc4)
^bb8: // pred: ^bb5
%32 = iree.list.create : !iree.list<!iree.variant> loc(#loc4)
iree.list.resize %32, %c2 : !iree.list<!iree.variant> loc(#loc4)
iree.list.set %32[%c0], %c3_i32 : !iree.list<!iree.variant>, i32 loc(#loc4)
iree.list.set %32[%c1], %21 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc4)
%33 = iree.list.size %21 : !iree.list<!iree.variant> loc(#loc3)
%34 = arith.cmpi ult, %c0, %33 : index loc(#loc3)
cond_br %34, ^bb9(%c0 : index), ^bb10(%c-7_i32 : i32) loc(#loc3)
^bb9(%35: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb8
iree.list.set %21[%35], %c0_i32 : !iree.list<!iree.variant>, i32 loc(#loc3)
br ^bb10(%c0_i32 : i32) loc(#loc3)
^bb10(%36: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb8, ^bb9
%37 = arith.cmpi eq, %c0_i32, %36 : i32 loc(#loc3)
cond_br %37, ^bb11, ^bb54(%36, %c0_i32 : i32, i32) loc(#loc3)
^bb11: // pred: ^bb10
%38 = iree.list.size %21 : !iree.list<!iree.variant> loc(#loc9)
%39 = arith.cmpi ult, %c1, %38 : index loc(#loc9)
cond_br %39, ^bb12(%c1 : index), ^bb13(%c-7_i32 : i32) loc(#loc9)
^bb12(%40: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb11
iree.list.set %21[%40], %c1_i32 : !iree.list<!iree.variant>, i32 loc(#loc9)
br ^bb13(%c0_i32 : i32) loc(#loc9)
^bb13(%41: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb11, ^bb12
%42 = arith.cmpi eq, %c0_i32, %41 : i32 loc(#loc9)
cond_br %42, ^bb14, ^bb54(%41, %c0_i32 : i32, i32) loc(#loc9)
^bb14: // pred: ^bb13
%43 = iree.list.create : !iree.list<!iree.variant> loc(#loc10)
iree.list.resize %43, %c2 : !iree.list<!iree.variant> loc(#loc10)
iree.list.set %43[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc10)
iree.list.set %43[%c1], %c2_i32 : !iree.list<!iree.variant>, i32 loc(#loc10)
%44 = arith.cmpi sle, %c2_i32, %arg0 : i32 loc(#loc11)
cond_br %44, ^bb15(%0, %32, %43 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb42(%0, %32 : !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc11)
^bb15(%45: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %46: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %47: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb14, ^bb41
%48 = iree.list.get %47[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc12)
%49 = arith.cmpi eq, %c78_i32, %48 : i32 loc(#loc12)
cond_br %49, ^bb16, ^bb17(%c0_i32 : i32) loc(#loc12)
^bb16: // pred: ^bb15
%50 = iree.list.get %47[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc12)
br ^bb17(%50 : i32) loc(#loc12)
^bb17(%51: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb15, ^bb16
%52 = arith.subi %51, %c1_i32 : i32 loc(#loc12)
%53 = iree.list.get %46[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc13)
%54 = arith.cmpi eq, %c3_i32, %53 : i32 loc(#loc13)
cond_br %54, ^bb18, ^bb57 loc(#loc13)
^bb18: // pred: ^bb17
%55 = iree.list.get %46[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc13)
br ^bb19(%55 : !iree.list<!iree.variant>) loc(#loc13)
^bb19(%56: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb18, ^bb57
%57 = iree.list.size %56 : !iree.list<!iree.variant> loc(#loc13)
%58 = arith.index_cast %57 : index to i32 loc(#loc13)
%59 = arith.cmpi slt, %52, %c0_i32 : i32 loc(#loc13)
%60 = arith.index_cast %52 : i32 to index loc(#loc13)
cond_br %59, ^bb20, ^bb21(%60 : index) loc(#loc13)
^bb20: // pred: ^bb19
%61 = arith.addi %52, %58 : i32 loc(#loc13)
%62 = arith.index_cast %61 : i32 to index loc(#loc13)
br ^bb21(%62 : index) loc(#loc13)
^bb21(%63: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb19, ^bb20
%64 = arith.cmpi ult, %63, %57 : index loc(#loc13)
cond_br %64, ^bb22(%63 : index), ^bb58 loc(#loc13)
^bb22(%65: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb21
%66 = iree.list.get %56[%65] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc13)
br ^bb23(%c0_i32, %66 : i32, !iree.list<!iree.variant>) loc(#loc13)
^bb23(%67: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %68: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb22, ^bb58
%69 = arith.cmpi eq, %c0_i32, %67 : i32 loc(#loc13)
cond_br %69, ^bb24, ^bb54(%67, %c0_i32 : i32, i32) loc(#loc13)
^bb24: // pred: ^bb23
%70 = arith.subi %51, %c2_i32 : i32 loc(#loc14)
%71 = iree.list.size %56 : !iree.list<!iree.variant> loc(#loc15)
%72 = arith.index_cast %71 : index to i32 loc(#loc15)
%73 = arith.cmpi slt, %70, %c0_i32 : i32 loc(#loc15)
%74 = arith.index_cast %70 : i32 to index loc(#loc15)
cond_br %73, ^bb25, ^bb26(%74 : index) loc(#loc15)
^bb25: // pred: ^bb24
%75 = arith.addi %70, %72 : i32 loc(#loc15)
%76 = arith.index_cast %75 : i32 to index loc(#loc15)
br ^bb26(%76 : index) loc(#loc15)
^bb26(%77: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb24, ^bb25
%78 = arith.cmpi ult, %77, %71 : index loc(#loc15)
cond_br %78, ^bb27(%77 : index), ^bb59 loc(#loc15)
^bb27(%79: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb26
%80 = iree.list.get %56[%79] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc15)
br ^bb28(%c0_i32, %80 : i32, !iree.list<!iree.variant>) loc(#loc15)
^bb28(%81: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %82: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb27, ^bb59
%83 = arith.cmpi eq, %c0_i32, %81 : i32 loc(#loc15)
cond_br %83, ^bb29, ^bb54(%81, %c0_i32 : i32, i32) loc(#loc15)
^bb29: // pred: ^bb28
%84:2 = call @pydmrtl$dynamic_binary_promote(%68, %82) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc13)
%85 = arith.cmpi eq, %c0_i32, %84#0 : i32 loc(#loc13)
cond_br %85, ^bb30, ^bb54(%84#0, %c0_i32 : i32, i32) loc(#loc13)
^bb30: // pred: ^bb29
%86 = iree.list.size %84#1 : !iree.list<!iree.variant> loc(#loc13)
%87 = arith.cmpi eq, %c2, %86 : index loc(#loc13)
cond_br %87, ^bb31, ^bb60 loc(#loc13)
^bb31: // pred: ^bb30
%88 = iree.list.get %84#1[%c0] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc13)
%89 = iree.list.get %84#1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc13)
br ^bb32(%c0_i32, %88, %89 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc13)
^bb32(%90: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %91: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %92: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb31, ^bb60
%93 = arith.cmpi eq, %c0_i32, %90 : i32 loc(#loc13)
cond_br %93, ^bb33, ^bb54(%90, %c0_i32 : i32, i32) loc(#loc13)
^bb33: // pred: ^bb32
%94:2 = call @pydmrtl$apply_binary_add(%91, %92) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc13)
%95 = arith.cmpi eq, %c0_i32, %94#0 : i32 loc(#loc13)
cond_br %95, ^bb34, ^bb54(%94#0, %c0_i32 : i32, i32) loc(#loc13)
^bb34: // pred: ^bb33
%96 = iree.list.size %56 : !iree.list<!iree.variant> loc(#loc16)
%97 = arith.index_cast %96 : index to i32 loc(#loc16)
%98 = arith.cmpi slt, %51, %c0_i32 : i32 loc(#loc16)
%99 = arith.index_cast %51 : i32 to index loc(#loc16)
cond_br %98, ^bb35, ^bb36(%99 : index) loc(#loc16)
^bb35: // pred: ^bb34
%100 = arith.addi %51, %97 : i32 loc(#loc16)
%101 = arith.index_cast %100 : i32 to index loc(#loc16)
br ^bb36(%101 : index) loc(#loc16)
^bb36(%102: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb34, ^bb35
%103 = arith.cmpi ult, %102, %96 : index loc(#loc16)
cond_br %103, ^bb37(%102 : index), ^bb38(%c-7_i32 : i32) loc(#loc16)
^bb37(%104: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb36
iree.list.set %56[%104], %94#1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc16)
br ^bb38(%c0_i32 : i32) loc(#loc16)
^bb38(%105: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb36, ^bb37
%106 = arith.cmpi eq, %c0_i32, %105 : i32 loc(#loc16)
cond_br %106, ^bb39, ^bb54(%105, %c0_i32 : i32, i32) loc(#loc16)
^bb39: // pred: ^bb38
%107 = arith.addi %51, %c1_i32 : i32 loc(#loc17)
%108 = iree.list.create : !iree.list<!iree.variant> loc(#loc17)
iree.list.resize %108, %c2 : !iree.list<!iree.variant> loc(#loc17)
iree.list.set %108[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc17)
iree.list.set %108[%c1], %107 : !iree.list<!iree.variant>, i32 loc(#loc17)
%109 = iree.list.get %45[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc11)
%110 = arith.cmpi eq, %c78_i32, %109 : i32 loc(#loc11)
cond_br %110, ^bb40, ^bb41(%c0_i32 : i32) loc(#loc11)
^bb40: // pred: ^bb39
%111 = iree.list.get %45[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc11)
br ^bb41(%111 : i32) loc(#loc11)
^bb41(%112: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb39, ^bb40
%113 = arith.cmpi sle, %107, %112 : i32 loc(#loc11)
cond_br %113, ^bb15(%45, %46, %108 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb42(%45, %46 : !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc11)
^bb42(%114: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %115: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb14, ^bb41
%116 = iree.list.get %114[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc2)
%117 = arith.cmpi eq, %c78_i32, %116 : i32 loc(#loc2)
cond_br %117, ^bb43, ^bb44(%c0_i32 : i32) loc(#loc2)
^bb43: // pred: ^bb42
%118 = iree.list.get %114[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc2)
br ^bb44(%118 : i32) loc(#loc2)
^bb44(%119: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb42, ^bb43
%120 = iree.list.get %115[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc2)
%121 = arith.cmpi eq, %c3_i32, %120 : i32 loc(#loc2)
cond_br %121, ^bb45, ^bb55 loc(#loc2)
^bb45: // pred: ^bb44
%122 = iree.list.get %115[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc2)
br ^bb46(%122 : !iree.list<!iree.variant>) loc(#loc2)
^bb46(%123: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb45, ^bb55
%124 = iree.list.size %123 : !iree.list<!iree.variant> loc(#loc2)
%125 = arith.index_cast %124 : index to i32 loc(#loc2)
%126 = arith.cmpi slt, %119, %c0_i32 : i32 loc(#loc2)
%127 = arith.index_cast %119 : i32 to index loc(#loc2)
cond_br %126, ^bb47, ^bb48(%127 : index) loc(#loc2)
^bb47: // pred: ^bb46
%128 = arith.addi %119, %125 : i32 loc(#loc2)
%129 = arith.index_cast %128 : i32 to index loc(#loc2)
br ^bb48(%129 : index) loc(#loc2)
^bb48(%130: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb46, ^bb47
%131 = arith.cmpi ult, %130, %124 : index loc(#loc2)
cond_br %131, ^bb49(%130 : index), ^bb56 loc(#loc2)
^bb49(%132: index loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // pred: ^bb48
%133 = iree.list.get %123[%132] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc2)
br ^bb50(%c0_i32, %133 : i32, !iree.list<!iree.variant>) loc(#loc2)
^bb50(%134: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %135: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb49, ^bb56
%136 = arith.cmpi eq, %c0_i32, %134 : i32 loc(#loc2)
cond_br %136, ^bb51, ^bb54(%134, %c0_i32 : i32, i32) loc(#loc2)
^bb51: // pred: ^bb50
%137 = iree.list.get %135[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc2)
%138 = arith.cmpi eq, %c78_i32, %137 : i32 loc(#loc2)
cond_br %138, ^bb52, ^bb53(%c-4_i32, %c0_i32 : i32, i32) loc(#loc2)
^bb52: // pred: ^bb51
%139 = iree.list.get %135[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc2)
br ^bb53(%c0_i32, %139 : i32, i32) loc(#loc2)
^bb53(%140: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %141: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 2 preds: ^bb51, ^bb52
%142 = arith.cmpi eq, %c0_i32, %140 : i32 loc(#loc2)
cond_br %142, ^bb54(%c0_i32, %141 : i32, i32), ^bb54(%140, %c0_i32 : i32, i32) loc(#loc2)
^bb54(%143: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0), %144: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":31:0)): // 11 preds: ^bb10, ^bb13, ^bb23, ^bb28, ^bb29, ^bb32, ^bb33, ^bb38, ^bb50, ^bb53, ^bb53
return %143, %144 : i32, i32 loc(#loc18)
^bb55: // pred: ^bb44
%145 = iree.list.create : !iree.list<!iree.variant> loc(#loc2)
br ^bb46(%145 : !iree.list<!iree.variant>) loc(#loc2)
^bb56: // pred: ^bb48
%146 = iree.list.create : !iree.list<!iree.variant> loc(#loc2)
br ^bb50(%c-7_i32, %146 : i32, !iree.list<!iree.variant>) loc(#loc2)
^bb57: // pred: ^bb17
%147 = iree.list.create : !iree.list<!iree.variant> loc(#loc13)
br ^bb19(%147 : !iree.list<!iree.variant>) loc(#loc13)
^bb58: // pred: ^bb21
%148 = iree.list.create : !iree.list<!iree.variant> loc(#loc13)
br ^bb23(%c-7_i32, %148 : i32, !iree.list<!iree.variant>) loc(#loc13)
^bb59: // pred: ^bb26
%149 = iree.list.create : !iree.list<!iree.variant> loc(#loc15)
br ^bb28(%c-7_i32, %149 : i32, !iree.list<!iree.variant>) loc(#loc15)
^bb60: // pred: ^bb30
%150 = iree.list.create : !iree.list<!iree.variant> loc(#loc13)
%151 = iree.list.create : !iree.list<!iree.variant> loc(#loc13)
br ^bb32(%c-4_i32, %150, %151 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc13)
} loc(#loc1)
func private @pydmrtl$dynamic_binary_promote(%arg0: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0), %arg1: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)) -> (i32, !iree.list<!iree.variant>) {
%c-3_i32 = arith.constant -3 : i32 loc(#loc20)
%c0_i32 = arith.constant 0 : i32 loc(#loc21)
%c1 = arith.constant 1 : index loc(#loc22)
%c78_i32 = arith.constant 78 : i32 loc(#loc22)
%c0 = arith.constant 0 : index loc(#loc23)
%c2 = arith.constant 2 : index loc(#loc22)
%c1_i32 = arith.constant 1 : i32 loc(#loc21)
%c6_i32 = arith.constant 6 : i32 loc(#loc21)
%0 = iree.list.get %arg0[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc23)
%1 = iree.list.get %arg1[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc24)
%2 = iree.list.create : !iree.list<!iree.variant> loc(#loc22)
iree.list.resize %2, %c2 : !iree.list<!iree.variant> loc(#loc22)
iree.list.set %2[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc22)
iree.list.set %2[%c1], %1 : !iree.list<!iree.variant>, i32 loc(#loc22)
%3 = arith.shrsi %0, %c6_i32 : i32 loc(#loc25)
%4 = arith.cmpi eq, %3, %c1_i32 : i32 loc(#loc25)
cond_br %4, ^bb1(%2, %arg0, %arg1 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb5 loc(#loc26)
^bb1(%5: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0), %6: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0), %7: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)): // pred: ^bb0
%8 = iree.list.get %5[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc21)
%9 = arith.cmpi eq, %c78_i32, %8 : i32 loc(#loc21)
cond_br %9, ^bb2, ^bb3(%c0_i32 : i32) loc(#loc21)
^bb2: // pred: ^bb1
%10 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc21)
br ^bb3(%10 : i32) loc(#loc21)
^bb3(%11: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)): // 2 preds: ^bb1, ^bb2
%12 = arith.shrsi %11, %c6_i32 : i32 loc(#loc21)
%13 = arith.cmpi eq, %12, %c1_i32 : i32 loc(#loc21)
cond_br %13, ^bb4(%7, %6 : !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb5 loc(#loc27)
^bb4(%14: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0), %15: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)): // pred: ^bb3
%16 = iree.list.create %c2 : !iree.list<!iree.variant> loc(#loc28)
iree.list.resize %16, %c2 : !iree.list<!iree.variant> loc(#loc28)
iree.list.set %16[%c0], %15 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc28)
iree.list.set %16[%c1], %14 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc28)
return %c0_i32, %16 : i32, !iree.list<!iree.variant> loc(#loc29)
^bb5: // 2 preds: ^bb0, ^bb3
%17 = iree.list.create %c0 : !iree.list<!iree.variant> loc(#loc30)
iree.list.resize %17, %c0 : !iree.list<!iree.variant> loc(#loc30)
%18 = iree.list.create : !iree.list<!iree.variant> loc(#loc20)
return %c-3_i32, %18 : i32, !iree.list<!iree.variant> loc(#loc20)
} loc(#loc19)
func private @pydmrtl$apply_binary_add(%arg0: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %arg1: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)) -> (i32, !iree.list<!iree.variant>) {
%c0_i64 = arith.constant 0 : i64 loc(#loc32)
%cst = arith.constant 0.000000e+00 : f32 loc(#loc33)
%c-3_i32 = arith.constant -3 : i32 loc(#loc34)
%c90_i32 = arith.constant 90 : i32 loc(#loc33)
%c79_i32 = arith.constant 79 : i32 loc(#loc32)
%c0 = arith.constant 0 : index loc(#loc35)
%c1 = arith.constant 1 : index loc(#loc36)
%c78_i32 = arith.constant 78 : i32 loc(#loc36)
%c2 = arith.constant 2 : index loc(#loc36)
%c0_i32 = arith.constant 0 : i32 loc(#loc37)
%c2_i32 = arith.constant 2 : i32 loc(#loc38)
%c6_i32 = arith.constant 6 : i32 loc(#loc39)
%c3_i32 = arith.constant 3 : i32 loc(#loc40)
%c60_i32 = arith.constant 60 : i32 loc(#loc38)
%c1_i32 = arith.constant 1 : i32 loc(#loc39)
%0 = iree.list.get %arg0[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc35)
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc36)
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc36)
iree.list.set %1[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc36)
iree.list.set %1[%c1], %0 : !iree.list<!iree.variant>, i32 loc(#loc36)
%2 = iree.list.get %arg1[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc41)
%3 = arith.cmpi eq, %0, %2 : i32 loc(#loc42)
cond_br %3, ^bb1(%1, %arg1, %arg0 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb34 loc(#loc43)
^bb1(%4: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %5: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %6: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb0
%7 = iree.list.get %4[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc39)
%8 = arith.cmpi eq, %c78_i32, %7 : i32 loc(#loc39)
cond_br %8, ^bb2, ^bb3(%c0_i32 : i32) loc(#loc39)
^bb2: // pred: ^bb1
%9 = iree.list.get %4[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc39)
br ^bb3(%9 : i32) loc(#loc39)
^bb3(%10: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb1, ^bb2
%11 = arith.shrsi %10, %c6_i32 : i32 loc(#loc39)
%12 = arith.cmpi eq, %11, %c1_i32 : i32 loc(#loc39)
cond_br %12, ^bb4(%4, %6, %5 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb34 loc(#loc44)
^bb4(%13: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %14: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %15: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb3
%16 = iree.list.get %13[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc38)
%17 = arith.cmpi eq, %c78_i32, %16 : i32 loc(#loc38)
cond_br %17, ^bb5, ^bb6(%c0_i32 : i32) loc(#loc38)
^bb5: // pred: ^bb4
%18 = iree.list.get %13[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc38)
br ^bb6(%18 : i32) loc(#loc38)
^bb6(%19: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb4, ^bb5
%20 = arith.andi %19, %c60_i32 : i32 loc(#loc38)
%21 = arith.shrsi %20, %c2_i32 : i32 loc(#loc38)
%22 = iree.list.create : !iree.list<!iree.variant> loc(#loc45)
iree.list.resize %22, %c2 : !iree.list<!iree.variant> loc(#loc45)
iree.list.set %22[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc45)
iree.list.set %22[%c1], %21 : !iree.list<!iree.variant>, i32 loc(#loc45)
%23 = arith.andi %19, %c3_i32 : i32 loc(#loc40)
%24 = iree.list.create : !iree.list<!iree.variant> loc(#loc46)
iree.list.resize %24, %c2 : !iree.list<!iree.variant> loc(#loc46)
iree.list.set %24[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc46)
iree.list.set %24[%c1], %23 : !iree.list<!iree.variant>, i32 loc(#loc46)
%25 = arith.cmpi sle, %21, %c3_i32 : i32 loc(#loc47)
cond_br %25, ^bb7(%24, %15, %14 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb23(%22, %24, %14, %15 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc48)
^bb7(%26: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %27: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %28: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb6
%29 = iree.list.get %26[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc49)
%30 = arith.cmpi eq, %c78_i32, %29 : i32 loc(#loc49)
cond_br %30, ^bb8, ^bb9(%c0_i32 : i32) loc(#loc49)
^bb8: // pred: ^bb7
%31 = iree.list.get %26[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc49)
br ^bb9(%31 : i32) loc(#loc49)
^bb9(%32: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb7, ^bb8
%33 = arith.cmpi eq, %32, %c2_i32 : i32 loc(#loc50)
cond_br %33, ^bb10(%28, %27 : !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb15(%26, %28, %27 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc51)
^bb10(%34: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %35: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb9
%36 = iree.list.get %34[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc52)
%37 = arith.cmpi eq, %c78_i32, %36 : i32 loc(#loc52)
cond_br %37, ^bb11, ^bb12(%c0_i32 : i32) loc(#loc52)
^bb11: // pred: ^bb10
%38 = iree.list.get %34[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc52)
br ^bb12(%38 : i32) loc(#loc52)
^bb12(%39: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb10, ^bb11
%40 = iree.list.get %35[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc53)
%41 = arith.cmpi eq, %c78_i32, %40 : i32 loc(#loc53)
cond_br %41, ^bb13, ^bb14(%c0_i32 : i32) loc(#loc53)
^bb13: // pred: ^bb12
%42 = iree.list.get %35[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc53)
br ^bb14(%42 : i32) loc(#loc53)
^bb14(%43: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb12, ^bb13
%44 = arith.addi %39, %43 : i32 loc(#loc52)
%45 = iree.list.create : !iree.list<!iree.variant> loc(#loc52)
iree.list.resize %45, %c2 : !iree.list<!iree.variant> loc(#loc52)
iree.list.set %45[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc52)
iree.list.set %45[%c1], %44 : !iree.list<!iree.variant>, i32 loc(#loc52)
return %c0_i32, %45 : i32, !iree.list<!iree.variant> loc(#loc54)
^bb15(%46: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %47: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %48: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb9
%49 = iree.list.get %46[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc55)
%50 = arith.cmpi eq, %c78_i32, %49 : i32 loc(#loc55)
cond_br %50, ^bb16, ^bb17(%c0_i32 : i32) loc(#loc55)
^bb16: // pred: ^bb15
%51 = iree.list.get %46[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc55)
br ^bb17(%51 : i32) loc(#loc55)
^bb17(%52: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb15, ^bb16
%53 = arith.cmpi eq, %52, %c3_i32 : i32 loc(#loc56)
cond_br %53, ^bb18(%48, %47 : !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb34 loc(#loc57)
^bb18(%54: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %55: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb17
%56 = iree.list.get %55[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc32)
%57 = arith.cmpi eq, %c79_i32, %56 : i32 loc(#loc32)
cond_br %57, ^bb19, ^bb20(%c0_i64 : i64) loc(#loc32)
^bb19: // pred: ^bb18
%58 = iree.list.get %55[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc32)
br ^bb20(%58 : i64) loc(#loc32)
^bb20(%59: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb18, ^bb19
%60 = iree.list.get %54[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc58)
%61 = arith.cmpi eq, %c79_i32, %60 : i32 loc(#loc58)
cond_br %61, ^bb21, ^bb22(%c0_i64 : i64) loc(#loc58)
^bb21: // pred: ^bb20
%62 = iree.list.get %54[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc58)
br ^bb22(%62 : i64) loc(#loc58)
^bb22(%63: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb20, ^bb21
%64 = arith.addi %59, %63 : i64 loc(#loc32)
%65 = iree.list.create : !iree.list<!iree.variant> loc(#loc32)
iree.list.resize %65, %c2 : !iree.list<!iree.variant> loc(#loc32)
iree.list.set %65[%c0], %c79_i32 : !iree.list<!iree.variant>, i32 loc(#loc32)
iree.list.set %65[%c1], %64 : !iree.list<!iree.variant>, i64 loc(#loc32)
return %c0_i32, %65 : i32, !iree.list<!iree.variant> loc(#loc59)
^bb23(%66: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %67: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %68: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %69: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb6
%70 = iree.list.get %66[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc60)
%71 = arith.cmpi eq, %c78_i32, %70 : i32 loc(#loc60)
cond_br %71, ^bb24, ^bb25(%c0_i32 : i32) loc(#loc60)
^bb24: // pred: ^bb23
%72 = iree.list.get %66[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc60)
br ^bb25(%72 : i32) loc(#loc60)
^bb25(%73: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb23, ^bb24
%74 = arith.cmpi eq, %73, %c6_i32 : i32 loc(#loc61)
cond_br %74, ^bb26(%67, %69, %68 : !iree.list<!iree.variant>, !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb34 loc(#loc62)
^bb26(%75: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %76: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %77: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb25
%78 = iree.list.get %75[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc63)
%79 = arith.cmpi eq, %c78_i32, %78 : i32 loc(#loc63)
cond_br %79, ^bb27, ^bb28(%c0_i32 : i32) loc(#loc63)
^bb27: // pred: ^bb26
%80 = iree.list.get %75[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc63)
br ^bb28(%80 : i32) loc(#loc63)
^bb28(%81: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb26, ^bb27
%82 = arith.cmpi eq, %81, %c2_i32 : i32 loc(#loc64)
cond_br %82, ^bb29(%77, %76 : !iree.list<!iree.variant>, !iree.list<!iree.variant>), ^bb34 loc(#loc65)
^bb29(%83: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0), %84: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // pred: ^bb28
%85 = iree.list.get %83[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc33)
%86 = arith.cmpi eq, %c90_i32, %85 : i32 loc(#loc33)
cond_br %86, ^bb30, ^bb31(%cst : f32) loc(#loc33)
^bb30: // pred: ^bb29
%87 = iree.list.get %83[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc33)
br ^bb31(%87 : f32) loc(#loc33)
^bb31(%88: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb29, ^bb30
%89 = iree.list.get %84[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc66)
%90 = arith.cmpi eq, %c90_i32, %89 : i32 loc(#loc66)
cond_br %90, ^bb32, ^bb33(%cst : f32) loc(#loc66)
^bb32: // pred: ^bb31
%91 = iree.list.get %84[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc66)
br ^bb33(%91 : f32) loc(#loc66)
^bb33(%92: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb31, ^bb32
%93 = arith.addf %88, %92 : f32 loc(#loc33)
%94 = iree.list.create : !iree.list<!iree.variant> loc(#loc33)
iree.list.resize %94, %c2 : !iree.list<!iree.variant> loc(#loc33)
iree.list.set %94[%c0], %c90_i32 : !iree.list<!iree.variant>, i32 loc(#loc33)
iree.list.set %94[%c1], %93 : !iree.list<!iree.variant>, f32 loc(#loc33)
return %c0_i32, %94 : i32, !iree.list<!iree.variant> loc(#loc67)
^bb34: // 5 preds: ^bb0, ^bb3, ^bb17, ^bb25, ^bb28
%95 = iree.list.create : !iree.list<!iree.variant> loc(#loc34)
return %c-3_i32, %95 : i32, !iree.list<!iree.variant> loc(#loc34)
} loc(#loc31)
} loc(#loc0)
#loc0 = loc(unknown)
#loc2 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":39:9)
#loc3 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":33:2)
#loc4 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":32:11)
#loc5 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":33:9)
#loc6 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":38:12)
#loc7 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":37:43)
#loc8 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":32:12)
#loc9 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":34:2)
#loc10 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":35:2)
#loc11 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":36:13)
#loc12 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":37:23)
#loc13 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":37:16)
#loc14 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":37:39)
#loc15 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":37:32)
#loc16 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":37:4)
#loc17 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":38:8)
#loc18 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":39:2)
#loc20 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":23:9)
#loc21 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":20:7)
#loc22 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":18:2)
#loc23 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":17:19)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment