aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Transforms/InstSimplify/ptrtoint.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/InstSimplify/ptrtoint.ll')
-rw-r--r--llvm/test/Transforms/InstSimplify/ptrtoint.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstSimplify/ptrtoint.ll b/llvm/test/Transforms/InstSimplify/ptrtoint.ll
index 7346187..3b0e052 100644
--- a/llvm/test/Transforms/InstSimplify/ptrtoint.ll
+++ b/llvm/test/Transforms/InstSimplify/ptrtoint.ll
@@ -1,6 +1,8 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt -S -passes=instsimplify < %s | FileCheck %s
+target datalayout = "p1:128:128:128"
+
define i64 @ptrtoint_gep_sub(ptr %ptr, i64 %end.addr) {
; CHECK-LABEL: define i64 @ptrtoint_gep_sub(
; CHECK-SAME: ptr [[PTR:%.*]], i64 [[END_ADDR:%.*]]) {
@@ -136,3 +138,15 @@ define i128 @ptrtoint_gep_sub_wide_type(ptr %ptr, i128 %end.addr) {
%end.addr2 = ptrtoint ptr %end to i128
ret i128 %end.addr2
}
+
+define ptr addrspace(1) @inttoptr_of_ptrtoint_wide(ptr addrspace(1) %ptr) {
+; CHECK-LABEL: define ptr addrspace(1) @inttoptr_of_ptrtoint_wide(
+; CHECK-SAME: ptr addrspace(1) [[PTR:%.*]]) {
+; CHECK-NEXT: [[INT:%.*]] = ptrtoint ptr addrspace(1) [[PTR]] to i64
+; CHECK-NEXT: [[PTR2:%.*]] = inttoptr i64 [[INT]] to ptr addrspace(1)
+; CHECK-NEXT: ret ptr addrspace(1) [[PTR2]]
+;
+ %int = ptrtoint ptr addrspace(1) %ptr to i64
+ %ptr2 = inttoptr i64 %int to ptr addrspace(1)
+ ret ptr addrspace(1) %ptr2
+}