Ptr
class Ptr[T]
Fields
1
T
type
Constructors
4
Methods
1
Special methods
26
__bool__(self)
Added by
internal.types.ptr%0 = icmp ne ptr %self, null
%1 = zext i1 %0 to i8
ret i8 %1
__getitem__(self, index: int)
Added by
internal.types.ptr%0 = getelementptr {=T}, ptr %self, i64 %index
%1 = load {=T}, ptr %0
ret {=T} %1
__getitem__(self: Ptr[Vec[S, M]], index: int, S: type, M: Literal[int])
Added by
simd%address = getelementptr <{=M} x {=S}>, ptr %self, i64 %index
%result = load <{=M} x {=S}>, ptr %address, align 1
ret <{=M} x {=S}> %result
__setitem__(self, index: int, what: T)
Added by
internal.types.ptr%0 = getelementptr {=T}, ptr %self, i64 %index
store {=T} %what, ptr %0
ret {} {}
__setitem__(self: Ptr[Vec[S, M]], index: int, what: Vec[S, M], S: type, M: Literal[int])
Added by
simd%address = getelementptr <{=M} x {=S}>, ptr %self, i64 %index
store <{=M} x {=S}> %what, ptr %address, align 1
ret {} zeroinitializer
__add__(self, other: int)
Added by
internal.types.ptr%0 = getelementptr {=T}, ptr %self, i64 %other
ret ptr %0
__sub__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = ptrtoint ptr %self to i64
%1 = ptrtoint ptr %other to i64
%2 = sub i64 %0, %1
%3 = sdiv exact i64 %2, ptrtoint (ptr getelementptr ({=T}, {=T}* null, i32 1) to i64)
ret i64 %3
__sub__(self, other: int)
Added by
internal.types.ptr%0 = sub i64 0, %other
%1 = getelementptr {=T}, {=T}* %self, i64 %0
ret {=T}* %1
__eq__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = icmp eq ptr %self, %other
%1 = zext i1 %0 to i8
ret i8 %1
__ne__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = icmp ne ptr %self, %other
%1 = zext i1 %0 to i8
ret i8 %1
__lt__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = icmp slt ptr %self, %other
%1 = zext i1 %0 to i8
ret i8 %1
__gt__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = icmp sgt ptr %self, %other
%1 = zext i1 %0 to i8
ret i8 %1
__le__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = icmp sle ptr %self, %other
%1 = zext i1 %0 to i8
ret i8 %1
__ge__(self, other: Ptr[T])
Added by
internal.types.ptr%0 = icmp sge ptr %self, %other
%1 = zext i1 %0 to i8
ret i8 %1
__prefetch_r0__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 0, i32 0, i32 1)
ret {} {}
__prefetch_r1__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 0, i32 1, i32 1)
ret {} {}
__prefetch_r2__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 0, i32 2, i32 1)
ret {} {}
__prefetch_r3__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 0, i32 3, i32 1)
ret {} {}
__prefetch_w0__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 1, i32 0, i32 1)
ret {} {}
__prefetch_w1__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 1, i32 1, i32 1)
ret {} {}
__prefetch_w2__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 1, i32 2, i32 1)
ret {} {}
__prefetch_w3__(self)
Added by
internal.types.ptrdeclare void @llvm.prefetch(ptr nocapture readonly, i32, i32, i32)
call void @llvm.prefetch(ptr %self, i32 1, i32 3, i32 1)
ret {} {}