diff options
author | Adrian Prantl <aprantl@apple.com> | 2015-08-20 18:24:02 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2015-08-20 18:24:02 +0000 |
commit | baf90fc2658bac897abfc3375596d40af53c0521 (patch) | |
tree | 828bf4764ee3d5b5491ec821358b0788050895b0 /llvm/lib/IR/Metadata.cpp | |
parent | a317cd2583868c2a21019163be0219a0300518f2 (diff) | |
download | bcm5719-llvm-baf90fc2658bac897abfc3375596d40af53c0521.tar.gz bcm5719-llvm-baf90fc2658bac897abfc3375596d40af53c0521.zip |
Fix a bug that caused SimplifyCFG to drop DebugLocs.
Instruction::dropUnknownMetadata(KnownSet) is supposed to preserve all
metadata in KnownSet, but the condition for DebugLocs was inverted.
Most users of dropUnknownMetadata() actually worked around this by not
adding LLVMContext::MD_dbg to their list of KnowIDs.
This is now made explicit.
llvm-svn: 245589
Diffstat (limited to 'llvm/lib/IR/Metadata.cpp')
-rw-r--r-- | llvm/lib/IR/Metadata.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/IR/Metadata.cpp b/llvm/lib/IR/Metadata.cpp index 6ec4a25f51b..08fa7ce3b05 100644 --- a/llvm/lib/IR/Metadata.cpp +++ b/llvm/lib/IR/Metadata.cpp @@ -1062,7 +1062,7 @@ void Instruction::dropUnknownMetadata(ArrayRef<unsigned> KnownIDs) { KnownSet.insert(KnownIDs.begin(), KnownIDs.end()); // Drop debug if needed - if (KnownSet.erase(LLVMContext::MD_dbg)) + if (!KnownSet.erase(LLVMContext::MD_dbg)) DbgLoc = DebugLoc(); if (!hasMetadataHashEntry()) |