aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorKevin McAfee <kmcafee@nvidia.com>2025-01-13 15:58:37 -0500
committerGitHub <noreply@github.com>2025-01-13 12:58:37 -0800
commitec3525f7844878767b70b78753affbe44acfa9ed (patch)
tree80998bd6c3b5606f2f875ade48bb5231512f9bff /clang/lib/Frontend/CompilerInvocation.cpp
parent98e2328451193885e532ae930491f59ac742e938 (diff)
downloadllvm-ec3525f7844878767b70b78753affbe44acfa9ed.zip
llvm-ec3525f7844878767b70b78753affbe44acfa9ed.tar.gz
llvm-ec3525f7844878767b70b78753affbe44acfa9ed.tar.bz2
[NVPTX] Attempt to load params using symbol addition node directly (#119935)
During instruction selection on load instructions, transform loads of [register+offset] into [symbol+offset] if the register value is the result of an ADD instruction(s) of a symbol and constant(s). This enables the removal of any ADD(s) of the symbol that are not combined with the load to create a ld.param. This is normally not an issue when DAG combines are enabled as any extra ADDs would be folded. However, when DAG combines are disabled, there may be cases where an ADD of a symbol is consumed by multiple other nodes and is retained in generated code as a PTX `add` instruction that uses the symbol as an operand - this is illegal PTX.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions