mirror of https://github.com/llvm/torch-mlir
parent
86b792520b
commit
40c25cecc4
|
@ -4088,6 +4088,259 @@ StringRef mlir::torch::Torch::getAbstractInterpLibrary() {
|
||||||
" } : (!torch.int, !torch.bool) -> ()\n"
|
" } : (!torch.int, !torch.bool) -> ()\n"
|
||||||
" return %none : !torch.none\n"
|
" return %none : !torch.none\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
|
" func.func @__torch__.torch.jit._shape_functions.stack(%arg0: !torch.list<list<int>>, %arg1: !torch.int) -> !torch.list<int> {\n"
|
||||||
|
" %false = torch.constant.bool false\n"
|
||||||
|
" %str = torch.constant.str \"AssertionError: Tensors must have same number of dimensions\"\n"
|
||||||
|
" %str_0 = torch.constant.str \"AssertionError: Sizes of tensors must match except in dimension\"\n"
|
||||||
|
" %int1 = torch.constant.int 1\n"
|
||||||
|
" %int0 = torch.constant.int 0\n"
|
||||||
|
" %str_1 = torch.constant.str \"AssertionError: \"\n"
|
||||||
|
" %none = torch.constant.none\n"
|
||||||
|
" %true = torch.constant.bool true\n"
|
||||||
|
" %0 = torch.prim.ListConstruct : () -> !torch.list<list<int>>\n"
|
||||||
|
" %1 = torch.aten.len.t %arg0 : !torch.list<list<int>> -> !torch.int\n"
|
||||||
|
" torch.prim.Loop %1, %true, init() {\n"
|
||||||
|
" ^bb0(%arg2: !torch.int):\n"
|
||||||
|
" %16 = torch.aten.__getitem__.t %arg0, %arg2 : !torch.list<list<int>>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" %17 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %18 = torch.aten.add.int %17, %int1 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" %19 = torch.aten.le.int %18, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %20 = torch.prim.If %19 -> (!torch.int) {\n"
|
||||||
|
" torch.prim.If.yield %int1 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %18 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" %21 = torch.aten.neg.int %20 : !torch.int -> !torch.int\n"
|
||||||
|
" %22 = torch.aten.sub.int %20, %int1 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" %23 = torch.aten.lt.int %arg1, %21 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %24 = torch.prim.If %23 -> (!torch.bool) {\n"
|
||||||
|
" torch.prim.If.yield %true : !torch.bool\n"
|
||||||
|
" } else {\n"
|
||||||
|
" %31 = torch.aten.gt.int %arg1, %22 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If.yield %31 : !torch.bool\n"
|
||||||
|
" }\n"
|
||||||
|
" %25 = torch.aten.__not__ %24 : !torch.bool -> !torch.bool\n"
|
||||||
|
" torch.prim.If %25 -> () {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.RaiseException %str_1, %none : !torch.str, !torch.none\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" %26 = torch.aten.lt.int %arg1, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %27 = torch.prim.If %26 -> (!torch.int) {\n"
|
||||||
|
" %31 = torch.aten.add.int %arg1, %20 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" torch.prim.If.yield %31 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %arg1 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" %28 = torch.prim.ListConstruct : () -> !torch.list<int>\n"
|
||||||
|
" %29 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" torch.prim.Loop %29, %true, init() {\n"
|
||||||
|
" ^bb0(%arg3: !torch.int):\n"
|
||||||
|
" %31 = torch.aten.__getitem__.t %16, %arg3 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %32 = torch.aten.append.t %28, %31 : !torch.list<int>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter()\n"
|
||||||
|
" } : (!torch.int, !torch.bool) -> ()\n"
|
||||||
|
" torch.aten.insert.t %28, %27, %int1 : !torch.list<int>, !torch.int, !torch.int\n"
|
||||||
|
" %30 = torch.aten.append.t %0, %28 : !torch.list<list<int>>, !torch.list<int> -> !torch.list<list<int>>\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter()\n"
|
||||||
|
" } : (!torch.int, !torch.bool) -> ()\n"
|
||||||
|
" %2 = torch.prim.ListConstruct %int0 : (!torch.int) -> !torch.list<int>\n"
|
||||||
|
" %3 = torch.aten.len.t %0 : !torch.list<list<int>> -> !torch.int\n"
|
||||||
|
" torch.prim.Loop %3, %true, init() {\n"
|
||||||
|
" ^bb0(%arg2: !torch.int):\n"
|
||||||
|
" %16 = torch.aten.__getitem__.t %0, %arg2 : !torch.list<list<int>>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" %17 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %18 = torch.aten.gt.int %17, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If %18 -> () {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.RaiseException %str_1, %none : !torch.str, !torch.none\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter()\n"
|
||||||
|
" } : (!torch.int, !torch.bool) -> ()\n"
|
||||||
|
" %4 = torch.aten.len.t %0 : !torch.list<list<int>> -> !torch.int\n"
|
||||||
|
" %5 = torch.derefine %none : !torch.none to !torch.optional<int>\n"
|
||||||
|
" %6 = torch.prim.Loop %4, %true, init(%5) {\n"
|
||||||
|
" ^bb0(%arg2: !torch.int, %arg3: !torch.optional<int>):\n"
|
||||||
|
" %16 = torch.aten.__getitem__.t %0, %arg2 : !torch.list<list<int>>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" %17 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %18 = torch.aten.eq.int %17, %int1 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %19 = torch.prim.If %18 -> (!torch.bool) {\n"
|
||||||
|
" %22 = torch.aten.__getitem__.t %16, %int0 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %23 = torch.aten.eq.int %22, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If.yield %23 : !torch.bool\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %false : !torch.bool\n"
|
||||||
|
" }\n"
|
||||||
|
" %20 = torch.aten.__not__ %19 : !torch.bool -> !torch.bool\n"
|
||||||
|
" %21 = torch.prim.If %20 -> (!torch.optional<int>) {\n"
|
||||||
|
" %22 = torch.aten.__is__ %arg3, %none : !torch.optional<int>, !torch.none -> !torch.bool\n"
|
||||||
|
" %23 = torch.prim.If %22 -> (!torch.int) {\n"
|
||||||
|
" %25 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %26 = torch.aten.le.int %25, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %27 = torch.prim.If %26 -> (!torch.int) {\n"
|
||||||
|
" torch.prim.If.yield %int1 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %25 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" %28 = torch.aten.neg.int %27 : !torch.int -> !torch.int\n"
|
||||||
|
" %29 = torch.aten.sub.int %27, %int1 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" %30 = torch.aten.lt.int %arg1, %28 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %31 = torch.prim.If %30 -> (!torch.bool) {\n"
|
||||||
|
" torch.prim.If.yield %true : !torch.bool\n"
|
||||||
|
" } else {\n"
|
||||||
|
" %35 = torch.aten.gt.int %arg1, %29 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If.yield %35 : !torch.bool\n"
|
||||||
|
" }\n"
|
||||||
|
" %32 = torch.aten.__not__ %31 : !torch.bool -> !torch.bool\n"
|
||||||
|
" torch.prim.If %32 -> () {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.RaiseException %str_1, %none : !torch.str, !torch.none\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" %33 = torch.aten.lt.int %arg1, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %34 = torch.prim.If %33 -> (!torch.int) {\n"
|
||||||
|
" %35 = torch.aten.add.int %arg1, %27 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" torch.prim.If.yield %35 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %arg1 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.If.yield %34 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" %25 = torch.prim.unchecked_cast %arg3 : !torch.optional<int> -> !torch.int\n"
|
||||||
|
" torch.prim.If.yield %25 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" %24 = torch.derefine %23 : !torch.int to !torch.optional<int>\n"
|
||||||
|
" torch.prim.If.yield %24 : !torch.optional<int>\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %arg3 : !torch.optional<int>\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter(%21 : !torch.optional<int>)\n"
|
||||||
|
" } : (!torch.int, !torch.bool, !torch.optional<int>) -> !torch.optional<int>\n"
|
||||||
|
" %7 = torch.aten.__is__ %6, %none : !torch.optional<int>, !torch.none -> !torch.bool\n"
|
||||||
|
" %8 = torch.prim.If %7 -> (!torch.int) {\n"
|
||||||
|
" torch.prim.If.yield %arg1 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" %16 = torch.prim.unchecked_cast %6 : !torch.optional<int> -> !torch.int\n"
|
||||||
|
" torch.prim.If.yield %16 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" %9 = torch.aten.len.t %0 : !torch.list<list<int>> -> !torch.int\n"
|
||||||
|
" %10 = torch.aten.gt.int %9, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If %10 -> () {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.RaiseException %str_1, %none : !torch.str, !torch.none\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" %11 = torch.aten.len.t %0 : !torch.list<list<int>> -> !torch.int\n"
|
||||||
|
" %12 = torch.derefine %none : !torch.none to !torch.optional<list<int>>\n"
|
||||||
|
" %13 = torch.prim.Loop %11, %true, init(%12) {\n"
|
||||||
|
" ^bb0(%arg2: !torch.int, %arg3: !torch.optional<list<int>>):\n"
|
||||||
|
" %16 = torch.aten.__getitem__.t %0, %arg2 : !torch.list<list<int>>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" %17 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %18 = torch.prim.Loop %17, %true, init(%int1) {\n"
|
||||||
|
" ^bb0(%arg4: !torch.int, %arg5: !torch.int):\n"
|
||||||
|
" %23 = torch.aten.__getitem__.t %16, %arg4 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %24 = torch.aten.mul.int %arg5, %23 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter(%24 : !torch.int)\n"
|
||||||
|
" } : (!torch.int, !torch.bool, !torch.int) -> !torch.int\n"
|
||||||
|
" %19 = torch.aten.eq.int %18, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %20 = torch.prim.If %19 -> (!torch.bool) {\n"
|
||||||
|
" %23 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %24 = torch.aten.eq.int %23, %int1 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If.yield %24 : !torch.bool\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %false : !torch.bool\n"
|
||||||
|
" }\n"
|
||||||
|
" %21 = torch.aten.__not__ %20 : !torch.bool -> !torch.bool\n"
|
||||||
|
" %22 = torch.prim.If %21 -> (!torch.optional<list<int>>) {\n"
|
||||||
|
" %23 = torch.derefine %16 : !torch.list<int> to !torch.optional<list<int>>\n"
|
||||||
|
" torch.prim.If.yield %23 : !torch.optional<list<int>>\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %arg3 : !torch.optional<list<int>>\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter(%22 : !torch.optional<list<int>>)\n"
|
||||||
|
" } : (!torch.int, !torch.bool, !torch.optional<list<int>>) -> !torch.optional<list<int>>\n"
|
||||||
|
" %14 = torch.aten.__is__ %13, %none : !torch.optional<list<int>>, !torch.none -> !torch.bool\n"
|
||||||
|
" %15 = torch.prim.If %14 -> (!torch.list<int>) {\n"
|
||||||
|
" torch.prim.If.yield %2 : !torch.list<int>\n"
|
||||||
|
" } else {\n"
|
||||||
|
" %16 = torch.prim.unchecked_cast %13 : !torch.optional<list<int>> -> !torch.list<int>\n"
|
||||||
|
" %17 = torch.aten.len.t %0 : !torch.list<list<int>> -> !torch.int\n"
|
||||||
|
" %18 = torch.prim.Loop %17, %true, init(%int0) {\n"
|
||||||
|
" ^bb0(%arg2: !torch.int, %arg3: !torch.int):\n"
|
||||||
|
" %22 = torch.aten.__getitem__.t %0, %arg2 : !torch.list<list<int>>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" %23 = torch.aten.len.t %22 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %24 = torch.prim.Loop %23, %true, init(%int1) {\n"
|
||||||
|
" ^bb0(%arg4: !torch.int, %arg5: !torch.int):\n"
|
||||||
|
" %29 = torch.aten.__getitem__.t %22, %arg4 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %30 = torch.aten.mul.int %arg5, %29 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter(%30 : !torch.int)\n"
|
||||||
|
" } : (!torch.int, !torch.bool, !torch.int) -> !torch.int\n"
|
||||||
|
" %25 = torch.aten.eq.int %24, %int0 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" %26 = torch.prim.If %25 -> (!torch.bool) {\n"
|
||||||
|
" %29 = torch.aten.len.t %22 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %30 = torch.aten.eq.int %29, %int1 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If.yield %30 : !torch.bool\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %false : !torch.bool\n"
|
||||||
|
" }\n"
|
||||||
|
" %27 = torch.aten.__not__ %26 : !torch.bool -> !torch.bool\n"
|
||||||
|
" %28 = torch.prim.If %27 -> (!torch.int) {\n"
|
||||||
|
" %29 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %30 = torch.aten.len.t %22 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" %31 = torch.aten.eq.int %29, %30 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If %31 -> () {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.RaiseException %str, %none : !torch.str, !torch.none\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" %32 = torch.aten.__range_length %int0, %29, %int1 : !torch.int, !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" torch.prim.Loop %32, %true, init() {\n"
|
||||||
|
" ^bb0(%arg4: !torch.int):\n"
|
||||||
|
" %35 = torch.aten.__derive_index %arg4, %int0, %int1 : !torch.int, !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" %36 = torch.aten.ne.int %35, %8 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If %36 -> () {\n"
|
||||||
|
" %37 = torch.aten.__getitem__.t %16, %35 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %38 = torch.aten.__getitem__.t %22, %35 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %39 = torch.aten.eq.int %37, %38 : !torch.int, !torch.int -> !torch.bool\n"
|
||||||
|
" torch.prim.If %39 -> () {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.RaiseException %str_0, %none : !torch.str, !torch.none\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter()\n"
|
||||||
|
" } : (!torch.int, !torch.bool) -> ()\n"
|
||||||
|
" %33 = torch.aten.__getitem__.t %22, %8 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %34 = torch.aten.add.int %arg3, %33 : !torch.int, !torch.int -> !torch.int\n"
|
||||||
|
" torch.prim.If.yield %34 : !torch.int\n"
|
||||||
|
" } else {\n"
|
||||||
|
" torch.prim.If.yield %arg3 : !torch.int\n"
|
||||||
|
" }\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter(%28 : !torch.int)\n"
|
||||||
|
" } : (!torch.int, !torch.bool, !torch.int) -> !torch.int\n"
|
||||||
|
" %19 = torch.prim.ListConstruct : () -> !torch.list<int>\n"
|
||||||
|
" %20 = torch.aten.len.t %16 : !torch.list<int> -> !torch.int\n"
|
||||||
|
" torch.prim.Loop %20, %true, init() {\n"
|
||||||
|
" ^bb0(%arg2: !torch.int):\n"
|
||||||
|
" %22 = torch.aten.__getitem__.t %16, %arg2 : !torch.list<int>, !torch.int -> !torch.int\n"
|
||||||
|
" %23 = torch.aten.append.t %19, %22 : !torch.list<int>, !torch.int -> !torch.list<int>\n"
|
||||||
|
" torch.prim.Loop.condition %true, iter()\n"
|
||||||
|
" } : (!torch.int, !torch.bool) -> ()\n"
|
||||||
|
" %21 = torch.aten._set_item.t %19, %8, %18 : !torch.list<int>, !torch.int, !torch.int -> !torch.list<int>\n"
|
||||||
|
" torch.prim.If.yield %19 : !torch.list<int>\n"
|
||||||
|
" }\n"
|
||||||
|
" return %15 : !torch.list<int>\n"
|
||||||
|
" }\n"
|
||||||
" func.func @__torch__.torch.jit._shape_functions.permute(%arg0: !torch.list<int>, %arg1: !torch.list<int>) -> !torch.list<int> {\n"
|
" func.func @__torch__.torch.jit._shape_functions.permute(%arg0: !torch.list<int>, %arg1: !torch.list<int>) -> !torch.list<int> {\n"
|
||||||
" %int0 = torch.constant.int 0\n"
|
" %int0 = torch.constant.int 0\n"
|
||||||
" %true = torch.constant.bool true\n"
|
" %true = torch.constant.bool true\n"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
24e305c3c6b04c3c9edf24834140209c1a921132
|
47cb44946cfdaab61fe663ca7f58cde5a82fa54a
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
-f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
-f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
||||||
--pre
|
--pre
|
||||||
torch==2.1.0.dev20230307
|
torch==2.1.0.dev20230308
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
-f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
-f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html
|
||||||
--pre
|
--pre
|
||||||
torchvision==0.15.0.dev20230307
|
torchvision==0.15.0.dev20230308
|
||||||
|
|
Loading…
Reference in New Issue