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 dbdd68f7d41a5595b0b1734fa473669ea374bf3e
Author: tqchen <[email protected]>
AuthorDate: Mon Apr 21 11:19:58 2025 -0400

    Fix chost caller
---
 src/target/source/codegen_c_host.cc   |  4 ++--
 src/tir/transforms/make_packed_api.cc | 15 +++++++--------
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/target/source/codegen_c_host.cc 
b/src/target/source/codegen_c_host.cc
index c1859fa436..9ee05530e2 100644
--- a/src/target/source/codegen_c_host.cc
+++ b/src/target/source/codegen_c_host.cc
@@ -222,8 +222,8 @@ void CodeGenCHost::PrintCallPacked(const CallNode* op) {
   const StringImmNode* func_name = op->args[0].as<StringImmNode>();
   ICHECK(func_name != nullptr)
       << "tvm_call_[c]packed_lowered expects first argument as function name";
-  int64_t begin = op->args[3].as<IntImmNode>()->value;
-  int64_t end = op->args[4].as<IntImmNode>()->value;
+  int64_t begin = op->args[2].as<IntImmNode>()->value;
+  int64_t end = op->args[3].as<IntImmNode>()->value;
   int64_t num_args = end - begin;
   ICHECK_GE(num_args, 0);
 
diff --git a/src/tir/transforms/make_packed_api.cc 
b/src/tir/transforms/make_packed_api.cc
index 271c742146..3d0ace67f7 100644
--- a/src/tir/transforms/make_packed_api.cc
+++ b/src/tir/transforms/make_packed_api.cc
@@ -98,16 +98,15 @@ class ReturnRewriter : public StmtMutator {
 
   Stmt WriteToOut(PrimExpr val) {
     auto info = ConvertForFFI(val);
-    Stmt store_tindex = tir::Evaluate(tir::Call(
-        DataType::Int(32), tir::builtin::tvm_struct_set(),
-        {ret_var_, IntImm(DataType::Int(32), 0),
-         IntImm(DataType::Int(32), tir::builtin::kTVMFFIAnyTypeIndex),
-         IntImm(DataType::Int(32), info.type_index)}));
-    Stmt store_val =
+    Stmt store_tindex =
         tir::Evaluate(tir::Call(DataType::Int(32), 
tir::builtin::tvm_struct_set(),
                                 {ret_var_, IntImm(DataType::Int(32), 0),
-                                 IntImm(DataType::Int(32), 
tir::builtin::kTVMFFIAnyUnionValue),
-                                 info.expr}));
+                                 IntImm(DataType::Int(32), 
tir::builtin::kTVMFFIAnyTypeIndex),
+                                 IntImm(DataType::Int(32), info.type_index)}));
+    Stmt store_val = tir::Evaluate(
+        tir::Call(DataType::Int(32), tir::builtin::tvm_struct_set(),
+                  {ret_var_, IntImm(DataType::Int(32), 0),
+                   IntImm(DataType::Int(32), 
tir::builtin::kTVMFFIAnyUnionValue), info.expr}));
     Stmt ret_zero = Evaluate(tvm::ret(0));
     return SeqStmt({store_tindex, store_val, ret_zero});
   }

Reply via email to