aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Format/QualifierAlignmentFixer.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2023-11-15 21:58:00 +0000
committerFlorian Hahn <flo@fhahn.com>2023-11-15 21:58:57 +0000
commit1dbcaf277714331bfc60dc6ead31b0e3a300de24 (patch)
treee2e42e9fc8a763f78cb4de4143cec25a3c35e463 /clang/lib/Format/QualifierAlignmentFixer.cpp
parenta3fe9221ab1541a88e784507433cfe7fd13688fd (diff)
downloadllvm-1dbcaf277714331bfc60dc6ead31b0e3a300de24.zip
llvm-1dbcaf277714331bfc60dc6ead31b0e3a300de24.tar.gz
llvm-1dbcaf277714331bfc60dc6ead31b0e3a300de24.tar.bz2
[LAA] Check if dependencies access loop-varying underlying objects.
This patch adds a new dependence kind UnsafeIndirect, for cases where at least one of the memory access instructions may access a loop varying object, e.g. the address of underlying object is loaded inside the loop, like A[B[i]]. We cannot determine direction or distance in those cases, and also are unable to generate any runtime checks. This fixes a miscompile, if we attempt to generate runtime checks for unknown dependencies. Note that in most cases we do not attempt to generate runtime checks for unknown dependences, except if FoundNonConstantDistanceDependence is true. Fixes https://github.com/llvm/llvm-project/issues/69744.
Diffstat (limited to 'clang/lib/Format/QualifierAlignmentFixer.cpp')
0 files changed, 0 insertions, 0 deletions