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

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

diff --git a/src/target/llvm/codegen_cpu.cc b/src/target/llvm/codegen_cpu.cc
index e8fc5e0dbb..638b243173 100644
--- a/src/target/llvm/codegen_cpu.cc
+++ b/src/target/llvm/codegen_cpu.cc
@@ -355,7 +355,7 @@ CodeGenLLVM::TypedPointer 
CodeGenCPU::CreateStructRefPtr(DataType t, llvm::Value
         buf = builder_->CreatePointerCast(buf, llvmGetPointerTo(t_float64_, 
0));
         return TypedPointer(t_float64_, buf);
       } else if (t.is_handle()) {
-        builder_->CreatePointerCast(buf, llvmGetPointerTo(t_void_p_, 0));
+        buf = builder_->CreatePointerCast(buf, llvmGetPointerTo(t_void_p_, 0));
         return TypedPointer(t_void_p_, buf);
       } else {
         LOG(DEBUG) << "DataType " << t << " cannot be stored into a 
TVMFFIAny's value field";
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