This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch refactor-s2
in repository https://gitbox.apache.org/repos/asf/tvm.git

commit b68e4b239f3f2a110832f05ae8155573cb337943
Author: tqchen <[email protected]>
AuthorDate: Sat May 3 09:29:44 2025 -0400

    Followup testcase fixes
---
 ffi/src/ffi/traceback_win.cc                    | 15 +++++------
 ffi/tests/cpp/test_tuple.cc                     |  2 +-
 src/arith/analyzer.cc                           |  5 ++--
 src/relax/backend/contrib/clml/codegen.cc       |  2 +-
 src/relax/backend/contrib/cudnn/codegen.cc      |  2 +-
 src/runtime/contrib/cudnn/conv_backward.cc      | 36 ++++++++++++-------------
 src/runtime/contrib/cudnn/conv_forward.cc       | 30 ++++++++++-----------
 src/runtime/contrib/cudnn/cudnn_json_runtime.cc |  2 +-
 src/runtime/contrib/cudnn/cudnn_utils.cc        |  2 +-
 src/runtime/contrib/dnnl/dnnl.cc                |  5 ++--
 src/runtime/contrib/tflite/tflite_runtime.cc    |  9 ++++---
 src/topi/transform.cc                           |  5 ++--
 tests/cpp-runtime/hexagon/run_all_tests.cc      |  2 +-
 tests/cpp-runtime/hexagon/run_unit_tests.cc     |  2 +-
 14 files changed, 61 insertions(+), 58 deletions(-)

diff --git a/ffi/src/ffi/traceback_win.cc b/ffi/src/ffi/traceback_win.cc
index 1de4c88681..166b7eb242 100644
--- a/ffi/src/ffi/traceback_win.cc
+++ b/ffi/src/ffi/traceback_win.cc
@@ -23,23 +23,22 @@
  */
 #ifdef _MSC_VER
 
+#include <dbghelp.h>
+#include <windows.h>
+#pragma comment(lib, "DbgHelp.lib")
+
 #include <tvm/ffi/c_api.h>
 #include <tvm/ffi/error.h>
 
