aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/AST/ByteCode/Compiler.cpp
diff options
context:
space:
mode:
authorDrew Kersnar <dkersnar@nvidia.com>2025-08-08 12:05:29 -0500
committerGitHub <noreply@github.com>2025-08-08 12:05:29 -0500
commit90e8c8e7186616241549e7bc62d95b51467a674b (patch)
tree6cf0c144d9b9141f75125db932cbfd92b85354ab /clang/lib/AST/ByteCode/Compiler.cpp
parent51bc0c1d6bb9ab2c1c2acb3f37d00ed919202973 (diff)
downloadllvm-90e8c8e7186616241549e7bc62d95b51467a674b.zip
llvm-90e8c8e7186616241549e7bc62d95b51467a674b.tar.gz
llvm-90e8c8e7186616241549e7bc62d95b51467a674b.tar.bz2
[InferAlignment] Propagate alignment between loads/stores of the same base pointer (#145733)
We can derive and upgrade alignment for loads/stores using other well-aligned loads/stores. This optimization does a single forward pass through each basic block and uses loads/stores (the alignment and the offset) to derive the best possible alignment for a base pointer, caching the result. If it encounters another load/store based on that pointer, it tries to upgrade the alignment. The optimization must be a forward pass within a basic block because control flow and exception throwing can impact alignment guarantees. --------- Co-authored-by: Nikita Popov <github@npopov.com>
Diffstat (limited to 'clang/lib/AST/ByteCode/Compiler.cpp')
0 files changed, 0 insertions, 0 deletions