IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).

Mojo function

opaque_u32

def opaque_u32(x: UInt32) -> UInt32

Returns x through a copy LLVM can neither hoist nor merge.

Epilogue addresses derive only from the thread's row, so LLVM hoists them to the kernel entry (merging them across call sites) and they stay live through the main loop, where ptxas spills them. Deriving them from this copy pins the arithmetic at its use; the 2Q d128 kernel spilled 28 B without it.

Returns:

UInt32

Was this page helpful?