Skip to content

Commit 5f79c66

Browse files
author
Naomi Musgrave
committed
Revert "Repress sanitization on User dtor. Modify msan macros for applying attribute"
This reverts commit 5e3bfbb38eb3fb6f568b107f6b239e0aa4c5f334. llvm-svn: 246450
1 parent d8c1a06 commit 5f79c66

File tree

4 files changed

+4
-9
lines changed

4 files changed

+4
-9
lines changed

llvm/include/llvm/IR/User.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ class User : public Value {
7272
void growHungoffUses(unsigned N, bool IsPhi = false);
7373

7474
public:
75-
~User() override {}
75+
~User() override {
76+
}
7677
/// \brief Free memory allocated for User and Use objects.
7778
void operator delete(void *Usr);
7879
/// \brief Placement delete - required by std, but never called.

llvm/include/llvm/Support/Compiler.h

-2
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,10 @@
323323
#if __has_feature(memory_sanitizer)
324324
# define LLVM_MEMORY_SANITIZER_BUILD 1
325325
# include <sanitizer/msan_interface.h>
326-
# define LLVM_NO_SANITIZE_MEMORY_ATTRIBUTE __attribute__((no_sanitize_memory))
327326
#else
328327
# define LLVM_MEMORY_SANITIZER_BUILD 0
329328
# define __msan_allocated_memory(p, size)
330329
# define __msan_unpoison(p, size)
331-
# define LLVM_NO_SANITIZE_MEMORY_ATTRIBUTE
332330
#endif
333331

334332
/// \macro LLVM_ADDRESS_SANITIZER_BUILD

llvm/lib/IR/Metadata.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -401,9 +401,7 @@ void *MDNode::operator new(size_t Size, unsigned NumOps) {
401401
return Ptr;
402402
}
403403

404-
// Repress memory sanitization, due to use-after-destroy by operator
405-
// delete. Bug report 24578 identifies this issue.
406-
LLVM_NO_SANITIZE_MEMORY_ATTRIBUTE void MDNode::operator delete(void *Mem) {
404+
void MDNode::operator delete(void *Mem) {
407405
MDNode *N = static_cast<MDNode *>(Mem);
408406
size_t OpSize = N->NumOperands * sizeof(MDOperand);
409407
OpSize = RoundUpToAlignment(OpSize, llvm::alignOf<uint64_t>());

llvm/lib/IR/User.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,7 @@ void *User::operator new(size_t Size) {
118118
// User operator delete Implementation
119119
//===----------------------------------------------------------------------===//
120120

121-
// Repress memory sanitization, due to use-after-destroy by operator
122-
// delete. Bug report 24578 identifies this issue.
123-
LLVM_NO_SANITIZE_MEMORY_ATTRIBUTE void User::operator delete(void *Usr) {
121+
void User::operator delete(void *Usr) {
124122
// Hung off uses use a single Use* before the User, while other subclasses
125123
// use a Use[] allocated prior to the user.
126124
User *Obj = static_cast<User *>(Usr);

0 commit comments

Comments
 (0)