Lunderberg commented on PR #14901: URL: https://github.com/apache/tvm/pull/14901#issuecomment-1599092476
@LeiWang1999 It looks like the discrepancy is specifically between the return type of the PrimFunc (`DataType::Void()`) and the return type provided to LLVM-IR (`i32`). I can confirm that your fix (adding `CodeGenAMDGPU::DeclareFunction`) does avoid the issue in the test script, but I can't reproduce the shared memory issue. Is that a different test case for that failure mode? Long-term, rather than providing the `ret_void = true` argument, it may be more robust to use the `PrimFunc::ret_type` directly. That is, because the `PrimFunc::ret_type` is void, then the `ret_void` argument duplicates information without adding expressibility. There's a `TODO` in the comments (from [PR#5107](https://github.com/apache/tvm/pull/5107/files#diff-f61b04b100f5145f2681340c81d3f2af221239594ed01e2e24896522329ce92cR125)) stating that this was an original intention of the code. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
