11; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
22; RUN: opt -passes='print<scalar-evolution>' -disable-output %s 2>&1 | FileCheck %s
33
4- target datalayout ="e-m:e-p270:32:32-p271:32:32-p272: 64:64-i64 :64-f80:128-n8:16:32:64-S128 "
4+ target datalayout ="p64: 64:64:64"
55
66define void @ptrtoaddr (ptr %in , ptr %out0 , ptr %out1 , ptr %out2 , ptr %out3 ) {
7- ; X64-LABEL: 'ptrtoaddr'
8- ; X64-NEXT: Classifying expressions for: @ptrtoaddr
9- ; X64-NEXT: %p0 = ptrtoaddr ptr %in to i64
10- ; X64-NEXT: --> (ptrtoaddr ptr %in to i64) U: full-set S: full-set
11- ; X64-NEXT: %p1 = ptrtoaddr ptr %in to i32
12- ; X64-NEXT: --> (trunc i64 (ptrtoaddr ptr %in to i64) to i32) U: full-set S: full-set
13- ; X64-NEXT: %p2 = ptrtoaddr ptr %in to i16
14- ; X64-NEXT: --> (trunc i64 (ptrtoaddr ptr %in to i64) to i16) U: full-set S: full-set
15- ; X64-NEXT: %p3 = ptrtoaddr ptr %in to i128
16- ; X64-NEXT: --> (zext i64 (ptrtoaddr ptr %in to i64) to i128) U: [0,18446744073709551616) S: [0,18446744073709551616)
17- ; X64-NEXT: Determining loop execution counts for: @ptrtoaddr
18- ;
19- ; X32-LABEL: 'ptrtoaddr'
20- ; X32-NEXT: Classifying expressions for: @ptrtoaddr
21- ; X32-NEXT: %p0 = ptrtoaddr ptr %in to i64
22- ; X32-NEXT: --> (zext i32 (ptrtoaddr ptr %in to i32) to i64) U: [0,4294967296) S: [0,4294967296)
23- ; X32-NEXT: %p1 = ptrtoaddr ptr %in to i32
24- ; X32-NEXT: --> (ptrtoaddr ptr %in to i32) U: full-set S: full-set
25- ; X32-NEXT: %p2 = ptrtoaddr ptr %in to i16
26- ; X32-NEXT: --> (trunc i32 (ptrtoaddr ptr %in to i32) to i16) U: full-set S: full-set
27- ; X32-NEXT: %p3 = ptrtoaddr ptr %in to i128
28- ; X32-NEXT: --> (zext i32 (ptrtoaddr ptr %in to i32) to i128) U: [0,4294967296) S: [0,4294967296)
29- ; X32-NEXT: Determining loop execution counts for: @ptrtoaddr
30- ;
317; CHECK-LABEL: 'ptrtoaddr'
328; CHECK-NEXT: Classifying expressions for: @ptrtoaddr
339; CHECK-NEXT: %p0 = ptrtoaddr ptr %in to i64
@@ -40,30 +16,6 @@ define void @ptrtoaddr(ptr %in, ptr %out0, ptr %out1, ptr %out2, ptr %out3) {
4016}
4117
4218define void @ptrtoaddr_as1 (ptr addrspace (1 ) %in , ptr %out0 , ptr %out1 , ptr %out2 , ptr %out3 ) {
43- ; X64-LABEL: 'ptrtoaddr_as1'
44- ; X64-NEXT: Classifying expressions for: @ptrtoaddr_as1
45- ; X64-NEXT: %p0 = ptrtoaddr ptr addrspace(1) %in to i64
46- ; X64-NEXT: --> (ptrtoaddr ptr addrspace(1) %in to i64) U: full-set S: full-set
47- ; X64-NEXT: %p1 = ptrtoaddr ptr addrspace(1) %in to i32
48- ; X64-NEXT: --> (trunc i64 (ptrtoaddr ptr addrspace(1) %in to i64) to i32) U: full-set S: full-set
49- ; X64-NEXT: %p2 = ptrtoaddr ptr addrspace(1) %in to i16
50- ; X64-NEXT: --> (trunc i64 (ptrtoaddr ptr addrspace(1) %in to i64) to i16) U: full-set S: full-set
51- ; X64-NEXT: %p3 = ptrtoaddr ptr addrspace(1) %in to i128
52- ; X64-NEXT: --> (zext i64 (ptrtoaddr ptr addrspace(1) %in to i64) to i128) U: [0,18446744073709551616) S: [0,18446744073709551616)
53- ; X64-NEXT: Determining loop execution counts for: @ptrtoaddr_as1
54- ;
55- ; X32-LABEL: 'ptrtoaddr_as1'
56- ; X32-NEXT: Classifying expressions for: @ptrtoaddr_as1
57- ; X32-NEXT: %p0 = ptrtoaddr ptr addrspace(1) %in to i64
58- ; X32-NEXT: --> (zext i32 (ptrtoaddr ptr addrspace(1) %in to i32) to i64) U: [0,4294967296) S: [0,4294967296)
59- ; X32-NEXT: %p1 = ptrtoaddr ptr addrspace(1) %in to i32
60- ; X32-NEXT: --> (ptrtoaddr ptr addrspace(1) %in to i32) U: full-set S: full-set
61- ; X32-NEXT: %p2 = ptrtoaddr ptr addrspace(1) %in to i16
62- ; X32-NEXT: --> (trunc i32 (ptrtoaddr ptr addrspace(1) %in to i32) to i16) U: full-set S: full-set
63- ; X32-NEXT: %p3 = ptrtoaddr ptr addrspace(1) %in to i128
64- ; X32-NEXT: --> (zext i32 (ptrtoaddr ptr addrspace(1) %in to i32) to i128) U: [0,4294967296) S: [0,4294967296)
65- ; X32-NEXT: Determining loop execution counts for: @ptrtoaddr_as1
66- ;
6719; CHECK-LABEL: 'ptrtoaddr_as1'
6820; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_as1
6921; CHECK-NEXT: %p0 = ptrtoaddr ptr addrspace(1) %in to i64
@@ -76,22 +28,6 @@ define void @ptrtoaddr_as1(ptr addrspace(1) %in, ptr %out0, ptr %out1, ptr %out2
7628}
7729
7830define void @ptrtoaddr_of_bitcast (ptr %in , ptr %out0 ) {
79- ; X64-LABEL: 'ptrtoaddr_of_bitcast'
80- ; X64-NEXT: Classifying expressions for: @ptrtoaddr_of_bitcast
81- ; X64-NEXT: %in_casted = bitcast ptr %in to ptr
82- ; X64-NEXT: --> %in U: full-set S: full-set
83- ; X64-NEXT: %p0 = ptrtoaddr ptr %in_casted to i64
84- ; X64-NEXT: --> (ptrtoaddr ptr %in to i64) U: full-set S: full-set
85- ; X64-NEXT: Determining loop execution counts for: @ptrtoaddr_of_bitcast
86- ;
87- ; X32-LABEL: 'ptrtoaddr_of_bitcast'
88- ; X32-NEXT: Classifying expressions for: @ptrtoaddr_of_bitcast
89- ; X32-NEXT: %in_casted = bitcast ptr %in to ptr
90- ; X32-NEXT: --> %in U: full-set S: full-set
91- ; X32-NEXT: %p0 = ptrtoaddr ptr %in_casted to i64
92- ; X32-NEXT: --> (zext i32 (ptrtoaddr ptr %in to i32) to i64) U: [0,4294967296) S: [0,4294967296)
93- ; X32-NEXT: Determining loop execution counts for: @ptrtoaddr_of_bitcast
94- ;
9531; CHECK-LABEL: 'ptrtoaddr_of_bitcast'
9632; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_bitcast
9733; CHECK-NEXT: %in_casted = bitcast ptr %in to ptr
@@ -107,12 +43,6 @@ define void @ptrtoaddr_of_bitcast(ptr %in, ptr %out0) {
10743}
10844
10945define void @ptrtoaddr_of_nullptr (ptr %out0 ) {
110- ; ALL-LABEL: 'ptrtoaddr_of_nullptr'
111- ; ALL-NEXT: Classifying expressions for: @ptrtoaddr_of_nullptr
112- ; ALL-NEXT: %p0 = ptrtoaddr ptr null to i64
113- ; ALL-NEXT: --> 0 U: [0,1) S: [0,1)
114- ; ALL-NEXT: Determining loop execution counts for: @ptrtoaddr_of_nullptr
115- ;
11646; CHECK-LABEL: 'ptrtoaddr_of_nullptr'
11747; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_nullptr
11848; CHECK-NEXT: %p0 = ptrtoaddr ptr null to i64
@@ -125,22 +55,6 @@ define void @ptrtoaddr_of_nullptr(ptr %out0) {
12555}
12656
12757define void @ptrtoaddr_of_gep (ptr %in , ptr %out0 ) {
128- ; X64-LABEL: 'ptrtoaddr_of_gep'
129- ; X64-NEXT: Classifying expressions for: @ptrtoaddr_of_gep
130- ; X64-NEXT: %in_adj = getelementptr inbounds i8, ptr %in, i64 42
131- ; X64-NEXT: --> (42 + %in) U: full-set S: full-set
132- ; X64-NEXT: %p0 = ptrtoaddr ptr %in_adj to i64
133- ; X64-NEXT: --> (42 + (ptrtoaddr ptr %in to i64)) U: full-set S: full-set
134- ; X64-NEXT: Determining loop execution counts for: @ptrtoaddr_of_gep
135- ;
136- ; X32-LABEL: 'ptrtoaddr_of_gep'
137- ; X32-NEXT: Classifying expressions for: @ptrtoaddr_of_gep
138- ; X32-NEXT: %in_adj = getelementptr inbounds i8, ptr %in, i64 42
139- ; X32-NEXT: --> (42 + %in) U: full-set S: full-set
140- ; X32-NEXT: %p0 = ptrtoaddr ptr %in_adj to i64
141- ; X32-NEXT: --> (zext i32 (42 + (ptrtoaddr ptr %in to i32)) to i64) U: [0,4294967296) S: [0,4294967296)
142- ; X32-NEXT: Determining loop execution counts for: @ptrtoaddr_of_gep
143- ;
14458; CHECK-LABEL: 'ptrtoaddr_of_gep'
14559; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_gep
14660; CHECK-NEXT: %in_adj = getelementptr inbounds i8, ptr %in, i64 42
0 commit comments