From 31cfc78f8182a38346e887056ca17b23bcd19d30 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Fri, 27 Sep 2013 22:26:25 +0000 Subject: [PATCH] Use right pointer type in DebugIR llvm-svn: 191576 --- llvm/lib/Transforms/Instrumentation/DebugIR.cpp | 2 +- llvm/test/Transforms/DebugIR/simple-addrspace.ll | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 llvm/test/Transforms/DebugIR/simple-addrspace.ll diff --git a/llvm/lib/Transforms/Instrumentation/DebugIR.cpp b/llvm/lib/Transforms/Instrumentation/DebugIR.cpp index 9489bb2556f0..f50a044073fa 100644 --- a/llvm/lib/Transforms/Instrumentation/DebugIR.cpp +++ b/llvm/lib/Transforms/Instrumentation/DebugIR.cpp @@ -402,7 +402,7 @@ private: Type *PointeeTy = T->getPointerElementType(); if (!(N = getType(PointeeTy))) N = Builder.createPointerType( - getOrCreateType(PointeeTy), Layout.getPointerSizeInBits(), + getOrCreateType(PointeeTy), Layout.getPointerTypeSizeInBits(T), Layout.getPrefTypeAlignment(T), getTypeName(T)); } else if (T->isArrayTy()) { SmallVector Subrange; diff --git a/llvm/test/Transforms/DebugIR/simple-addrspace.ll b/llvm/test/Transforms/DebugIR/simple-addrspace.ll new file mode 100644 index 000000000000..6bea9b269f57 --- /dev/null +++ b/llvm/test/Transforms/DebugIR/simple-addrspace.ll @@ -0,0 +1,13 @@ +; RUN: opt -debug-ir -S %s -o - | FileCheck %s + +target datalayout = "e-p:64:64:64-p1:16:16:16" + +define void @foo(i32 addrspace(1)*) nounwind { + ret void +} + +; Make sure the pointer size is 16 + +; CHECK: metadata !"i32 addrspace(1)*", i32 0, i64 16, i64 2, i64 0, i32 0 + +