[NFC] use bit_cast in PointerSumType

The code was already using union and memcpy to do this. Remove the memcpy. We can't just change the union because a reference to its member is returned.

llvm-svn: 342759
This commit is contained in:
JF Bastien 2018-09-21 18:35:32 +00:00
parent 62279730e2
commit 8a59dbf7fd
1 changed files with 2 additions and 3 deletions

View File

@ -10,6 +10,7 @@
#ifndef LLVM_ADT_POINTERSUMTYPE_H
#define LLVM_ADT_POINTERSUMTYPE_H
#include "llvm/ADT/bit.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
@ -186,11 +187,9 @@ public:
}
uintptr_t getOpaqueValue() const {
uintptr_t Value;
// Read the underlying storage of the union, regardless of the active
// member.
memcpy(&Value, &Storage, sizeof(Value));
return Value;
return bit_cast<uintptr_t>(Storage);
}
protected: