[llvm-bugs] [Bug 31333] alloca in local memory not promoted to registers
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Dec 9 19:58:27 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=31333
Andrew Adams <andrew.b.adams at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #8 from Andrew Adams <andrew.b.adams at gmail.com> ---
Your comments made me wonder if it's our pass setup that's wrong:
https://github.com/halide/Halide/blob/master/src/CodeGen_PTX_Dev.cpp#L267
I think that code was written in 2012. Leaving it as a size-64 alloca, but
changing the pass setup to this:
https://github.com/halide/Halide/blob/0e1662f2382e7134205abcdcd995a54f3441365a/src/CodeGen_PTX_Dev.cpp#L267
gives me the best timings I've seen. It's 15% faster than the 64 individial
allocas. No usage of local memory, and it seems to have decided to make the
loads non-cached.
So, pebkac I guess. Sorry about that. SROA probably wasn't even running before
the address-space casts appeared. That's still using the legacy pass manager
though. Is there some canonical piece of code that shows the right way to set
up the passes for PTX kernels?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161210/2baec5ce/attachment.html>
More information about the llvm-bugs
mailing list