File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
2
+ ; RUN: opt -S -passes=gvn < %s | FileCheck %s
3
+
4
+ define i64 @ptrtoaddr_same (ptr %p ) {
5
+ ; CHECK-LABEL: define i64 @ptrtoaddr_same(
6
+ ; CHECK-SAME: ptr [[P:%.*]]) {
7
+ ; CHECK-NEXT: [[I:%.*]] = ptrtoaddr ptr [[P]] to i64
8
+ ; CHECK-NEXT: [[J:%.*]] = ptrtoaddr ptr [[P]] to i64
9
+ ; CHECK-NEXT: [[SUB:%.*]] = sub i64 [[I]], [[J]]
10
+ ; CHECK-NEXT: ret i64 [[SUB]]
11
+ ;
12
+ %i = ptr toaddr ptr %p to i64
13
+ %j = ptr toaddr ptr %p to i64
14
+ %sub = sub i64 %i , %j
15
+ ret i64 %sub
16
+ }
17
+
18
+ ; Note that unlike for ptrtoint, it's not possible for ptrtoaddr to differ
19
+ ; in result type for the same input.
20
+ define i64 @ptrtoaddr_different (ptr %p , ptr %p2 ) {
21
+ ; CHECK-LABEL: define i64 @ptrtoaddr_different(
22
+ ; CHECK-SAME: ptr [[P:%.*]], ptr [[P2:%.*]]) {
23
+ ; CHECK-NEXT: [[I:%.*]] = ptrtoaddr ptr [[P]] to i64
24
+ ; CHECK-NEXT: [[J:%.*]] = ptrtoaddr ptr [[P2]] to i64
25
+ ; CHECK-NEXT: [[SUB:%.*]] = sub i64 [[I]], [[J]]
26
+ ; CHECK-NEXT: ret i64 [[SUB]]
27
+ ;
28
+ %i = ptr toaddr ptr %p to i64
29
+ %j = ptr toaddr ptr %p2 to i64
30
+ %sub = sub i64 %i , %j
31
+ ret i64 %sub
32
+ }
You can’t perform that action at this time.
0 commit comments