Skip to content

Commit 6ae99e5

Browse files
committed
!fixup fix i32 index width tests, bail out
1 parent 094cc21 commit 6ae99e5

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

llvm/lib/Analysis/ScalarEvolution.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,10 +1161,7 @@ const SCEV *ScalarEvolution::getLosslessPtrToIntExpr(const SCEV *Op) {
11611161
}
11621162

11631163
const SCEV *ScalarEvolution::getPtrToAddrExpr(const SCEV *Op) {
1164-
const SCEV *IntOp = getLosslessPtrToAddrExpr(Op);
1165-
assert(!isa<SCEVCouldNotCompute>(IntOp) &&
1166-
"Must be able to losslessly convert PtrToAddr");
1167-
return IntOp;
1164+
return getLosslessPtrToAddrExpr(Op);
11681165
}
11691166

11701167
const SCEV *ScalarEvolution::getPtrToIntExpr(const SCEV *Op, Type *Ty) {

llvm/test/Analysis/ScalarEvolution/ptrtoaddr-i32-index-width.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
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="p64:64:64:32"
4+
target datalayout="p:64:64:64:32"
55

66
define void @ptrtoaddr(ptr %in, ptr %out0) {
77
; CHECK-LABEL: 'ptrtoaddr'
88
; CHECK-NEXT: Classifying expressions for: @ptrtoaddr
99
; CHECK-NEXT: %p0 = ptrtoaddr ptr %in to i32
10-
; CHECK-NEXT: --> (ptrtoaddr ptr %in to i32) U: full-set S: full-set
10+
; CHECK-NEXT: --> %p0 U: full-set S: full-set
1111
; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr
1212
;
1313
%p0 = ptrtoaddr ptr %in to i32
@@ -19,7 +19,7 @@ define void @ptrtoaddr_as1(ptr addrspace(1) %in, ptr %out0) {
1919
; CHECK-LABEL: 'ptrtoaddr_as1'
2020
; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_as1
2121
; CHECK-NEXT: %p0 = ptrtoaddr ptr addrspace(1) %in to i32
22-
; CHECK-NEXT: --> (ptrtoaddr ptr addrspace(1) %in to i32) U: full-set S: full-set
22+
; CHECK-NEXT: --> %p0 U: full-set S: full-set
2323
; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_as1
2424
;
2525
%p0 = ptrtoaddr ptr addrspace(1) %in to i32
@@ -33,7 +33,7 @@ define void @ptrtoaddr_of_bitcast(ptr %in, ptr %out0) {
3333
; CHECK-NEXT: %in_casted = bitcast ptr %in to ptr
3434
; CHECK-NEXT: --> %in U: full-set S: full-set
3535
; CHECK-NEXT: %p0 = ptrtoaddr ptr %in_casted to i32
36-
; CHECK-NEXT: --> (ptrtoaddr ptr %in to i32) U: full-set S: full-set
36+
; CHECK-NEXT: --> %p0 U: full-set S: full-set
3737
; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_of_bitcast
3838
;
3939
%in_casted = bitcast ptr %in to ptr
@@ -46,7 +46,7 @@ define void @ptrtoaddr_of_nullptr(ptr %out0) {
4646
; CHECK-LABEL: 'ptrtoaddr_of_nullptr'
4747
; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_nullptr
4848
; CHECK-NEXT: %p0 = ptrtoaddr ptr null to i32
49-
; CHECK-NEXT: --> 0 U: [0,1) S: [0,1)
49+
; CHECK-NEXT: --> %p0 U: full-set S: full-set
5050
; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_of_nullptr
5151
;
5252
%p0 = ptrtoaddr ptr null to i32
@@ -60,7 +60,7 @@ define void @ptrtoaddr_of_gep(ptr %in, ptr %out0) {
6060
; CHECK-NEXT: %in_adj = getelementptr inbounds i8, ptr %in, i64 42
6161
; CHECK-NEXT: --> (42 + %in) U: full-set S: full-set
6262
; CHECK-NEXT: %p0 = ptrtoaddr ptr %in_adj to i32
63-
; CHECK-NEXT: --> (42 + (ptrtoaddr ptr %in to i32)) U: full-set S: full-set
63+
; CHECK-NEXT: --> %p0 U: full-set S: full-set
6464
; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_of_gep
6565
;
6666
%in_adj = getelementptr inbounds i8, ptr %in, i64 42

0 commit comments

Comments
 (0)