; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py ; RUN: opt -passes='print' -disable-output %s 2>&1 | FileCheck %s target datalayout="p:64:64:64:32" define void @ptrtoaddr(ptr %in, ptr %out0) { ; CHECK-LABEL: 'ptrtoaddr' ; CHECK-NEXT: Classifying expressions for: @ptrtoaddr ; CHECK-NEXT: %p0 = ptrtoaddr ptr %in to i32 ; CHECK-NEXT: --> (ptrtoaddr ptr %in to i32) U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr ; %p0 = ptrtoaddr ptr %in to i32 store i32 %p0, ptr %out0 ret void } define void @ptrtoaddr_as1(ptr addrspace(1) %in, ptr %out0) { ; CHECK-LABEL: 'ptrtoaddr_as1' ; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_as1 ; CHECK-NEXT: %p0 = ptrtoaddr ptr addrspace(1) %in to i32 ; CHECK-NEXT: --> (ptrtoaddr ptr addrspace(1) %in to i32) U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_as1 ; %p0 = ptrtoaddr ptr addrspace(1) %in to i32 store i32 %p0, ptr %out0 ret void } define void @ptrtoaddr_of_bitcast(ptr %in, ptr %out0) { ; CHECK-LABEL: 'ptrtoaddr_of_bitcast' ; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_bitcast ; CHECK-NEXT: %in_casted = bitcast ptr %in to ptr ; CHECK-NEXT: --> %in U: full-set S: full-set ; CHECK-NEXT: %p0 = ptrtoaddr ptr %in_casted to i32 ; CHECK-NEXT: --> (ptrtoaddr ptr %in to i32) U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_of_bitcast ; %in_casted = bitcast ptr %in to ptr %p0 = ptrtoaddr ptr %in_casted to i32 store i32 %p0, ptr %out0 ret void } define void @ptrtoaddr_of_nullptr(ptr %out0) { ; CHECK-LABEL: 'ptrtoaddr_of_nullptr' ; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_nullptr ; CHECK-NEXT: %p0 = ptrtoaddr ptr null to i32 ; CHECK-NEXT: --> 0 U: [0,1) S: [0,1) ; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_of_nullptr ; %p0 = ptrtoaddr ptr null to i32 store i32 %p0, ptr %out0 ret void } define void @ptrtoaddr_of_gep(ptr %in, ptr %out0) { ; CHECK-LABEL: 'ptrtoaddr_of_gep' ; CHECK-NEXT: Classifying expressions for: @ptrtoaddr_of_gep ; CHECK-NEXT: %in_adj = getelementptr inbounds i8, ptr %in, i64 42 ; CHECK-NEXT: --> (42 + %in) U: full-set S: full-set ; CHECK-NEXT: %p0 = ptrtoaddr ptr %in_adj to i32 ; CHECK-NEXT: --> (42 + (ptrtoaddr ptr %in to i32)) U: full-set S: full-set ; CHECK-NEXT: Determining loop execution counts for: @ptrtoaddr_of_gep ; %in_adj = getelementptr inbounds i8, ptr %in, i64 42 %p0 = ptrtoaddr ptr %in_adj to i32 store i32 %p0, ptr %out0 ret void }