mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-20 10:24:12 +00:00
[msan] Do not insert check on volatile store.
Volatile bitfields can cause valid stores of uninitialized bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173153 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -451,9 +451,7 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
|
||||
IRB.CreateAlignedStore(Shadow, ShadowPtr, I.getAlignment());
|
||||
DEBUG(dbgs() << " STORE: " << *NewSI << "\n");
|
||||
(void)NewSI;
|
||||
// If the store is volatile, add a check.
|
||||
if (I.isVolatile())
|
||||
insertCheck(Val, &I);
|
||||
|
||||
if (ClCheckAccessAddress)
|
||||
insertCheck(Addr, &I);
|
||||
|
||||
@ -847,7 +845,6 @@ struct MemorySanitizerVisitor : public InstVisitor<MemorySanitizerVisitor> {
|
||||
///
|
||||
/// Stores the corresponding shadow and (optionally) origin.
|
||||
/// Optionally, checks that the store address is fully defined.
|
||||
/// Volatile stores check that the value being stored is fully defined.
|
||||
void visitStoreInst(StoreInst &I) {
|
||||
StoreList.push_back(&I);
|
||||
}
|
||||
|
Reference in New Issue
Block a user