+#include <iostream>
+#include <vector>
+
 #include "./traceback.h"
 
 namespace tvm {
 namespace ffi {
 namespace {
 
-#include <dbghelp.h>
-#include <windows.h>
-
-#include <iostream>
-#include <vector>
-
-#pragma comment(lib, "DbgHelp.lib")
-
 std::string Traceback() {
   TracebackStorage traceback;
   HANDLE process = GetCurrentProcess();
diff --git a/ffi/tests/cpp/test_tuple.cc b/ffi/tests/cpp/test_tuple.cc
index 1fe9ca74e8..02a258522c 100644
--- a/ffi/tests/cpp/test_tuple.cc
+++ b/ffi/tests/cpp/test_tuple.cc
@@ -78,7 +78,7 @@ TEST(Tuple, AnyConvert) {
 
   Any any0 = view0;
   // trigger a copy due to implict conversion
-  auto tuple2 = any0.cast<Tuple<TPrimExpr, TInt>>() ;
+  auto tuple2 = any0.cast<Tuple<TPrimExpr, TInt>>();
   EXPECT_TRUE(!tuple0.same_as(tuple2));
   EXPECT_EQ(tuple2.get<0>()->value, 1);
   EXPECT_EQ(tuple2.get<1>()->value, 2);
diff --git a/src/arith/analyzer.cc b/src/arith/analyzer.cc
index 3304ce7959..1edbaed08b 100644
--- a/src/arith/analyzer.cc
+++ b/src/arith/analyzer.cc
@@ -312,8 +312,9 @@ 
TVM_REGISTER_GLOBAL("arith.CreateAnalyzer").set_body_packed([](TVMArgs args, TVM
         *ret = self->canonical_simplify(args[0].cast<PrimExpr>());
       });
     } else if (name == "int_set") {
-      return PackedFunc(
-          [self](TVMArgs args, TVMRetValue* ret) { *ret = 
self->int_set(args[0].cast<Var>()); });
+      return PackedFunc([self](TVMArgs args, TVMRetValue* ret) {
+        *ret = self->int_set(args[0].cast<PrimExpr>(), args[1].cast<Map<Var, 
IntSet>>());
+      });
     } else if (name == "bind") {
       return PackedFunc([self](TVMArgs args, TVMRetValue* ret) {
         if (auto opt_range = args[1].as<Range>()) {
diff --git a/src/relax/backend/contrib/clml/codegen.cc 
b/src/relax/backend/contrib/clml/codegen.cc
index 7d3d243fc9..3c87079f99 100644
--- a/src/relax/backend/contrib/clml/codegen.cc
+++ b/src/relax/backend/contrib/clml/codegen.cc
@@ -317,7 +317,7 @@ Array<runtime::Module> OpenCLMLCompiler(Array<Function> 
functions, Map<String, A
     const auto pf = 
tvm::ffi::Function::GetGlobalRequired("runtime.clml_runtime_create");
     std::string func_name = GetExtSymbol(func);
     VLOG(1) << "Creating clml runtime::Module for '" << func_name << "'";
-    compiled_functions.push_back(pf(func_name, graph_json, constant_names));
+    compiled_functions.push_back(pf(func_name, graph_json, 
constant_names).cast<runtime::Module>());
   }
   return compiled_functions;
 }
diff --git a/src/relax/backend/contrib/cudnn/codegen.cc 
b/src/relax/backend/contrib/cudnn/codegen.cc
index e183dadc26..43933c7d2a 100644
--- a/src/relax/backend/contrib/cudnn/codegen.cc
+++ b/src/relax/backend/contrib/cudnn/codegen.cc
@@ -143,7 +143,7 @@ Array<runtime::Module> cuDNNCompiler(Array<Function> 
functions, Map<String, ffi:
     auto constant_names = serializer.GetConstantNames();
     const auto pf = 
tvm::ffi::Function::GetGlobalRequired("runtime.cuDNNJSONRuntimeCreate");
     auto func_name = GetExtSymbol(func);
-    compiled_functions.push_back(pf(func_name, graph_json, constant_names));
+    compiled_functions.push_back(pf(func_name, graph_json, 
constant_names).cast<runtime::Module>());
   }
 
   return compiled_functions;
diff --git a/src/runtime/contrib/cudnn/conv_backward.cc 
b/src/runtime/contrib/cudnn/conv_backward.cc
index f387183c33..be5ebdfbbf 100644
--- a/src/runtime/contrib/cudnn/conv_backward.cc
+++ b/src/runtime/contrib/cudnn/conv_backward.cc
@@ -192,9 +192,9 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv2d.backward_data")
       int algo = args[2].cast<int>();
       int pad_v[2], stride_v[2], dilation_v[2];
       for (int i = 0; i < 2; i++) {
-        pad_v[i] = args[3 + i];
-        stride_v[i] = args[5 + i];
-        dilation_v[i] = args[7 + i];
+        pad_v[i] = args[3 + i].cast<int>();
+        stride_v[i] = args[5 + i].cast<int>();
+        dilation_v[i] = args[7 + i].cast<int>();
       }
       auto dy = args[9].cast<DLTensor*>();
       auto w = args[10].cast<DLTensor*>();
@@ -210,12 +210,12 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv.backward_data_find_algo")
     .set_body_packed([](TVMArgs args, TVMRetValue* ret) {
       int format = args[0].cast<int>();
       int dims = args[1].cast<int>();
-      int* pad = static_cast<int*>(static_cast<void*>(args[2]));
-      int* stride = static_cast<int*>(static_cast<void*>(args[3]));
-      int* dilation = static_cast<int*>(static_cast<void*>(args[4]));
-      int* dy_dim = static_cast<int*>(static_cast<void*>(args[5]));
-      int* w_dim = static_cast<int*>(static_cast<void*>(args[6]));
-      int* dx_dim = static_cast<int*>(static_cast<void*>(args[7]));
+      int* pad = static_cast<int*>(args[2].cast<void*>());
+      int* stride = static_cast<int*>(args[3].cast<void*>());
+      int* dilation = static_cast<int*>(args[4].cast<void*>());
+      int* dy_dim = static_cast<int*>(args[5].cast<void*>());
+      int* w_dim = static_cast<int*>(args[6].cast<void*>());
+      int* dx_dim = static_cast<int*>(args[7].cast<void*>());
       auto data_dtype = args[8].cast<std::string>();
       auto conv_dtype = args[9].cast<std::string>();
       int groups = args[10].cast<int>();
@@ -232,9 +232,9 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv2d.backward_filter")
       int algo = args[2].cast<int>();
       int pad_v[2], stride_v[2], dilation_v[2];
       for (int i = 0; i < 2; i++) {
-        pad_v[i] = args[3 + i];
-        stride_v[i] = args[5 + i];
-        dilation_v[i] = args[7 + i];
+        pad_v[i] = args[3 + i].cast<int>();
+        stride_v[i] = args[5 + i].cast<int>();
+        dilation_v[i] = args[7 + i].cast<int>();
       }
       auto dy = args[9].cast<DLTensor*>();
       auto x = args[10].cast<DLTensor*>();
@@ -250,12 +250,12 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv.backward_filter_find_algo")
     .set_body_packed([](TVMArgs args, TVMRetValue* ret) {
       int format = args[0].cast<int>();
       int dims = args[1].cast<int>();
-      int* pad = static_cast<int*>(static_cast<void*>(args[2]));
-      int* stride = static_cast<int*>(static_cast<void*>(args[3]));
-      int* dilation = static_cast<int*>(static_cast<void*>(args[4]));
-      int* dy_dim = static_cast<int*>(static_cast<void*>(args[5]));
-      int* x_dim = static_cast<int*>(static_cast<void*>(args[6]));
-      int* dw_dim = static_cast<int*>(static_cast<void*>(args[7]));
+      int* pad = static_cast<int*>(args[2].cast<void*>());
+      int* stride = static_cast<int*>(args[3].cast<void*>());
+      int* dilation = static_cast<int*>(args[4].cast<void*>());
+      int* dy_dim = static_cast<int*>(args[5].cast<void*>());
+      int* x_dim = static_cast<int*>(args[6].cast<void*>());
+      int* dw_dim = static_cast<int*>(args[7].cast<void*>());
       auto data_dtype = args[8].cast<std::string>();
       auto conv_dtype = args[9].cast<std::string>();
       int groups = args[10].cast<int>();
diff --git a/src/runtime/contrib/cudnn/conv_forward.cc 
b/src/runtime/contrib/cudnn/conv_forward.cc
index c330162729..1c2e815110 100644
--- a/src/runtime/contrib/cudnn/conv_forward.cc
+++ b/src/runtime/contrib/cudnn/conv_forward.cc
@@ -160,9 +160,9 @@ TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv2d.forward")
       int algo = args[2].cast<int>();
       int pad_v[2], stride_v[2], dilation_v[2];
       for (int i = 0; i < 2; i++) {
-        pad_v[i] = args[3 + i];
-        stride_v[i] = args[5 + i];
-        dilation_v[i] = args[7 + i];
+        pad_v[i] = args[3 + i].cast<int>();
+        stride_v[i] = args[5 + i].cast<int>();
+        dilation_v[i] = args[7 + i].cast<int>();
       }
       auto x = args[9].cast<DLTensor*>();
       auto w = args[10].cast<DLTensor*>();
@@ -181,9 +181,9 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv2d+bias+act.forward")
       int algo = args[2].cast<int>();
       int pad_v[2], stride_v[2], dilation_v[2];
       for (int i = 0; i < 2; i++) {
-        pad_v[i] = args[3 + i];
-        stride_v[i] = args[5 + i];
-        dilation_v[i] = args[7 + i];
+        pad_v[i] = args[3 + i].cast<int>();
+        stride_v[i] = args[5 + i].cast<int>();
+        dilation_v[i] = args[7 + i].cast<int>();
       }
       int act = args[9].cast<int>();
       double coef = args[10].cast<double>();
@@ -205,9 +205,9 @@ TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv3d.forward")
       int algo = args[2].cast<int>();
       int pad_v[3], stride_v[3], dilation_v[3];
       for (int i = 0; i < 3; i++) {
-        pad_v[i] = args[3 + i];
-        stride_v[i] = args[6 + i];
-        dilation_v[i] = args[9 + i];
+        pad_v[i] = args[3 + i].cast<int>();
+        stride_v[i] = args[6 + i].cast<int>();
+        dilation_v[i] = args[9 + i].cast<int>();
       }
       auto x = args[12].cast<DLTensor*>();
       auto w = args[13].cast<DLTensor*>();
@@ -223,12 +223,12 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.cudnn.conv.forward_find_algo")
     .set_body_packed([](TVMArgs args, TVMRetValue* ret) {
       int format = args[0].cast<int>();
       int dims = args[1].cast<int>();
-      int* pad = static_cast<int*>(static_cast<void*>(args[2]));
-      int* stride = static_cast<int*>(static_cast<void*>(args[3]));
-      int* dilation = static_cast<int*>(static_cast<void*>(args[4]));
-      int* x_dim = static_cast<int*>(static_cast<void*>(args[5]));
-      int* w_dim = static_cast<int*>(static_cast<void*>(args[6]));
-      int* y_dim = static_cast<int*>(static_cast<void*>(args[7]));
+      int* pad = static_cast<int*>(args[2].cast<void*>());
+      int* stride = static_cast<int*>(args[3].cast<void*>());
+      int* dilation = static_cast<int*>(args[4].cast<void*>());
+      int* x_dim = static_cast<int*>(args[5].cast<void*>());
+      int* w_dim = static_cast<int*>(args[6].cast<void*>());
+      int* y_dim = static_cast<int*>(args[7].cast<void*>());
       auto data_dtype = args[8].cast<std::string>();
       auto conv_dtype = args[9].cast<std::string>();
       int groups = args[10].cast<int>();
diff --git a/src/runtime/contrib/cudnn/cudnn_json_runtime.cc 
b/src/runtime/contrib/cudnn/cudnn_json_runtime.cc
index 3f4b659275..3811a0788f 100644
--- a/src/runtime/contrib/cudnn/cudnn_json_runtime.cc
+++ b/src/runtime/contrib/cudnn/cudnn_json_runtime.cc
@@ -156,7 +156,7 @@ class cuDNNJSONRuntime : public JSONRuntimeBase {
                            input_dims.data(), kernel_dims.data(), 
output_dims.data(), conv_dtype,
                            conv_dtype, false, &best_algo);
 
-    int algo = best_algo.operator int();
+    int algo = best_algo.cast<int>();
     std::function<void()> op_exec = [=]() {
       auto stream = static_cast<cudaStream_t>(GetCUDAStream());
       CUDNN_CALL(cudnnSetStream(entry_ptr->handle, stream));
diff --git a/src/runtime/contrib/cudnn/cudnn_utils.cc 
b/src/runtime/contrib/cudnn/cudnn_utils.cc
index fa27c55211..191fb9af32 100644
--- a/src/runtime/contrib/cudnn/cudnn_utils.cc
+++ b/src/runtime/contrib/cudnn/cudnn_utils.cc
@@ -102,7 +102,7 @@ const void* CuDNNDataType::GetConst<1>(cudnnDataType_t 
type) {
 CuDNNThreadEntry::CuDNNThreadEntry() {
   auto stream = runtime::CUDAThreadEntry::ThreadLocal()->stream;
   auto func = tvm::ffi::Function::GetGlobalRequired("device_api.cuda");
-  void* ret = func();
+  void* ret = func().cast<void*>();
   cuda_api = static_cast<runtime::DeviceAPI*>(ret);
 
   // If no CuDNN-capable device is present, allow the CuDNNThreadEntry
diff --git a/src/runtime/contrib/dnnl/dnnl.cc b/src/runtime/contrib/dnnl/dnnl.cc
index 822e8ac376..7fca0d6b26 100644
--- a/src/runtime/contrib/dnnl/dnnl.cc
+++ b/src/runtime/contrib/dnnl/dnnl.cc
@@ -352,8 +352,9 @@ 
TVM_REGISTER_GLOBAL("tvm.contrib.dnnl.conv2d").set_body_packed([](TVMArgs args,
   auto input = args[0].cast<DLTensor*>();
   auto weights = args[1].cast<DLTensor*>();
   auto output = args[2].cast<DLTensor*>();
-  int p_Ph0_ = args[3], p_Pw0_ = args[4], p_Ph1_ = args[5], p_Pw1_ = args[6], 
p_Sh_ = args[7],
-      p_Sw_ = args[8], p_G_ = args[9];
+  int p_Ph0_ = args[3].cast<int>(), p_Pw0_ = args[4].cast<int>(), p_Ph1_ = 
args[5].cast<int>(),
+      p_Pw1_ = args[6].cast<int>(), p_Sh_ = args[7].cast<int>(), p_Sw_ = 
args[8].cast<int>(),
+      p_G_ = args[9].cast<int>();
   bool channel_last = args[10].cast<bool>();
   bool pre_cast = args[11].cast<bool>();
   bool post_cast = args[12].cast<bool>();
diff --git a/src/runtime/contrib/tflite/tflite_runtime.cc 
b/src/runtime/contrib/tflite/tflite_runtime.cc
index 82257e2a82..09669ac370 100644
--- a/src/runtime/contrib/tflite/tflite_runtime.cc
+++ b/src/runtime/contrib/tflite/tflite_runtime.cc
@@ -156,11 +156,12 @@ PackedFunc TFLiteRuntime::GetFunction(const String& name, 
const ObjectPtr<Object
     return PackedFunc([sptr_to_self, this](TVMArgs args, TVMRetValue* rv) {
       int in_idx = args[0].cast<int>();
       ICHECK_GE(in_idx, 0);
-      this->SetInput(in_idx, args[1]);
+      this->SetInput(in_idx, args[1].cast<DLTensor*>());
     });
   } else if (name == "get_output") {
-    return PackedFunc(
-        [sptr_to_self, this](TVMArgs args, TVMRetValue* rv) { *rv = 
this->GetOutput(args[0]); });
+    return PackedFunc([sptr_to_self, this](TVMArgs args, TVMRetValue* rv) {
+      *rv = this->GetOutput(args[0].cast<int>());
+    });
   } else if (name == "invoke") {
     return PackedFunc([sptr_to_self, this](TVMArgs args, TVMRetValue* rv) { 
this->Invoke(); });
   } else if (name == "set_num_threads") {
@@ -181,7 +182,7 @@ Module TFLiteRuntimeCreate(const std::string& 
tflite_model_bytes, Device dev) {
 }
 
 TVM_REGISTER_GLOBAL("tvm.tflite_runtime.create").set_body_packed([](TVMArgs 
args, TVMRetValue* rv) {
-  *rv = TFLiteRuntimeCreate(args[0], args[1]);
+  *rv = TFLiteRuntimeCreate(args[0].cast<std::string>(), 
args[1].cast<Device>());
 });
 
 
TVM_REGISTER_GLOBAL("target.runtime.tflite").set_body_typed(TFLiteRuntimeCreate);
diff --git a/src/topi/transform.cc b/src/topi/transform.cc
index fdd2af0573..2ab39be95c 100644
--- a/src/topi/transform.cc
+++ b/src/topi/transform.cc
@@ -42,7 +42,7 @@ 
TVM_REGISTER_GLOBAL("topi.expand_dims").set_body_packed([](TVMArgs args, TVMRetV
 });
 
 TVM_REGISTER_GLOBAL("topi.transpose").set_body_packed([](TVMArgs args, 
TVMRetValue* rv) {
-  *rv = transpose(args[0].cast<te::Tensor>(), args[1].cast<Array<Integer>>());
+  *rv = transpose(args[0].cast<te::Tensor>(), 
args[1].cast<Optional<Array<Integer>>>());
 });
 
 TVM_REGISTER_GLOBAL("topi.flip").set_body_packed([](TVMArgs args, TVMRetValue* 
rv) {
@@ -108,7 +108,8 @@ TVM_REGISTER_GLOBAL("topi.take").set_body_packed([](TVMArgs 
args, TVMRetValue* r
     int batch_dims = args[2].cast<int>();
     int axis = args[3].cast<int>();
     auto mode = args[4].cast<std::string>();
-    *rv = take(args[0].cast<te::Tensor>(), args[1].cast<te::Tensor>(), 
batch_dims, axis, mode);
+    *rv = take(args[0].cast<te::Tensor>(), 
args[1].cast<ffi::Variant<te::Tensor, PrimExpr>>(),
+               batch_dims, axis, mode);
   }
 });
 
diff --git a/tests/cpp-runtime/hexagon/run_all_tests.cc 
b/tests/cpp-runtime/hexagon/run_all_tests.cc
index 5187277dcb..0f9c1cb7b5 100644
--- a/tests/cpp-runtime/hexagon/run_all_tests.cc
+++ b/tests/cpp-runtime/hexagon/run_all_tests.cc
@@ -41,7 +41,7 @@ namespace hexagon {
 TVM_REGISTER_GLOBAL("hexagon.run_all_tests").set_body_packed([](TVMArgs args, 
TVMRetValue* rv) {
   // gtest args are passed into this packed func as a singular string
   // split gtest args using <space> delimiter and build argument vector
-  std::vector<std::string> parsed_args = tvm::support::Split(args[0], ' ');
+  std::vector<std::string> parsed_args = 
tvm::support::Split(args[0].cast<std::string>(), ' ');
   std::vector<char*> argv;
 
   // add executable name
diff --git a/tests/cpp-runtime/hexagon/run_unit_tests.cc 
b/tests/cpp-runtime/hexagon/run_unit_tests.cc
index 37a521457a..59059fc803 100644
--- a/tests/cpp-runtime/hexagon/run_unit_tests.cc
+++ b/tests/cpp-runtime/hexagon/run_unit_tests.cc
@@ -83,7 +83,7 @@ class GtestPrinter : public testing::EmptyTestEventListener {
 TVM_REGISTER_GLOBAL("hexagon.run_unit_tests").set_body_packed([](TVMArgs args, 
TVMRetValue* rv) {
   // gtest args are passed into this packed func as a singular string
   // split gtest args using <space> delimiter and build argument vector
-  std::vector<std::string> parsed_args = tvm::support::Split(args[0], ' ');
+  std::vector<std::string> parsed_args = 
tvm::support::Split(args[0].cast<std::string>(), ' ');
   std::vector<char*> argv;
 
   // add executable name

Reply via email to