aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2022-07-14 16:58:07 +0200
committerDmitry Vyukov <dvyukov@google.com>2022-07-14 17:49:00 +0200
commitab02680b5aee81fbcf564e30891e8e2089d513e1 (patch)
tree0cfb77c6ae865d98d46d773d34a0589f1f446ce5 /llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
parent58fec78231dc29bd503ba91d06471c94851d21a0 (diff)
downloadllvm-ab02680b5aee81fbcf564e30891e8e2089d513e1.zip
llvm-ab02680b5aee81fbcf564e30891e8e2089d513e1.tar.gz
llvm-ab02680b5aee81fbcf564e30891e8e2089d513e1.tar.bz2
tsan: fix a bug in trace part switching
Callers of TraceSwitchPart expect that TraceAcquire will always succeed after the call. It's possible that TryTraceFunc/TraceMutexLock in TraceSwitchPart that restore the current stack/mutexset filled the trace part exactly up to the TracePart::kAlignment gap and the next TraceAcquire won't succeed. Skip the alignment gap after writing initial stack/mutexset to avoid that. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D129777
Diffstat (limited to 'llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp')
0 files changed, 0 insertions, 0 deletions