aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
diff options
context:
space:
mode:
authorThurston Dang <thurston@google.com>2024-07-03 12:40:12 -0700
committerGitHub <noreply@github.com>2024-07-03 12:40:12 -0700
commit7002ecb4c6dba2050b321699e0e17eb890c3ca2c (patch)
tree543baf0193b617998cb44413b1f4a6b4e6a575c6 /llvm/lib/Transforms/Utils/SimplifyCFG.cpp
parentc02e8f762a410e55581866c43636efcd6504c1bd (diff)
downloadllvm-7002ecb4c6dba2050b321699e0e17eb890c3ca2c.zip
llvm-7002ecb4c6dba2050b321699e0e17eb890c3ca2c.tar.gz
llvm-7002ecb4c6dba2050b321699e0e17eb890c3ca2c.tar.bz2
[msan] Convert vector shadow to scalar before zext (#96722)
zext does not allow converting vector shadow to scalar, so we must manually convert it prior to calling zext in materializeOneCheck, for which the 'ConvertedShadow' parameter isn't actually guaranteed to be scalar (1). Note that it is safe/no-op to call convertShadowToScalar on a shadow that is already scalar. In contrast, the storeOrigin function already converts the (potentially vector) shadow to scalar; we add a comment to note why it is load bearing. (1) In materializeInstructionChecks(): "// Disable combining in some cases. TrackOrigins checks each shadow to pick // correct origin. bool Combine = !MS.TrackOrigins; ... if (!Combine) { materializeOneCheck(IRB, ConvertedShadow, ShadowData.Origin); continue; }"
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
0 files changed, 0 insertions, 0 deletions