aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorAustin Kerbow <Austin.Kerbow@amd.com>2025-01-10 11:39:02 -0800
committerGitHub <noreply@github.com>2025-01-10 11:39:02 -0800
commit2e5c2982819625d84e0b61aea0ec00de859f0e95 (patch)
treec07535439365e56094ad387eb443fb9186f7373f /clang/lib/CodeGen/CodeGenFunction.cpp
parentb900379e26d9f49977c4d772f1b2b681fc5147d4 (diff)
downloadllvm-2e5c2982819625d84e0b61aea0ec00de859f0e95.zip
llvm-2e5c2982819625d84e0b61aea0ec00de859f0e95.tar.gz
llvm-2e5c2982819625d84e0b61aea0ec00de859f0e95.tar.bz2
[AMDGPU] Add backward compatibility layer for kernarg preloading (#119167)
Add a prologue to the kernel entry to handle cases where code designed for kernarg preloading is executed on hardware equipped with incompatible firmware. If hardware has compatible firmware the 256 bytes at the start of the kernel entry will be skipped. This skipping is done automatically by hardware that supports the feature. A pass is added which is intended to be run at the very end of the pipeline to avoid any optimizations that would assume the prologue is a real predecessor block to the actual code start. In reality we have two possible entry points for the function. 1. The optimized path that supports kernarg preloading which begins at an offset of 256 bytes. 2. The backwards compatible entry point which starts at offset 0.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions