summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Transforms/IPO/LowerTypeTests.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
index 120e93ab5b7..7bf96510b0a 100644
--- a/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+++ b/llvm/lib/Transforms/IPO/LowerTypeTests.cpp
@@ -746,7 +746,6 @@ LowerTypeTestsModule::importTypeId(StringRef TypeId) {
TIL.TheKind = TTRes.TheKind;
auto ImportGlobal = [&](StringRef Name, unsigned AbsWidth) {
- unsigned PtrWidth = IntPtrTy->getBitWidth();
Constant *C =
M.getOrInsertGlobal(("__typeid_" + TypeId + "_" + Name).str(), Int8Ty);
auto *GV = dyn_cast<GlobalVariable>(C);
@@ -757,13 +756,12 @@ LowerTypeTestsModule::importTypeId(StringRef TypeId) {
GV->setVisibility(GlobalValue::HiddenVisibility);
auto SetAbsRange = [&](uint64_t Min, uint64_t Max) {
- auto *T = IntegerType::get(M.getContext(), PtrWidth);
- auto *MinC = ConstantAsMetadata::get(ConstantInt::get(T, Min));
- auto *MaxC = ConstantAsMetadata::get(ConstantInt::get(T, Max));
+ auto *MinC = ConstantAsMetadata::get(ConstantInt::get(IntPtrTy, Min));
+ auto *MaxC = ConstantAsMetadata::get(ConstantInt::get(IntPtrTy, Max));
GV->setMetadata(LLVMContext::MD_absolute_symbol,
MDNode::get(M.getContext(), {MinC, MaxC}));
};
- if (AbsWidth == PtrWidth)
+ if (AbsWidth == IntPtrTy->getBitWidth())
SetAbsRange(~0ull, ~0ull); // Full set.
else if (AbsWidth)
SetAbsRange(0, 1ull << AbsWidth);
OpenPOWER on IntegriCloud