aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2025-10-08 10:36:52 +0200
committerGitHub <noreply@github.com>2025-10-08 10:36:52 +0200
commitf59736758113c568908c6b9293622c530d6ab827 (patch)
tree503b6831d8235affca466667fbeb5dcb477458a5 /clang/lib/Frontend/CompilerInvocation.cpp
parent1ab69d7004fe8b404c1f83d306838442f549e1ee (diff)
downloadllvm-f59736758113c568908c6b9293622c530d6ab827.zip
llvm-f59736758113c568908c6b9293622c530d6ab827.tar.gz
llvm-f59736758113c568908c6b9293622c530d6ab827.tar.bz2
[flang][HLFIR] add skip_rebox option to hlfir.declare (#162305)
hlfir.declare with a fir.box input always lead to a fir.rebox being created to ensure the lower bounds and attributes are set correctly in the local descriptor for the entity. This is really needed for hlfir.declare using fir.box function argument that do not come with any guarantees with regards to the lower bounds. Sometimes however, this fir.rebox just adds a lot of noise in the SSA chain, especially at the LLVM level and it is known that the input descriptor is already correct. I am making this patch in the context of OpenACC where I want to remap the variables inside the compute region, creating a fir.rebox on the way. This fir.rebox cannot be optimized away by FIR because of the OpenACC ops in the SSA chain. This patch adds a flag to indicate the the fir.box is known to have the correct lower bounds and attributes so that it can have a simpler code generation to FIR.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions