Last active
October 29, 2021 04:35
-
-
Save stellaraccident/ce5de391c470d6f8312f21dbcb271523 to your computer and use it in GitHub Desktop.
IREE Fibonacci
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module @module { | |
func @main(%arg0: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)) -> (i32, i32) { | |
%c-4_i32 = arith.constant -4 : i32 loc(#loc2) | |
%c0_i32 = arith.constant 0 : i32 loc(#loc2) | |
%c1 = arith.constant 1 : index loc(#loc1) | |
%c78_i32 = arith.constant 78 : i32 loc(#loc1) | |
%c0 = arith.constant 0 : index loc(#loc1) | |
%c2 = arith.constant 2 : index loc(#loc1) | |
%c256_i32 = arith.constant 256 : i32 loc(#loc1) | |
%c1_i32 = arith.constant 1 : i32 loc(#loc3) | |
%c2_i32 = arith.constant 2 : i32 loc(#loc4) | |
%0 = iree.list.create : !iree.list<!iree.variant> loc(#loc1) | |
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc1) | |
%2 = iree.list.create : !iree.list<!iree.variant> loc(#loc1) | |
%3 = iree.list.create : !iree.list<!iree.variant> loc(#loc1) | |
%4 = iree.list.create : !iree.list<!iree.variant> loc(#loc1) | |
%5 = iree.list.create : !iree.list<!iree.variant> loc(#loc1) | |
iree.list.resize %5, %c2 : !iree.list<!iree.variant> loc(#loc1) | |
iree.list.set %5[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc1) | |
iree.list.set %5[%c1], %arg0 : !iree.list<!iree.variant>, i32 loc(#loc1) | |
iree.list.resize %4, %c2 : !iree.list<!iree.variant> loc(#loc1) | |
iree.list.set %4[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc1) | |
iree.list.set %4[%c1], %5 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc1) | |
%6 = iree.list.create : !iree.list<!iree.variant> loc(#loc5) | |
iree.list.resize %6, %c2 : !iree.list<!iree.variant> loc(#loc5) | |
iree.list.set %6[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc5) | |
iree.list.set %6[%c1], %c0_i32 : !iree.list<!iree.variant>, i32 loc(#loc5) | |
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc5) | |
iree.list.set %1[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc5) | |
iree.list.set %1[%c1], %6 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc5) | |
%7 = iree.list.create : !iree.list<!iree.variant> loc(#loc6) | |
iree.list.resize %7, %c2 : !iree.list<!iree.variant> loc(#loc6) | |
iree.list.set %7[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc6) | |
iree.list.set %7[%c1], %c1_i32 : !iree.list<!iree.variant>, i32 loc(#loc6) | |
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc6) | |
iree.list.set %0[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc6) | |
iree.list.set %0[%c1], %7 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc6) | |
%8 = iree.list.get %4[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc7) | |
%9 = iree.list.create : !iree.list<!iree.variant> loc(#loc2) | |
iree.list.resize %9, %c2 : !iree.list<!iree.variant> loc(#loc2) | |
iree.list.set %9[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc2) | |
iree.list.set %9[%c1], %c0_i32 : !iree.list<!iree.variant>, i32 loc(#loc2) | |
%10:2 = call @pydmrtl$dynamic_binary_promote(%8, %9) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc2) | |
%11 = arith.cmpi eq, %c0_i32, %10#0 : i32 loc(#loc2) | |
cond_br %11, ^bb1, ^bb9(%10#0, %c0_i32 : i32, i32) loc(#loc2) | |
^bb1: // pred: ^bb0 | |
%12 = iree.list.size %10#1 : !iree.list<!iree.variant> loc(#loc2) | |
%13 = arith.cmpi eq, %c2, %12 : index loc(#loc2) | |
cond_br %13, ^bb2, ^bb28 loc(#loc2) | |
^bb2: // pred: ^bb1 | |
%14 = iree.list.get %10#1[%c0] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc2) | |
%15 = iree.list.get %10#1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc2) | |
br ^bb3(%c0_i32, %14, %15 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc2) | |
^bb3(%16: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %17: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %18: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 2 preds: ^bb2, ^bb28 | |
%19 = arith.cmpi eq, %c0_i32, %16 : i32 loc(#loc2) | |
cond_br %19, ^bb4, ^bb9(%16, %c0_i32 : i32, i32) loc(#loc2) | |
^bb4: // pred: ^bb3 | |
%20:2 = call @pydmrtl$apply_compare_eq(%17, %18) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, i1) loc(#loc2) | |
%21 = arith.cmpi eq, %c0_i32, %20#0 : i32 loc(#loc2) | |
cond_br %21, ^bb5, ^bb9(%20#0, %c0_i32 : i32, i32) loc(#loc2) | |
^bb5: // pred: ^bb4 | |
cond_br %20#1, ^bb6(%1 : !iree.list<!iree.variant>), ^bb10 loc(#loc8) | |
^bb6(%22: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 2 preds: ^bb5, ^bb16 | |
%23 = iree.list.get %22[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc9) | |
%24 = iree.list.get %23[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc9) | |
%25 = arith.cmpi eq, %c78_i32, %24 : i32 loc(#loc9) | |
cond_br %25, ^bb7, ^bb8(%c-4_i32, %c0_i32 : i32, i32) loc(#loc9) | |
^bb7: // pred: ^bb6 | |
%26 = iree.list.get %23[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc9) | |
br ^bb8(%c0_i32, %26 : i32, i32) loc(#loc9) | |
^bb8(%27: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %28: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 2 preds: ^bb6, ^bb7 | |
%29 = arith.cmpi eq, %c0_i32, %27 : i32 loc(#loc9) | |
cond_br %29, ^bb9(%c0_i32, %28 : i32, i32), ^bb9(%27, %c0_i32 : i32, i32) loc(#loc9) | |
^bb9(%30: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %31: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 14 preds: ^bb0, ^bb3, ^bb4, ^bb8, ^bb8, ^bb11, ^bb14, ^bb15, ^bb17, ^bb20, ^bb21, ^bb22, ^bb25, ^bb26 | |
return %30, %31 : i32, i32 loc(#loc10) | |
^bb10: // pred: ^bb5 | |
%32 = iree.list.create : !iree.list<!iree.variant> loc(#loc11) | |
iree.list.resize %32, %c2 : !iree.list<!iree.variant> loc(#loc11) | |
iree.list.set %32[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc11) | |
iree.list.set %32[%c1], %c2_i32 : !iree.list<!iree.variant>, i32 loc(#loc11) | |
iree.list.resize %3, %c2 : !iree.list<!iree.variant> loc(#loc11) | |
iree.list.set %3[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc11) | |
iree.list.set %3[%c1], %32 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc11) | |
br ^bb11 loc(#loc12) | |
^bb11: // 2 preds: ^bb10, ^bb27 | |
%33 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc13) | |
%34 = iree.list.get %4[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc14) | |
%35:2 = call @pydmrtl$dynamic_binary_promote(%33, %34) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc14) | |
%36 = arith.cmpi eq, %c0_i32, %35#0 : i32 loc(#loc14) | |
cond_br %36, ^bb12, ^bb9(%35#0, %c0_i32 : i32, i32) loc(#loc14) | |
^bb12: // pred: ^bb11 | |
%37 = iree.list.size %35#1 : !iree.list<!iree.variant> loc(#loc14) | |
%38 = arith.cmpi eq, %c2, %37 : index loc(#loc14) | |
cond_br %38, ^bb13, ^bb29 loc(#loc14) | |
^bb13: // pred: ^bb12 | |
%39 = iree.list.get %35#1[%c0] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc14) | |
%40 = iree.list.get %35#1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc14) | |
br ^bb14(%c0_i32, %39, %40 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc14) | |
^bb14(%41: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %42: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %43: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 2 preds: ^bb13, ^bb29 | |
%44 = arith.cmpi eq, %c0_i32, %41 : i32 loc(#loc14) | |
cond_br %44, ^bb15, ^bb9(%41, %c0_i32 : i32, i32) loc(#loc14) | |
^bb15: // pred: ^bb14 | |
%45:2 = call @pydmrtl$apply_compare_le(%42, %43) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, i1) loc(#loc14) | |
%46 = arith.cmpi eq, %c0_i32, %45#0 : i32 loc(#loc14) | |
cond_br %46, ^bb16, ^bb9(%45#0, %c0_i32 : i32, i32) loc(#loc14) | |
^bb16: // pred: ^bb15 | |
cond_br %45#1, ^bb17, ^bb6(%0 : !iree.list<!iree.variant>) loc(#loc14) | |
^bb17: // pred: ^bb16 | |
%47 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc15) | |
%48 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc16) | |
%49:2 = call @pydmrtl$dynamic_binary_promote(%47, %48) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc15) | |
%50 = arith.cmpi eq, %c0_i32, %49#0 : i32 loc(#loc15) | |
cond_br %50, ^bb18, ^bb9(%49#0, %c0_i32 : i32, i32) loc(#loc15) | |
^bb18: // pred: ^bb17 | |
%51 = iree.list.size %49#1 : !iree.list<!iree.variant> loc(#loc15) | |
%52 = arith.cmpi eq, %c2, %51 : index loc(#loc15) | |
cond_br %52, ^bb19, ^bb30 loc(#loc15) | |
^bb19: // pred: ^bb18 | |
%53 = iree.list.get %49#1[%c0] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc15) | |
%54 = iree.list.get %49#1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc15) | |
br ^bb20(%c0_i32, %53, %54 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc15) | |
^bb20(%55: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %56: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %57: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 2 preds: ^bb19, ^bb30 | |
%58 = arith.cmpi eq, %c0_i32, %55 : i32 loc(#loc15) | |
cond_br %58, ^bb21, ^bb9(%55, %c0_i32 : i32, i32) loc(#loc15) | |
^bb21: // pred: ^bb20 | |
%59:2 = call @pydmrtl$apply_binary_add(%56, %57) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc15) | |
%60 = arith.cmpi eq, %c0_i32, %59#0 : i32 loc(#loc15) | |
cond_br %60, ^bb22, ^bb9(%59#0, %c0_i32 : i32, i32) loc(#loc15) | |
^bb22: // pred: ^bb21 | |
iree.list.resize %2, %c2 : !iree.list<!iree.variant> loc(#loc17) | |
iree.list.set %2[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc17) | |
iree.list.set %2[%c1], %59#1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc17) | |
%61 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc18) | |
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc19) | |
iree.list.set %1[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc19) | |
iree.list.set %1[%c1], %61 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc19) | |
%62 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc20) | |
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc21) | |
iree.list.set %0[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc21) | |
iree.list.set %0[%c1], %62 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc21) | |
%63 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc22) | |
%64 = iree.list.create : !iree.list<!iree.variant> loc(#loc22) | |
iree.list.resize %64, %c2 : !iree.list<!iree.variant> loc(#loc22) | |
iree.list.set %64[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc22) | |
iree.list.set %64[%c1], %c1_i32 : !iree.list<!iree.variant>, i32 loc(#loc22) | |
%65:2 = call @pydmrtl$dynamic_binary_promote(%63, %64) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc22) | |
%66 = arith.cmpi eq, %c0_i32, %65#0 : i32 loc(#loc22) | |
cond_br %66, ^bb23, ^bb9(%65#0, %c0_i32 : i32, i32) loc(#loc22) | |
^bb23: // pred: ^bb22 | |
%67 = iree.list.size %65#1 : !iree.list<!iree.variant> loc(#loc22) | |
%68 = arith.cmpi eq, %c2, %67 : index loc(#loc22) | |
cond_br %68, ^bb24, ^bb31 loc(#loc22) | |
^bb24: // pred: ^bb23 | |
%69 = iree.list.get %65#1[%c0] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc22) | |
%70 = iree.list.get %65#1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc22) | |
br ^bb25(%c0_i32, %69, %70 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc22) | |
^bb25(%71: i32 loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %72: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0), %73: !iree.list<!iree.variant> loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":44:0)): // 2 preds: ^bb24, ^bb31 | |
%74 = arith.cmpi eq, %c0_i32, %71 : i32 loc(#loc22) | |
cond_br %74, ^bb26, ^bb9(%71, %c0_i32 : i32, i32) loc(#loc22) | |
^bb26: // pred: ^bb25 | |
%75:2 = call @pydmrtl$apply_binary_add(%72, %73) : (!iree.list<!iree.variant>, !iree.list<!iree.variant>) -> (i32, !iree.list<!iree.variant>) loc(#loc22) | |
%76 = arith.cmpi eq, %c0_i32, %75#0 : i32 loc(#loc22) | |
cond_br %76, ^bb27, ^bb9(%75#0, %c0_i32 : i32, i32) loc(#loc22) | |
^bb27: // pred: ^bb26 | |
iree.list.resize %3, %c2 : !iree.list<!iree.variant> loc(#loc23) | |
iree.list.set %3[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc23) | |
iree.list.set %3[%c1], %75#1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc23) | |
br ^bb11 loc(#loc23) | |
^bb28: // pred: ^bb1 | |
%77 = iree.list.create : !iree.list<!iree.variant> loc(#loc2) | |
%78 = iree.list.create : !iree.list<!iree.variant> loc(#loc2) | |
br ^bb3(%c-4_i32, %77, %78 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc2) | |
^bb29: // pred: ^bb12 | |
%79 = iree.list.create : !iree.list<!iree.variant> loc(#loc14) | |
%80 = iree.list.create : !iree.list<!iree.variant> loc(#loc14) | |
br ^bb14(%c-4_i32, %79, %80 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc14) | |
^bb30: // pred: ^bb18 | |
%81 = iree.list.create : !iree.list<!iree.variant> loc(#loc15) | |
%82 = iree.list.create : !iree.list<!iree.variant> loc(#loc15) | |
br ^bb20(%c-4_i32, %81, %82 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc15) | |
^bb31: // pred: ^bb23 | |
%83 = iree.list.create : !iree.list<!iree.variant> loc(#loc22) | |
%84 = iree.list.create : !iree.list<!iree.variant> loc(#loc22) | |
br ^bb25(%c-4_i32, %83, %84 : i32, !iree.list<!iree.variant>, !iree.list<!iree.variant>) loc(#loc22) | |
} 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(#loc25) | |
%c0_i32 = arith.constant 0 : i32 loc(#loc26) | |
%c78_i32 = arith.constant 78 : i32 loc(#loc27) | |
%c0 = arith.constant 0 : index loc(#loc24) | |
%c1 = arith.constant 1 : index loc(#loc24) | |
%c256_i32 = arith.constant 256 : i32 loc(#loc24) | |
%c2 = arith.constant 2 : index loc(#loc24) | |
%c1_i32 = arith.constant 1 : i32 loc(#loc26) | |
%c6_i32 = arith.constant 6 : i32 loc(#loc26) | |
%0 = iree.list.create : !iree.list<!iree.variant> loc(#loc24) | |
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc24) | |
%2 = iree.list.create : !iree.list<!iree.variant> loc(#loc24) | |
%3 = iree.list.create : !iree.list<!iree.variant> loc(#loc24) | |
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc24) | |
iree.list.set %0[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc24) | |
iree.list.set %0[%c1], %arg0 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc24) | |
iree.list.resize %2, %c2 : !iree.list<!iree.variant> loc(#loc24) | |
iree.list.set %2[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc24) | |
iree.list.set %2[%c1], %arg1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc24) | |
%4 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc28) | |
%5 = iree.list.get %4[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc29) | |
%6 = iree.list.create : !iree.list<!iree.variant> loc(#loc27) | |
iree.list.resize %6, %c2 : !iree.list<!iree.variant> loc(#loc27) | |
iree.list.set %6[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc27) | |
iree.list.set %6[%c1], %5 : !iree.list<!iree.variant>, i32 loc(#loc27) | |
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc27) | |
iree.list.set %1[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc27) | |
iree.list.set %1[%c1], %6 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc27) | |
%7 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc30) | |
%8 = iree.list.get %7[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc31) | |
%9 = iree.list.create : !iree.list<!iree.variant> loc(#loc32) | |
iree.list.resize %9, %c2 : !iree.list<!iree.variant> loc(#loc32) | |
iree.list.set %9[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc32) | |
iree.list.set %9[%c1], %8 : !iree.list<!iree.variant>, i32 loc(#loc32) | |
iree.list.resize %3, %c2 : !iree.list<!iree.variant> loc(#loc32) | |
iree.list.set %3[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc32) | |
iree.list.set %3[%c1], %9 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc32) | |
%10 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc33) | |
%11 = iree.list.get %10[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc26) | |
%12 = arith.cmpi eq, %c78_i32, %11 : i32 loc(#loc26) | |
cond_br %12, ^bb1, ^bb2(%c0_i32 : i32) loc(#loc26) | |
^bb1: // pred: ^bb0 | |
%13 = iree.list.get %10[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc26) | |
br ^bb2(%13 : i32) loc(#loc26) | |
^bb2(%14: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)): // 2 preds: ^bb0, ^bb1 | |
%15 = arith.shrsi %14, %c6_i32 : i32 loc(#loc26) | |
%16 = arith.cmpi eq, %15, %c1_i32 : i32 loc(#loc26) | |
cond_br %16, ^bb3, ^bb7 loc(#loc34) | |
^bb3: // pred: ^bb2 | |
%17 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc35) | |
%18 = iree.list.get %17[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc36) | |
%19 = arith.cmpi eq, %c78_i32, %18 : i32 loc(#loc36) | |
cond_br %19, ^bb4, ^bb5(%c0_i32 : i32) loc(#loc36) | |
^bb4: // pred: ^bb3 | |
%20 = iree.list.get %17[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc36) | |
br ^bb5(%20 : i32) loc(#loc36) | |
^bb5(%21: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":16:0)): // 2 preds: ^bb3, ^bb4 | |
%22 = arith.shrsi %21, %c6_i32 : i32 loc(#loc36) | |
%23 = arith.cmpi eq, %22, %c1_i32 : i32 loc(#loc36) | |
cond_br %23, ^bb6, ^bb7 loc(#loc37) | |
^bb6: // pred: ^bb5 | |
%24 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc38) | |
%25 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc39) | |
%26 = iree.list.create %c2 : !iree.list<!iree.variant> loc(#loc38) | |
iree.list.resize %26, %c2 : !iree.list<!iree.variant> loc(#loc38) | |
iree.list.set %26[%c0], %24 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc38) | |
iree.list.set %26[%c1], %25 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc38) | |
return %c0_i32, %26 : i32, !iree.list<!iree.variant> loc(#loc40) | |
^bb7: // 2 preds: ^bb2, ^bb5 | |
%27 = iree.list.create %c0 : !iree.list<!iree.variant> loc(#loc41) | |
iree.list.resize %27, %c0 : !iree.list<!iree.variant> loc(#loc41) | |
%28 = iree.list.create : !iree.list<!iree.variant> loc(#loc25) | |
return %c-3_i32, %28 : i32, !iree.list<!iree.variant> loc(#loc25) | |
} loc(#loc24) | |
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(#loc43) | |
%cst = arith.constant 0.000000e+00 : f32 loc(#loc44) | |
%c-3_i32 = arith.constant -3 : i32 loc(#loc45) | |
%c90_i32 = arith.constant 90 : i32 loc(#loc44) | |
%c79_i32 = arith.constant 79 : i32 loc(#loc43) | |
%c78_i32 = arith.constant 78 : i32 loc(#loc46) | |
%c0 = arith.constant 0 : index loc(#loc42) | |
%c1 = arith.constant 1 : index loc(#loc42) | |
%c256_i32 = arith.constant 256 : i32 loc(#loc42) | |
%c2 = arith.constant 2 : index loc(#loc42) | |
%c0_i32 = arith.constant 0 : i32 loc(#loc47) | |
%c6_i32 = arith.constant 6 : i32 loc(#loc48) | |
%c2_i32 = arith.constant 2 : i32 loc(#loc49) | |
%c3_i32 = arith.constant 3 : i32 loc(#loc50) | |
%c60_i32 = arith.constant 60 : i32 loc(#loc49) | |
%c1_i32 = arith.constant 1 : i32 loc(#loc48) | |
%0 = iree.list.create : !iree.list<!iree.variant> loc(#loc42) | |
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc42) | |
%2 = iree.list.create : !iree.list<!iree.variant> loc(#loc42) | |
%3 = iree.list.create : !iree.list<!iree.variant> loc(#loc42) | |
%4 = iree.list.create : !iree.list<!iree.variant> loc(#loc42) | |
%5 = iree.list.create : !iree.list<!iree.variant> loc(#loc42) | |
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc42) | |
iree.list.set %1[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc42) | |
iree.list.set %1[%c1], %arg0 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc42) | |
iree.list.resize %3, %c2 : !iree.list<!iree.variant> loc(#loc42) | |
iree.list.set %3[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc42) | |
iree.list.set %3[%c1], %arg1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc42) | |
%6 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc51) | |
%7 = iree.list.get %6[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc52) | |
%8 = iree.list.create : !iree.list<!iree.variant> loc(#loc46) | |
iree.list.resize %8, %c2 : !iree.list<!iree.variant> loc(#loc46) | |
iree.list.set %8[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc46) | |
iree.list.set %8[%c1], %7 : !iree.list<!iree.variant>, i32 loc(#loc46) | |
iree.list.resize %5, %c2 : !iree.list<!iree.variant> loc(#loc46) | |
iree.list.set %5[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc46) | |
iree.list.set %5[%c1], %8 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc46) | |
%9 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc53) | |
%10 = iree.list.get %9[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc54) | |
%11 = iree.list.create : !iree.list<!iree.variant> loc(#loc55) | |
iree.list.resize %11, %c2 : !iree.list<!iree.variant> loc(#loc55) | |
iree.list.set %11[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc55) | |
iree.list.set %11[%c1], %10 : !iree.list<!iree.variant>, i32 loc(#loc55) | |
iree.list.resize %4, %c2 : !iree.list<!iree.variant> loc(#loc55) | |
iree.list.set %4[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc55) | |
iree.list.set %4[%c1], %11 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc55) | |
%12 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc56) | |
%13 = iree.list.get %12[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc57) | |
%14 = arith.cmpi eq, %c78_i32, %13 : i32 loc(#loc57) | |
cond_br %14, ^bb1, ^bb2(%c0_i32 : i32) loc(#loc57) | |
^bb1: // pred: ^bb0 | |
%15 = iree.list.get %12[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc57) | |
br ^bb2(%15 : i32) loc(#loc57) | |
^bb2(%16: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb0, ^bb1 | |
%17 = iree.list.get %4[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc58) | |
%18 = iree.list.get %17[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc59) | |
%19 = arith.cmpi eq, %c78_i32, %18 : i32 loc(#loc59) | |
cond_br %19, ^bb3, ^bb4(%c0_i32 : i32) loc(#loc59) | |
^bb3: // pred: ^bb2 | |
%20 = iree.list.get %17[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc59) | |
br ^bb4(%20 : i32) loc(#loc59) | |
^bb4(%21: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb2, ^bb3 | |
%22 = arith.cmpi eq, %16, %21 : i32 loc(#loc59) | |
cond_br %22, ^bb5, ^bb42 loc(#loc60) | |
^bb5: // pred: ^bb4 | |
%23 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc61) | |
%24 = iree.list.get %23[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc48) | |
%25 = arith.cmpi eq, %c78_i32, %24 : i32 loc(#loc48) | |
cond_br %25, ^bb6, ^bb7(%c0_i32 : i32) loc(#loc48) | |
^bb6: // pred: ^bb5 | |
%26 = iree.list.get %23[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc48) | |
br ^bb7(%26 : i32) loc(#loc48) | |
^bb7(%27: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb5, ^bb6 | |
%28 = arith.shrsi %27, %c6_i32 : i32 loc(#loc48) | |
%29 = arith.cmpi eq, %28, %c1_i32 : i32 loc(#loc48) | |
cond_br %29, ^bb8, ^bb42 loc(#loc62) | |
^bb8: // pred: ^bb7 | |
%30 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc63) | |
%31 = iree.list.get %30[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc49) | |
%32 = arith.cmpi eq, %c78_i32, %31 : i32 loc(#loc49) | |
cond_br %32, ^bb9, ^bb10(%c0_i32 : i32) loc(#loc49) | |
^bb9: // pred: ^bb8 | |
%33 = iree.list.get %30[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc49) | |
br ^bb10(%33 : i32) loc(#loc49) | |
^bb10(%34: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb8, ^bb9 | |
%35 = arith.andi %34, %c60_i32 : i32 loc(#loc49) | |
%36 = arith.shrsi %35, %c2_i32 : i32 loc(#loc49) | |
%37 = iree.list.create : !iree.list<!iree.variant> loc(#loc64) | |
iree.list.resize %37, %c2 : !iree.list<!iree.variant> loc(#loc64) | |
iree.list.set %37[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc64) | |
iree.list.set %37[%c1], %36 : !iree.list<!iree.variant>, i32 loc(#loc64) | |
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc64) | |
iree.list.set %0[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc64) | |
iree.list.set %0[%c1], %37 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc64) | |
%38 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc65) | |
%39 = iree.list.get %38[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc50) | |
%40 = arith.cmpi eq, %c78_i32, %39 : i32 loc(#loc50) | |
cond_br %40, ^bb11, ^bb12(%c0_i32 : i32) loc(#loc50) | |
^bb11: // pred: ^bb10 | |
%41 = iree.list.get %38[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc50) | |
br ^bb12(%41 : i32) loc(#loc50) | |
^bb12(%42: 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 | |
%43 = arith.andi %42, %c3_i32 : i32 loc(#loc50) | |
%44 = iree.list.create : !iree.list<!iree.variant> loc(#loc66) | |
iree.list.resize %44, %c2 : !iree.list<!iree.variant> loc(#loc66) | |
iree.list.set %44[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc66) | |
iree.list.set %44[%c1], %43 : !iree.list<!iree.variant>, i32 loc(#loc66) | |
iree.list.resize %2, %c2 : !iree.list<!iree.variant> loc(#loc66) | |
iree.list.set %2[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc66) | |
iree.list.set %2[%c1], %44 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc66) | |
%45 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc67) | |
%46 = iree.list.get %45[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc68) | |
%47 = arith.cmpi eq, %c78_i32, %46 : i32 loc(#loc68) | |
cond_br %47, ^bb13, ^bb14(%c0_i32 : i32) loc(#loc68) | |
^bb13: // pred: ^bb12 | |
%48 = iree.list.get %45[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc68) | |
br ^bb14(%48 : i32) loc(#loc68) | |
^bb14(%49: 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 | |
%50 = arith.cmpi sle, %49, %c3_i32 : i32 loc(#loc69) | |
cond_br %50, ^bb15, ^bb31 loc(#loc70) | |
^bb15: // pred: ^bb14 | |
%51 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc71) | |
%52 = iree.list.get %51[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc72) | |
%53 = arith.cmpi eq, %c78_i32, %52 : i32 loc(#loc72) | |
cond_br %53, ^bb16, ^bb17(%c0_i32 : i32) loc(#loc72) | |
^bb16: // pred: ^bb15 | |
%54 = iree.list.get %51[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc72) | |
br ^bb17(%54 : i32) loc(#loc72) | |
^bb17(%55: 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 | |
%56 = arith.cmpi eq, %55, %c2_i32 : i32 loc(#loc73) | |
cond_br %56, ^bb18, ^bb23 loc(#loc74) | |
^bb18: // pred: ^bb17 | |
%57 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc75) | |
%58 = iree.list.get %57[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc76) | |
%59 = arith.cmpi eq, %c78_i32, %58 : i32 loc(#loc76) | |
cond_br %59, ^bb19, ^bb20(%c0_i32 : i32) loc(#loc76) | |
^bb19: // pred: ^bb18 | |
%60 = iree.list.get %57[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc76) | |
br ^bb20(%60 : i32) loc(#loc76) | |
^bb20(%61: i32 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 | |
%62 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc77) | |
%63 = iree.list.get %62[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc78) | |
%64 = arith.cmpi eq, %c78_i32, %63 : i32 loc(#loc78) | |
cond_br %64, ^bb21, ^bb22(%c0_i32 : i32) loc(#loc78) | |
^bb21: // pred: ^bb20 | |
%65 = iree.list.get %62[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc78) | |
br ^bb22(%65 : i32) loc(#loc78) | |
^bb22(%66: i32 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 | |
%67 = arith.addi %61, %66 : i32 loc(#loc76) | |
%68 = iree.list.create : !iree.list<!iree.variant> loc(#loc76) | |
iree.list.resize %68, %c2 : !iree.list<!iree.variant> loc(#loc76) | |
iree.list.set %68[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc76) | |
iree.list.set %68[%c1], %67 : !iree.list<!iree.variant>, i32 loc(#loc76) | |
return %c0_i32, %68 : i32, !iree.list<!iree.variant> loc(#loc79) | |
^bb23: // pred: ^bb17 | |
%69 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc80) | |
%70 = iree.list.get %69[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc81) | |
%71 = arith.cmpi eq, %c78_i32, %70 : i32 loc(#loc81) | |
cond_br %71, ^bb24, ^bb25(%c0_i32 : i32) loc(#loc81) | |
^bb24: // pred: ^bb23 | |
%72 = iree.list.get %69[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc81) | |
br ^bb25(%72 : i32) loc(#loc81) | |
^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, %c3_i32 : i32 loc(#loc82) | |
cond_br %74, ^bb26, ^bb42 loc(#loc83) | |
^bb26: // pred: ^bb25 | |
%75 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc84) | |
%76 = iree.list.get %75[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc43) | |
%77 = arith.cmpi eq, %c79_i32, %76 : i32 loc(#loc43) | |
cond_br %77, ^bb27, ^bb28(%c0_i64 : i64) loc(#loc43) | |
^bb27: // pred: ^bb26 | |
%78 = iree.list.get %75[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc43) | |
br ^bb28(%78 : i64) loc(#loc43) | |
^bb28(%79: i64 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 | |
%80 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc85) | |
%81 = iree.list.get %80[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc86) | |
%82 = arith.cmpi eq, %c79_i32, %81 : i32 loc(#loc86) | |
cond_br %82, ^bb29, ^bb30(%c0_i64 : i64) loc(#loc86) | |
^bb29: // pred: ^bb28 | |
%83 = iree.list.get %80[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc86) | |
br ^bb30(%83 : i64) loc(#loc86) | |
^bb30(%84: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb28, ^bb29 | |
%85 = arith.addi %79, %84 : i64 loc(#loc43) | |
%86 = iree.list.create : !iree.list<!iree.variant> loc(#loc43) | |
iree.list.resize %86, %c2 : !iree.list<!iree.variant> loc(#loc43) | |
iree.list.set %86[%c0], %c79_i32 : !iree.list<!iree.variant>, i32 loc(#loc43) | |
iree.list.set %86[%c1], %85 : !iree.list<!iree.variant>, i64 loc(#loc43) | |
return %c0_i32, %86 : i32, !iree.list<!iree.variant> loc(#loc87) | |
^bb31: // pred: ^bb14 | |
%87 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc88) | |
%88 = iree.list.get %87[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc89) | |
%89 = arith.cmpi eq, %c78_i32, %88 : i32 loc(#loc89) | |
cond_br %89, ^bb32, ^bb33(%c0_i32 : i32) loc(#loc89) | |
^bb32: // pred: ^bb31 | |
%90 = iree.list.get %87[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc89) | |
br ^bb33(%90 : i32) loc(#loc89) | |
^bb33(%91: i32 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 | |
%92 = arith.cmpi eq, %91, %c6_i32 : i32 loc(#loc90) | |
cond_br %92, ^bb34, ^bb42 loc(#loc91) | |
^bb34: // pred: ^bb33 | |
%93 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc92) | |
%94 = iree.list.get %93[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc93) | |
%95 = arith.cmpi eq, %c78_i32, %94 : i32 loc(#loc93) | |
cond_br %95, ^bb35, ^bb36(%c0_i32 : i32) loc(#loc93) | |
^bb35: // pred: ^bb34 | |
%96 = iree.list.get %93[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc93) | |
br ^bb36(%96 : i32) loc(#loc93) | |
^bb36(%97: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb34, ^bb35 | |
%98 = arith.cmpi eq, %97, %c2_i32 : i32 loc(#loc94) | |
cond_br %98, ^bb37, ^bb42 loc(#loc95) | |
^bb37: // pred: ^bb36 | |
%99 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc96) | |
%100 = iree.list.get %99[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc44) | |
%101 = arith.cmpi eq, %c90_i32, %100 : i32 loc(#loc44) | |
cond_br %101, ^bb38, ^bb39(%cst : f32) loc(#loc44) | |
^bb38: // pred: ^bb37 | |
%102 = iree.list.get %99[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc44) | |
br ^bb39(%102 : f32) loc(#loc44) | |
^bb39(%103: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb37, ^bb38 | |
%104 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc97) | |
%105 = iree.list.get %104[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc98) | |
%106 = arith.cmpi eq, %c90_i32, %105 : i32 loc(#loc98) | |
cond_br %106, ^bb40, ^bb41(%cst : f32) loc(#loc98) | |
^bb40: // pred: ^bb39 | |
%107 = iree.list.get %104[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc98) | |
br ^bb41(%107 : f32) loc(#loc98) | |
^bb41(%108: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":27:0)): // 2 preds: ^bb39, ^bb40 | |
%109 = arith.addf %103, %108 : f32 loc(#loc44) | |
%110 = iree.list.create : !iree.list<!iree.variant> loc(#loc44) | |
iree.list.resize %110, %c2 : !iree.list<!iree.variant> loc(#loc44) | |
iree.list.set %110[%c0], %c90_i32 : !iree.list<!iree.variant>, i32 loc(#loc44) | |
iree.list.set %110[%c1], %109 : !iree.list<!iree.variant>, f32 loc(#loc44) | |
return %c0_i32, %110 : i32, !iree.list<!iree.variant> loc(#loc99) | |
^bb42: // 5 preds: ^bb4, ^bb7, ^bb25, ^bb33, ^bb36 | |
%111 = iree.list.create : !iree.list<!iree.variant> loc(#loc45) | |
return %c-3_i32, %111 : i32, !iree.list<!iree.variant> loc(#loc45) | |
} loc(#loc42) | |
func private @pydmrtl$apply_compare_le(%arg0: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132: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":132:0)) -> (i32, i1) { | |
%c0_i64 = arith.constant 0 : i64 loc(#loc101) | |
%cst = arith.constant 0.000000e+00 : f32 loc(#loc102) | |
%c-3_i32 = arith.constant -3 : i32 loc(#loc103) | |
%c90_i32 = arith.constant 90 : i32 loc(#loc102) | |
%c79_i32 = arith.constant 79 : i32 loc(#loc101) | |
%c0_i32 = arith.constant 0 : i32 loc(#loc104) | |
%c78_i32 = arith.constant 78 : i32 loc(#loc105) | |
%c0 = arith.constant 0 : index loc(#loc100) | |
%c1 = arith.constant 1 : index loc(#loc100) | |
%c256_i32 = arith.constant 256 : i32 loc(#loc100) | |
%c2 = arith.constant 2 : index loc(#loc100) | |
%false = arith.constant false loc(#loc106) | |
%c6_i32 = arith.constant 6 : i32 loc(#loc107) | |
%c2_i32 = arith.constant 2 : i32 loc(#loc108) | |
%c3_i32 = arith.constant 3 : i32 loc(#loc109) | |
%c60_i32 = arith.constant 60 : i32 loc(#loc108) | |
%c1_i32 = arith.constant 1 : i32 loc(#loc107) | |
%0 = iree.list.create : !iree.list<!iree.variant> loc(#loc100) | |
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc100) | |
%2 = iree.list.create : !iree.list<!iree.variant> loc(#loc100) | |
%3 = iree.list.create : !iree.list<!iree.variant> loc(#loc100) | |
%4 = iree.list.create : !iree.list<!iree.variant> loc(#loc100) | |
%5 = iree.list.create : !iree.list<!iree.variant> loc(#loc100) | |
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc100) | |
iree.list.set %1[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc100) | |
iree.list.set %1[%c1], %arg0 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc100) | |
iree.list.resize %3, %c2 : !iree.list<!iree.variant> loc(#loc100) | |
iree.list.set %3[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc100) | |
iree.list.set %3[%c1], %arg1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc100) | |
%6 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc110) | |
%7 = iree.list.get %6[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc111) | |
%8 = iree.list.create : !iree.list<!iree.variant> loc(#loc105) | |
iree.list.resize %8, %c2 : !iree.list<!iree.variant> loc(#loc105) | |
iree.list.set %8[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc105) | |
iree.list.set %8[%c1], %7 : !iree.list<!iree.variant>, i32 loc(#loc105) | |
iree.list.resize %5, %c2 : !iree.list<!iree.variant> loc(#loc105) | |
iree.list.set %5[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc105) | |
iree.list.set %5[%c1], %8 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc105) | |
%9 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc112) | |
%10 = iree.list.get %9[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc113) | |
%11 = iree.list.create : !iree.list<!iree.variant> loc(#loc114) | |
iree.list.resize %11, %c2 : !iree.list<!iree.variant> loc(#loc114) | |
iree.list.set %11[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc114) | |
iree.list.set %11[%c1], %10 : !iree.list<!iree.variant>, i32 loc(#loc114) | |
iree.list.resize %4, %c2 : !iree.list<!iree.variant> loc(#loc114) | |
iree.list.set %4[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc114) | |
iree.list.set %4[%c1], %11 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc114) | |
%12 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc115) | |
%13 = iree.list.get %12[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc104) | |
%14 = arith.cmpi eq, %c78_i32, %13 : i32 loc(#loc104) | |
cond_br %14, ^bb1, ^bb2(%c0_i32 : i32) loc(#loc104) | |
^bb1: // pred: ^bb0 | |
%15 = iree.list.get %12[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc104) | |
br ^bb2(%15 : i32) loc(#loc104) | |
^bb2(%16: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb0, ^bb1 | |
%17 = iree.list.get %4[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc116) | |
%18 = iree.list.get %17[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc117) | |
%19 = arith.cmpi eq, %c78_i32, %18 : i32 loc(#loc117) | |
cond_br %19, ^bb3, ^bb4(%c0_i32 : i32) loc(#loc117) | |
^bb3: // pred: ^bb2 | |
%20 = iree.list.get %17[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc117) | |
br ^bb4(%20 : i32) loc(#loc117) | |
^bb4(%21: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb2, ^bb3 | |
%22 = arith.cmpi eq, %16, %21 : i32 loc(#loc117) | |
cond_br %22, ^bb5, ^bb42 loc(#loc118) | |
^bb5: // pred: ^bb4 | |
%23 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc119) | |
%24 = iree.list.get %23[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc107) | |
%25 = arith.cmpi eq, %c78_i32, %24 : i32 loc(#loc107) | |
cond_br %25, ^bb6, ^bb7(%c0_i32 : i32) loc(#loc107) | |
^bb6: // pred: ^bb5 | |
%26 = iree.list.get %23[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc107) | |
br ^bb7(%26 : i32) loc(#loc107) | |
^bb7(%27: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb5, ^bb6 | |
%28 = arith.shrsi %27, %c6_i32 : i32 loc(#loc107) | |
%29 = arith.cmpi eq, %28, %c1_i32 : i32 loc(#loc107) | |
cond_br %29, ^bb8, ^bb42 loc(#loc120) | |
^bb8: // pred: ^bb7 | |
%30 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc121) | |
%31 = iree.list.get %30[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc108) | |
%32 = arith.cmpi eq, %c78_i32, %31 : i32 loc(#loc108) | |
cond_br %32, ^bb9, ^bb10(%c0_i32 : i32) loc(#loc108) | |
^bb9: // pred: ^bb8 | |
%33 = iree.list.get %30[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc108) | |
br ^bb10(%33 : i32) loc(#loc108) | |
^bb10(%34: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb8, ^bb9 | |
%35 = arith.andi %34, %c60_i32 : i32 loc(#loc108) | |
%36 = arith.shrsi %35, %c2_i32 : i32 loc(#loc108) | |
%37 = iree.list.create : !iree.list<!iree.variant> loc(#loc122) | |
iree.list.resize %37, %c2 : !iree.list<!iree.variant> loc(#loc122) | |
iree.list.set %37[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc122) | |
iree.list.set %37[%c1], %36 : !iree.list<!iree.variant>, i32 loc(#loc122) | |
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc122) | |
iree.list.set %0[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc122) | |
iree.list.set %0[%c1], %37 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc122) | |
%38 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc123) | |
%39 = iree.list.get %38[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc109) | |
%40 = arith.cmpi eq, %c78_i32, %39 : i32 loc(#loc109) | |
cond_br %40, ^bb11, ^bb12(%c0_i32 : i32) loc(#loc109) | |
^bb11: // pred: ^bb10 | |
%41 = iree.list.get %38[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc109) | |
br ^bb12(%41 : i32) loc(#loc109) | |
^bb12(%42: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb10, ^bb11 | |
%43 = arith.andi %42, %c3_i32 : i32 loc(#loc109) | |
%44 = iree.list.create : !iree.list<!iree.variant> loc(#loc124) | |
iree.list.resize %44, %c2 : !iree.list<!iree.variant> loc(#loc124) | |
iree.list.set %44[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc124) | |
iree.list.set %44[%c1], %43 : !iree.list<!iree.variant>, i32 loc(#loc124) | |
iree.list.resize %2, %c2 : !iree.list<!iree.variant> loc(#loc124) | |
iree.list.set %2[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc124) | |
iree.list.set %2[%c1], %44 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc124) | |
%45 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc125) | |
%46 = iree.list.get %45[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc126) | |
%47 = arith.cmpi eq, %c78_i32, %46 : i32 loc(#loc126) | |
cond_br %47, ^bb13, ^bb14(%c0_i32 : i32) loc(#loc126) | |
^bb13: // pred: ^bb12 | |
%48 = iree.list.get %45[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc126) | |
br ^bb14(%48 : i32) loc(#loc126) | |
^bb14(%49: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb12, ^bb13 | |
%50 = arith.cmpi sle, %49, %c3_i32 : i32 loc(#loc127) | |
cond_br %50, ^bb15, ^bb31 loc(#loc128) | |
^bb15: // pred: ^bb14 | |
%51 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc129) | |
%52 = iree.list.get %51[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc130) | |
%53 = arith.cmpi eq, %c78_i32, %52 : i32 loc(#loc130) | |
cond_br %53, ^bb16, ^bb17(%c0_i32 : i32) loc(#loc130) | |
^bb16: // pred: ^bb15 | |
%54 = iree.list.get %51[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc130) | |
br ^bb17(%54 : i32) loc(#loc130) | |
^bb17(%55: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb15, ^bb16 | |
%56 = arith.cmpi eq, %55, %c2_i32 : i32 loc(#loc131) | |
cond_br %56, ^bb18, ^bb23 loc(#loc132) | |
^bb18: // pred: ^bb17 | |
%57 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc133) | |
%58 = iree.list.get %57[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc134) | |
%59 = arith.cmpi eq, %c78_i32, %58 : i32 loc(#loc134) | |
cond_br %59, ^bb19, ^bb20(%c0_i32 : i32) loc(#loc134) | |
^bb19: // pred: ^bb18 | |
%60 = iree.list.get %57[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc134) | |
br ^bb20(%60 : i32) loc(#loc134) | |
^bb20(%61: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb18, ^bb19 | |
%62 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc135) | |
%63 = iree.list.get %62[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc136) | |
%64 = arith.cmpi eq, %c78_i32, %63 : i32 loc(#loc136) | |
cond_br %64, ^bb21, ^bb22(%c0_i32 : i32) loc(#loc136) | |
^bb21: // pred: ^bb20 | |
%65 = iree.list.get %62[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc136) | |
br ^bb22(%65 : i32) loc(#loc136) | |
^bb22(%66: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb20, ^bb21 | |
%67 = arith.cmpi sle, %61, %66 : i32 loc(#loc136) | |
return %c0_i32, %67 : i32, i1 loc(#loc137) | |
^bb23: // pred: ^bb17 | |
%68 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc138) | |
%69 = iree.list.get %68[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc139) | |
%70 = arith.cmpi eq, %c78_i32, %69 : i32 loc(#loc139) | |
cond_br %70, ^bb24, ^bb25(%c0_i32 : i32) loc(#loc139) | |
^bb24: // pred: ^bb23 | |
%71 = iree.list.get %68[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc139) | |
br ^bb25(%71 : i32) loc(#loc139) | |
^bb25(%72: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb23, ^bb24 | |
%73 = arith.cmpi eq, %72, %c3_i32 : i32 loc(#loc140) | |
cond_br %73, ^bb26, ^bb42 loc(#loc141) | |
^bb26: // pred: ^bb25 | |
%74 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc142) | |
%75 = iree.list.get %74[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc101) | |
%76 = arith.cmpi eq, %c79_i32, %75 : i32 loc(#loc101) | |
cond_br %76, ^bb27, ^bb28(%c0_i64 : i64) loc(#loc101) | |
^bb27: // pred: ^bb26 | |
%77 = iree.list.get %74[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc101) | |
br ^bb28(%77 : i64) loc(#loc101) | |
^bb28(%78: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb26, ^bb27 | |
%79 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc143) | |
%80 = iree.list.get %79[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc144) | |
%81 = arith.cmpi eq, %c79_i32, %80 : i32 loc(#loc144) | |
cond_br %81, ^bb29, ^bb30(%c0_i64 : i64) loc(#loc144) | |
^bb29: // pred: ^bb28 | |
%82 = iree.list.get %79[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc144) | |
br ^bb30(%82 : i64) loc(#loc144) | |
^bb30(%83: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb28, ^bb29 | |
%84 = arith.cmpi sle, %78, %83 : i64 loc(#loc144) | |
return %c0_i32, %84 : i32, i1 loc(#loc145) | |
^bb31: // pred: ^bb14 | |
%85 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc146) | |
%86 = iree.list.get %85[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc147) | |
%87 = arith.cmpi eq, %c78_i32, %86 : i32 loc(#loc147) | |
cond_br %87, ^bb32, ^bb33(%c0_i32 : i32) loc(#loc147) | |
^bb32: // pred: ^bb31 | |
%88 = iree.list.get %85[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc147) | |
br ^bb33(%88 : i32) loc(#loc147) | |
^bb33(%89: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb31, ^bb32 | |
%90 = arith.cmpi eq, %89, %c6_i32 : i32 loc(#loc148) | |
cond_br %90, ^bb34, ^bb42 loc(#loc149) | |
^bb34: // pred: ^bb33 | |
%91 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc150) | |
%92 = iree.list.get %91[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc151) | |
%93 = arith.cmpi eq, %c78_i32, %92 : i32 loc(#loc151) | |
cond_br %93, ^bb35, ^bb36(%c0_i32 : i32) loc(#loc151) | |
^bb35: // pred: ^bb34 | |
%94 = iree.list.get %91[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc151) | |
br ^bb36(%94 : i32) loc(#loc151) | |
^bb36(%95: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb34, ^bb35 | |
%96 = arith.cmpi eq, %95, %c2_i32 : i32 loc(#loc152) | |
cond_br %96, ^bb37, ^bb42 loc(#loc153) | |
^bb37: // pred: ^bb36 | |
%97 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc154) | |
%98 = iree.list.get %97[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc102) | |
%99 = arith.cmpi eq, %c90_i32, %98 : i32 loc(#loc102) | |
cond_br %99, ^bb38, ^bb39(%cst : f32) loc(#loc102) | |
^bb38: // pred: ^bb37 | |
%100 = iree.list.get %97[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc102) | |
br ^bb39(%100 : f32) loc(#loc102) | |
^bb39(%101: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb37, ^bb38 | |
%102 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc155) | |
%103 = iree.list.get %102[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc156) | |
%104 = arith.cmpi eq, %c90_i32, %103 : i32 loc(#loc156) | |
cond_br %104, ^bb40, ^bb41(%cst : f32) loc(#loc156) | |
^bb40: // pred: ^bb39 | |
%105 = iree.list.get %102[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc156) | |
br ^bb41(%105 : f32) loc(#loc156) | |
^bb41(%106: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":132:0)): // 2 preds: ^bb39, ^bb40 | |
%107 = arith.cmpf ole, %101, %106 : f32 loc(#loc156) | |
return %c0_i32, %107 : i32, i1 loc(#loc157) | |
^bb42: // 5 preds: ^bb4, ^bb7, ^bb25, ^bb33, ^bb36 | |
return %c-3_i32, %false : i32, i1 loc(#loc103) | |
} loc(#loc100) | |
func private @pydmrtl$apply_compare_eq(%arg0: !iree.list<!iree.variant> loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167: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":167:0)) -> (i32, i1) { | |
%c0_i64 = arith.constant 0 : i64 loc(#loc159) | |
%cst = arith.constant 0.000000e+00 : f32 loc(#loc160) | |
%c-3_i32 = arith.constant -3 : i32 loc(#loc161) | |
%c90_i32 = arith.constant 90 : i32 loc(#loc160) | |
%c79_i32 = arith.constant 79 : i32 loc(#loc159) | |
%c0_i32 = arith.constant 0 : i32 loc(#loc162) | |
%c78_i32 = arith.constant 78 : i32 loc(#loc163) | |
%c0 = arith.constant 0 : index loc(#loc158) | |
%c1 = arith.constant 1 : index loc(#loc158) | |
%c256_i32 = arith.constant 256 : i32 loc(#loc158) | |
%c2 = arith.constant 2 : index loc(#loc158) | |
%false = arith.constant false loc(#loc164) | |
%c6_i32 = arith.constant 6 : i32 loc(#loc165) | |
%c2_i32 = arith.constant 2 : i32 loc(#loc166) | |
%c3_i32 = arith.constant 3 : i32 loc(#loc167) | |
%c60_i32 = arith.constant 60 : i32 loc(#loc166) | |
%c1_i32 = arith.constant 1 : i32 loc(#loc165) | |
%0 = iree.list.create : !iree.list<!iree.variant> loc(#loc158) | |
%1 = iree.list.create : !iree.list<!iree.variant> loc(#loc158) | |
%2 = iree.list.create : !iree.list<!iree.variant> loc(#loc158) | |
%3 = iree.list.create : !iree.list<!iree.variant> loc(#loc158) | |
%4 = iree.list.create : !iree.list<!iree.variant> loc(#loc158) | |
%5 = iree.list.create : !iree.list<!iree.variant> loc(#loc158) | |
iree.list.resize %1, %c2 : !iree.list<!iree.variant> loc(#loc158) | |
iree.list.set %1[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc158) | |
iree.list.set %1[%c1], %arg0 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc158) | |
iree.list.resize %3, %c2 : !iree.list<!iree.variant> loc(#loc158) | |
iree.list.set %3[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc158) | |
iree.list.set %3[%c1], %arg1 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc158) | |
%6 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc168) | |
%7 = iree.list.get %6[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc169) | |
%8 = iree.list.create : !iree.list<!iree.variant> loc(#loc163) | |
iree.list.resize %8, %c2 : !iree.list<!iree.variant> loc(#loc163) | |
iree.list.set %8[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc163) | |
iree.list.set %8[%c1], %7 : !iree.list<!iree.variant>, i32 loc(#loc163) | |
iree.list.resize %5, %c2 : !iree.list<!iree.variant> loc(#loc163) | |
iree.list.set %5[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc163) | |
iree.list.set %5[%c1], %8 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc163) | |
%9 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc170) | |
%10 = iree.list.get %9[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc171) | |
%11 = iree.list.create : !iree.list<!iree.variant> loc(#loc172) | |
iree.list.resize %11, %c2 : !iree.list<!iree.variant> loc(#loc172) | |
iree.list.set %11[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc172) | |
iree.list.set %11[%c1], %10 : !iree.list<!iree.variant>, i32 loc(#loc172) | |
iree.list.resize %4, %c2 : !iree.list<!iree.variant> loc(#loc172) | |
iree.list.set %4[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc172) | |
iree.list.set %4[%c1], %11 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc172) | |
%12 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc173) | |
%13 = iree.list.get %12[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc162) | |
%14 = arith.cmpi eq, %c78_i32, %13 : i32 loc(#loc162) | |
cond_br %14, ^bb1, ^bb2(%c0_i32 : i32) loc(#loc162) | |
^bb1: // pred: ^bb0 | |
%15 = iree.list.get %12[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc162) | |
br ^bb2(%15 : i32) loc(#loc162) | |
^bb2(%16: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb0, ^bb1 | |
%17 = iree.list.get %4[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc174) | |
%18 = iree.list.get %17[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc175) | |
%19 = arith.cmpi eq, %c78_i32, %18 : i32 loc(#loc175) | |
cond_br %19, ^bb3, ^bb4(%c0_i32 : i32) loc(#loc175) | |
^bb3: // pred: ^bb2 | |
%20 = iree.list.get %17[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc175) | |
br ^bb4(%20 : i32) loc(#loc175) | |
^bb4(%21: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb2, ^bb3 | |
%22 = arith.cmpi eq, %16, %21 : i32 loc(#loc175) | |
cond_br %22, ^bb5, ^bb42 loc(#loc176) | |
^bb5: // pred: ^bb4 | |
%23 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc177) | |
%24 = iree.list.get %23[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc165) | |
%25 = arith.cmpi eq, %c78_i32, %24 : i32 loc(#loc165) | |
cond_br %25, ^bb6, ^bb7(%c0_i32 : i32) loc(#loc165) | |
^bb6: // pred: ^bb5 | |
%26 = iree.list.get %23[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc165) | |
br ^bb7(%26 : i32) loc(#loc165) | |
^bb7(%27: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb5, ^bb6 | |
%28 = arith.shrsi %27, %c6_i32 : i32 loc(#loc165) | |
%29 = arith.cmpi eq, %28, %c1_i32 : i32 loc(#loc165) | |
cond_br %29, ^bb8, ^bb42 loc(#loc178) | |
^bb8: // pred: ^bb7 | |
%30 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc179) | |
%31 = iree.list.get %30[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc166) | |
%32 = arith.cmpi eq, %c78_i32, %31 : i32 loc(#loc166) | |
cond_br %32, ^bb9, ^bb10(%c0_i32 : i32) loc(#loc166) | |
^bb9: // pred: ^bb8 | |
%33 = iree.list.get %30[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc166) | |
br ^bb10(%33 : i32) loc(#loc166) | |
^bb10(%34: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb8, ^bb9 | |
%35 = arith.andi %34, %c60_i32 : i32 loc(#loc166) | |
%36 = arith.shrsi %35, %c2_i32 : i32 loc(#loc166) | |
%37 = iree.list.create : !iree.list<!iree.variant> loc(#loc180) | |
iree.list.resize %37, %c2 : !iree.list<!iree.variant> loc(#loc180) | |
iree.list.set %37[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc180) | |
iree.list.set %37[%c1], %36 : !iree.list<!iree.variant>, i32 loc(#loc180) | |
iree.list.resize %0, %c2 : !iree.list<!iree.variant> loc(#loc180) | |
iree.list.set %0[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc180) | |
iree.list.set %0[%c1], %37 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc180) | |
%38 = iree.list.get %5[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc181) | |
%39 = iree.list.get %38[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc167) | |
%40 = arith.cmpi eq, %c78_i32, %39 : i32 loc(#loc167) | |
cond_br %40, ^bb11, ^bb12(%c0_i32 : i32) loc(#loc167) | |
^bb11: // pred: ^bb10 | |
%41 = iree.list.get %38[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc167) | |
br ^bb12(%41 : i32) loc(#loc167) | |
^bb12(%42: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb10, ^bb11 | |
%43 = arith.andi %42, %c3_i32 : i32 loc(#loc167) | |
%44 = iree.list.create : !iree.list<!iree.variant> loc(#loc182) | |
iree.list.resize %44, %c2 : !iree.list<!iree.variant> loc(#loc182) | |
iree.list.set %44[%c0], %c78_i32 : !iree.list<!iree.variant>, i32 loc(#loc182) | |
iree.list.set %44[%c1], %43 : !iree.list<!iree.variant>, i32 loc(#loc182) | |
iree.list.resize %2, %c2 : !iree.list<!iree.variant> loc(#loc182) | |
iree.list.set %2[%c0], %c256_i32 : !iree.list<!iree.variant>, i32 loc(#loc182) | |
iree.list.set %2[%c1], %44 : !iree.list<!iree.variant>, !iree.list<!iree.variant> loc(#loc182) | |
%45 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc183) | |
%46 = iree.list.get %45[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc184) | |
%47 = arith.cmpi eq, %c78_i32, %46 : i32 loc(#loc184) | |
cond_br %47, ^bb13, ^bb14(%c0_i32 : i32) loc(#loc184) | |
^bb13: // pred: ^bb12 | |
%48 = iree.list.get %45[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc184) | |
br ^bb14(%48 : i32) loc(#loc184) | |
^bb14(%49: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb12, ^bb13 | |
%50 = arith.cmpi sle, %49, %c3_i32 : i32 loc(#loc185) | |
cond_br %50, ^bb15, ^bb31 loc(#loc186) | |
^bb15: // pred: ^bb14 | |
%51 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc187) | |
%52 = iree.list.get %51[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc188) | |
%53 = arith.cmpi eq, %c78_i32, %52 : i32 loc(#loc188) | |
cond_br %53, ^bb16, ^bb17(%c0_i32 : i32) loc(#loc188) | |
^bb16: // pred: ^bb15 | |
%54 = iree.list.get %51[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc188) | |
br ^bb17(%54 : i32) loc(#loc188) | |
^bb17(%55: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb15, ^bb16 | |
%56 = arith.cmpi eq, %55, %c2_i32 : i32 loc(#loc189) | |
cond_br %56, ^bb18, ^bb23 loc(#loc190) | |
^bb18: // pred: ^bb17 | |
%57 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc191) | |
%58 = iree.list.get %57[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc192) | |
%59 = arith.cmpi eq, %c78_i32, %58 : i32 loc(#loc192) | |
cond_br %59, ^bb19, ^bb20(%c0_i32 : i32) loc(#loc192) | |
^bb19: // pred: ^bb18 | |
%60 = iree.list.get %57[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc192) | |
br ^bb20(%60 : i32) loc(#loc192) | |
^bb20(%61: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb18, ^bb19 | |
%62 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc193) | |
%63 = iree.list.get %62[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc194) | |
%64 = arith.cmpi eq, %c78_i32, %63 : i32 loc(#loc194) | |
cond_br %64, ^bb21, ^bb22(%c0_i32 : i32) loc(#loc194) | |
^bb21: // pred: ^bb20 | |
%65 = iree.list.get %62[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc194) | |
br ^bb22(%65 : i32) loc(#loc194) | |
^bb22(%66: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb20, ^bb21 | |
%67 = arith.cmpi eq, %61, %66 : i32 loc(#loc194) | |
return %c0_i32, %67 : i32, i1 loc(#loc195) | |
^bb23: // pred: ^bb17 | |
%68 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc196) | |
%69 = iree.list.get %68[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc197) | |
%70 = arith.cmpi eq, %c78_i32, %69 : i32 loc(#loc197) | |
cond_br %70, ^bb24, ^bb25(%c0_i32 : i32) loc(#loc197) | |
^bb24: // pred: ^bb23 | |
%71 = iree.list.get %68[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc197) | |
br ^bb25(%71 : i32) loc(#loc197) | |
^bb25(%72: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb23, ^bb24 | |
%73 = arith.cmpi eq, %72, %c3_i32 : i32 loc(#loc198) | |
cond_br %73, ^bb26, ^bb42 loc(#loc199) | |
^bb26: // pred: ^bb25 | |
%74 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc200) | |
%75 = iree.list.get %74[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc159) | |
%76 = arith.cmpi eq, %c79_i32, %75 : i32 loc(#loc159) | |
cond_br %76, ^bb27, ^bb28(%c0_i64 : i64) loc(#loc159) | |
^bb27: // pred: ^bb26 | |
%77 = iree.list.get %74[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc159) | |
br ^bb28(%77 : i64) loc(#loc159) | |
^bb28(%78: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb26, ^bb27 | |
%79 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc201) | |
%80 = iree.list.get %79[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc202) | |
%81 = arith.cmpi eq, %c79_i32, %80 : i32 loc(#loc202) | |
cond_br %81, ^bb29, ^bb30(%c0_i64 : i64) loc(#loc202) | |
^bb29: // pred: ^bb28 | |
%82 = iree.list.get %79[%c1] : !iree.list<!iree.variant> -> i64 loc(#loc202) | |
br ^bb30(%82 : i64) loc(#loc202) | |
^bb30(%83: i64 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb28, ^bb29 | |
%84 = arith.cmpi eq, %78, %83 : i64 loc(#loc202) | |
return %c0_i32, %84 : i32, i1 loc(#loc203) | |
^bb31: // pred: ^bb14 | |
%85 = iree.list.get %0[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc204) | |
%86 = iree.list.get %85[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc205) | |
%87 = arith.cmpi eq, %c78_i32, %86 : i32 loc(#loc205) | |
cond_br %87, ^bb32, ^bb33(%c0_i32 : i32) loc(#loc205) | |
^bb32: // pred: ^bb31 | |
%88 = iree.list.get %85[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc205) | |
br ^bb33(%88 : i32) loc(#loc205) | |
^bb33(%89: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb31, ^bb32 | |
%90 = arith.cmpi eq, %89, %c6_i32 : i32 loc(#loc206) | |
cond_br %90, ^bb34, ^bb42 loc(#loc207) | |
^bb34: // pred: ^bb33 | |
%91 = iree.list.get %2[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc208) | |
%92 = iree.list.get %91[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc209) | |
%93 = arith.cmpi eq, %c78_i32, %92 : i32 loc(#loc209) | |
cond_br %93, ^bb35, ^bb36(%c0_i32 : i32) loc(#loc209) | |
^bb35: // pred: ^bb34 | |
%94 = iree.list.get %91[%c1] : !iree.list<!iree.variant> -> i32 loc(#loc209) | |
br ^bb36(%94 : i32) loc(#loc209) | |
^bb36(%95: i32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb34, ^bb35 | |
%96 = arith.cmpi eq, %95, %c2_i32 : i32 loc(#loc210) | |
cond_br %96, ^bb37, ^bb42 loc(#loc211) | |
^bb37: // pred: ^bb36 | |
%97 = iree.list.get %1[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc212) | |
%98 = iree.list.get %97[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc160) | |
%99 = arith.cmpi eq, %c90_i32, %98 : i32 loc(#loc160) | |
cond_br %99, ^bb38, ^bb39(%cst : f32) loc(#loc160) | |
^bb38: // pred: ^bb37 | |
%100 = iree.list.get %97[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc160) | |
br ^bb39(%100 : f32) loc(#loc160) | |
^bb39(%101: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb37, ^bb38 | |
%102 = iree.list.get %3[%c1] : !iree.list<!iree.variant> -> !iree.list<!iree.variant> loc(#loc213) | |
%103 = iree.list.get %102[%c0] : !iree.list<!iree.variant> -> i32 loc(#loc214) | |
%104 = arith.cmpi eq, %c90_i32, %103 : i32 loc(#loc214) | |
cond_br %104, ^bb40, ^bb41(%cst : f32) loc(#loc214) | |
^bb40: // pred: ^bb39 | |
%105 = iree.list.get %102[%c1] : !iree.list<!iree.variant> -> f32 loc(#loc214) | |
br ^bb41(%105 : f32) loc(#loc214) | |
^bb41(%106: f32 loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":167:0)): // 2 preds: ^bb39, ^bb40 | |
%107 = arith.cmpf oeq, %101, %106 : f32 loc(#loc214) | |
return %c0_i32, %107 : i32, i1 loc(#loc215) | |
^bb42: // 5 preds: ^bb4, ^bb7, ^bb25, ^bb33, ^bb36 | |
return %c-3_i32, %false : i32, i1 loc(#loc161) | |
} loc(#loc158) | |
} loc(#loc0) | |
#loc0 = loc(unknown) | |
#loc2 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":47:10) | |
#loc3 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":54:12) | |
#loc4 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":49:6) | |
#loc5 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":45:2) | |
#loc6 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":46:2) | |
#loc7 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":47:5) | |
#loc8 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":47:2) | |
#loc9 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":48:11) | |
#loc10 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":48:4) | |
#loc11 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":49:2) | |
#loc12 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":50:2) | |
#loc13 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":50:8) | |
#loc14 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":50:13) | |
#loc15 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":51:8) | |
#loc16 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":51:12) | |
#loc17 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":51:4) | |
#loc18 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":52:8) | |
#loc19 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":52:4) | |
#loc20 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":53:8) | |
#loc21 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":53:4) | |
#loc22 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":54:8) | |
#loc23 = loc("/home/stella/src/iree-samples/pydm/simple/fibonacci.py":54:4) | |
#loc25 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":23:9) | |
#loc26 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":19:5) | |
#loc27 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":17:2) | |
#loc28 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":17:33) | |
#loc29 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":17:19) | |
#loc30 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":18:34) | |
#loc31 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":18:20) | |
#loc32 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":18:2) | |
#loc33 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":19:26) | |
#loc34 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":19:2) | |
#loc35 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":20:28) | |
#loc36 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":20:7) | |
#loc37 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":20:4) | |
#loc38 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":22:13) | |
#loc39 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":22:19) | |
#loc40 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":22:6) | |
#loc41 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":23:27) | |
#loc43 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":44:17) | |
#loc44 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":49:17) | |
#loc45 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":57:9) | |
#loc46 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":28:2) | |
#loc47 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":57:27) | |
#loc48 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":31:7) | |
#loc49 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":32:20) | |
#loc50 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":33:24) | |
#loc51 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":28:28) | |
#loc52 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":28:14) | |
#loc53 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":29:34) | |
#loc54 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":29:20) | |
#loc55 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":29:2) | |
#loc56 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":30:15) | |
#loc57 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":30:5) | |
#loc58 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":30:39) | |
#loc59 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":30:29) | |
#loc60 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":30:2) | |
#loc61 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":31:28) | |
#loc62 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":31:4) | |
#loc63 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":32:51) | |
#loc64 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":32:6) | |
#loc65 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":33:54) | |
#loc66 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":33:6) | |
#loc67 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":34:19) | |
#loc68 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":34:9) | |
#loc69 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":34:35) | |
#loc70 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":34:6) | |
#loc71 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":41:21) | |
#loc72 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":41:11) | |
#loc73 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":41:41) | |
#loc74 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":41:8) | |
#loc75 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":42:27) | |
#loc76 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":42:17) | |
#loc77 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":42:45) | |
#loc78 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":42:35) | |
#loc79 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":42:10) | |
#loc80 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":43:23) | |
#loc81 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":43:13) | |
#loc82 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":43:43) | |
#loc83 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":43:8) | |
#loc84 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":44:27) | |
#loc85 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":44:45) | |
#loc86 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":44:35) | |
#loc87 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":44:10) | |
#loc88 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":46:21) | |
#loc89 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":46:11) | |
#loc90 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":46:37) | |
#loc91 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":46:6) | |
#loc92 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":48:21) | |
#loc93 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":48:11) | |
#loc94 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":48:41) | |
#loc95 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":48:8) | |
#loc96 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":49:27) | |
#loc97 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":49:45) | |
#loc98 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":49:35) | |
#loc99 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":49:10) | |
#loc101 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":149:17) | |
#loc102 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":154:17) | |
#loc103 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":162:9) | |
#loc104 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":135:5) | |
#loc105 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":133:2) | |
#loc106 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":162:27) | |
#loc107 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":136:7) | |
#loc108 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":137:20) | |
#loc109 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":138:24) | |
#loc110 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":133:28) | |
#loc111 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":133:14) | |
#loc112 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":134:34) | |
#loc113 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":134:20) | |
#loc114 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":134:2) | |
#loc115 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":135:15) | |
#loc116 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":135:39) | |
#loc117 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":135:29) | |
#loc118 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":135:2) | |
#loc119 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":136:28) | |
#loc120 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":136:4) | |
#loc121 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":137:51) | |
#loc122 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":137:6) | |
#loc123 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":138:54) | |
#loc124 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":138:6) | |
#loc125 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":139:19) | |
#loc126 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":139:9) | |
#loc127 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":139:35) | |
#loc128 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":139:6) | |
#loc129 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":146:21) | |
#loc130 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":146:11) | |
#loc131 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":146:41) | |
#loc132 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":146:8) | |
#loc133 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":147:27) | |
#loc134 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":147:17) | |
#loc135 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":147:46) | |
#loc136 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":147:36) | |
#loc137 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":147:10) | |
#loc138 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":148:23) | |
#loc139 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":148:13) | |
#loc140 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":148:43) | |
#loc141 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":148:8) | |
#loc142 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":149:27) | |
#loc143 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":149:46) | |
#loc144 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":149:36) | |
#loc145 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":149:10) | |
#loc146 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":151:21) | |
#loc147 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":151:11) | |
#loc148 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":151:37) | |
#loc149 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":151:6) | |
#loc150 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":153:21) | |
#loc151 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":153:11) | |
#loc152 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":153:41) | |
#loc153 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":153:8) | |
#loc154 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":154:27) | |
#loc155 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":154:46) | |
#loc156 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":154:36) | |
#loc157 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":154:10) | |
#loc159 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":184:17) | |
#loc160 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":189:17) | |
#loc161 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":197:9) | |
#loc162 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":170:5) | |
#loc163 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":168:2) | |
#loc164 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":197:27) | |
#loc165 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":171:7) | |
#loc166 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.py":172:20) | |
#loc167 = loc("/home/stella/src/iree-build/compiler-api/python_package/iree/compiler/dialects/iree_pydm/rtl/modules/numerics.. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module @module { | |
iree_pydm.func @main(%arg0: !iree_pydm.integer) -> (!iree_pydm.exception_result, !iree_pydm.integer) attributes {arg_names = ["n"], cell_vars = [], free_vars = ["n", "a", "b", "i", "c"]} { | |
%b = alloc_free_var "b" -> !iree_pydm.free_var_ref | |
%a = alloc_free_var "a" -> !iree_pydm.free_var_ref | |
%c = alloc_free_var "c" -> !iree_pydm.free_var_ref | |
%i = alloc_free_var "i" -> !iree_pydm.free_var_ref | |
%n = alloc_free_var "n" -> !iree_pydm.free_var_ref | |
%0 = box %arg0 : !iree_pydm.integer -> !iree_pydm.object<!iree_pydm.integer> | |
store_var %n = %0 : !iree_pydm.free_var_ref, !iree_pydm.object<!iree_pydm.integer> | |
%1 = constant 0 : i64 -> !iree_pydm.integer | |
%2 = box %1 : !iree_pydm.integer -> !iree_pydm.object<!iree_pydm.integer> | |
store_var %a = %2 : !iree_pydm.free_var_ref, !iree_pydm.object<!iree_pydm.integer> | |
%3 = constant 1 : i64 -> !iree_pydm.integer | |
%4 = box %3 : !iree_pydm.integer -> !iree_pydm.object<!iree_pydm.integer> | |
store_var %b = %4 : !iree_pydm.free_var_ref, !iree_pydm.object<!iree_pydm.integer> | |
%5 = constant false -> !iree_pydm.bool | |
%6 = load_var %n : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%7 = constant 0 : i64 -> !iree_pydm.integer | |
%left_prime, %right_prime = dynamic_binary_promote %6, %7 : !iree_pydm.object, !iree_pydm.integer | |
%8 = apply_compare "eq", %left_prime, %right_prime : !iree_pydm.object, !iree_pydm.object | |
%9 = as_bool %8 : !iree_pydm.bool -> !iree_pydm.bool | |
%10 = bool_to_pred %9 | |
std.cond_br %10, ^bb1, ^bb2 | |
^bb1: // pred: ^bb0 | |
%11 = load_var %a : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%exc_result, %primitive = unbox %11 : !iree_pydm.object -> !iree_pydm.integer | |
raise_on_failure %exc_result : !iree_pydm.exception_result | |
return %primitive : !iree_pydm.integer | |
^bb2: // pred: ^bb0 | |
%12 = constant 2 : i64 -> !iree_pydm.integer | |
%13 = box %12 : !iree_pydm.integer -> !iree_pydm.object<!iree_pydm.integer> | |
store_var %i = %13 : !iree_pydm.free_var_ref, !iree_pydm.object<!iree_pydm.integer> | |
std.br ^bb3 | |
^bb3: // 2 preds: ^bb2, ^bb4 | |
%14 = constant false -> !iree_pydm.bool | |
%15 = load_var %i : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%16 = load_var %n : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%left_prime_0, %right_prime_1 = dynamic_binary_promote %15, %16 : !iree_pydm.object, !iree_pydm.object | |
%17 = apply_compare "le", %left_prime_0, %right_prime_1 : !iree_pydm.object, !iree_pydm.object | |
%18 = as_bool %17 : !iree_pydm.bool -> !iree_pydm.bool | |
%19 = bool_to_pred %18 | |
std.cond_br %19, ^bb4, ^bb5 | |
^bb4: // pred: ^bb3 | |
%20 = load_var %a : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%21 = load_var %b : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%left_prime_2, %right_prime_3 = dynamic_binary_promote %20, %21 : !iree_pydm.object, !iree_pydm.object | |
%22 = apply_binary "add", %left_prime_2, %right_prime_3 : !iree_pydm.object, !iree_pydm.object -> !iree_pydm.object | |
store_var %c = %22 : !iree_pydm.free_var_ref, !iree_pydm.object | |
%23 = load_var %b : !iree_pydm.free_var_ref -> !iree_pydm.object | |
store_var %a = %23 : !iree_pydm.free_var_ref, !iree_pydm.object | |
%24 = load_var %c : !iree_pydm.free_var_ref -> !iree_pydm.object | |
store_var %b = %24 : !iree_pydm.free_var_ref, !iree_pydm.object | |
%25 = load_var %i : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%26 = constant 1 : i64 -> !iree_pydm.integer | |
%left_prime_4, %right_prime_5 = dynamic_binary_promote %25, %26 : !iree_pydm.object, !iree_pydm.integer | |
%27 = apply_binary "add", %left_prime_4, %right_prime_5 : !iree_pydm.object, !iree_pydm.object -> !iree_pydm.object | |
store_var %i = %27 : !iree_pydm.free_var_ref, !iree_pydm.object | |
std.br ^bb3 | |
^bb5: // pred: ^bb3 | |
%28 = load_var %b : !iree_pydm.free_var_ref -> !iree_pydm.object | |
%exc_result_6, %primitive_7 = unbox %28 : !iree_pydm.object -> !iree_pydm.integer | |
raise_on_failure %exc_result_6 : !iree_pydm.exception_result | |
return %primitive_7 : !iree_pydm.integer | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def test_spaceopt(self): | |
@jit(debug=2) | |
def compute(n: int) -> int: | |
a = 0 | |
b = 1 | |
if n == 0: | |
return a | |
i = 2 | |
while i <= n: # TODO: Upgrade to for...range | |
c = a + b | |
a = b | |
b = c | |
i = i + 1 # TODO: Support AugAssign | |
return b | |
print(compute(20)) | |
# Prints 6765 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment