Last active
July 31, 2023 17:26
-
-
Save John-Colvin/f106a8512dfbdf79e6d4ecf0bdc87307 to your computer and use it in GitHub Desktop.
module dump
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bin/sdc -c -o obj/sdlib/gc.o sdlib/d/gc/allocclass.d sdlib/d/gc/arena.d sdlib/d/gc/base.d sdlib/d/gc/bin.d sdlib/d/gc/bitmap.d sdlib/d/gc/capi.d sdlib/d/gc/emap.d sdlib/d/gc/extent.d sdlib/d/gc/finddivisor.d sdlib/d/gc/heap.d sdlib/d/gc/hpd.d sdlib/d/gc/pages.d sdlib/d/gc/rbtree.d sdlib/d/gc/region.d sdlib/d/gc/ring.d sdlib/d/gc/rtree.d sdlib/d/gc/sizeclass.d sdlib/d/gc/spec.d sdlib/d/gc/tcache.d sdlib/d/gc/util.d -Isdlib | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define i64 @__ctfe() #0 { | |
store i64 1, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define i64 @__ctfe() #0 { | |
store i64 64, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i8 undef | |
define i64 @__ctfe() #0 { | |
%1 = call i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 8) | |
store i8 %1, ptr @__ctBuf, align 1 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 8, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 8, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 4096, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 17592186040320, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 7, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 64, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 63, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 4095, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 2097152, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 2097151, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 281474976710656, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 281474976710655, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 128, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 128, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 281474976710528, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 4096, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 4095, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i32 1, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i32 2, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i32 3, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i32 4, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i32 5, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i64 16, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
store i32 36, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
ret i64 2 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@__ctBuf = global [2 x %S2gc1d5rtree5Level] undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define i64 @__ctfe() #0 { | |
%1 = call %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level zeroinitializer, i32 18, i32 30) | |
%2 = insertvalue [2 x %S2gc1d5rtree5Level] undef, %S2gc1d5rtree5Level %1, 0 | |
%3 = call %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level zeroinitializer, i32 18, i32 12) | |
%4 = insertvalue [2 x %S2gc1d5rtree5Level] %2, %S2gc1d5rtree5Level %3, 1 | |
store [2 x %S2gc1d5rtree5Level] %4, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@__ctBuf = global i64 undef | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
define i64 @__ctfe() #0 { | |
br i1 true, label %bound_ok, label %bound_fail, !prof !0 | |
bound_fail: ; preds = %0 | |
call void @__sd_array_outofbounds({ i64, ptr } { i64 12, ptr @.str }, i32 28) | |
unreachable | |
bound_ok: ; preds = %0 | |
%1 = load i32, ptr @_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level, align 4 | |
%2 = zext i32 %1 to i64 | |
%3 = shl i64 1, %2 | |
store i64 %3, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
!0 = !{!"branch_weights", i32 65536, i32 0} | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
br i1 true, label %bound_ok, label %bound_fail, !prof !0 | |
bound_fail: ; preds = %0 | |
call void @__sd_array_outofbounds({ i64, ptr } { i64 12, ptr @.str }, i32 29) | |
unreachable | |
bound_ok: ; preds = %0 | |
%1 = load i32, ptr getelementptr inbounds (%S2gc1d5rtree5Level, ptr @_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level, i64 1), align 4 | |
%2 = zext i32 %1 to i64 | |
%3 = shl i64 1, %2 | |
store i64 %3, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
!0 = !{!"branch_weights", i32 65536, i32 0} | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
br i1 true, label %bound_ok, label %bound_fail, !prof !0 | |
bound_fail: ; preds = %0 | |
call void @__sd_array_outofbounds({ i64, ptr } { i64 12, ptr @.str }, i32 31) | |
unreachable | |
bound_ok: ; preds = %0 | |
%1 = load i32, ptr getelementptr inbounds (%S2gc1d5rtree5Level, ptr @_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level, i32 0, i32 1), align 4 | |
%2 = zext i32 %1 to i64 | |
%3 = shl i64 1, %2 | |
store i64 %3, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
!0 = !{!"branch_weights", i32 65536, i32 0} | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 281474976706560, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i32 4098, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i32 -1, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 40 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 56 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 56 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 8 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 8 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 8 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 192 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 16 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
ret i64 8176 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 850045863, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 1018212795, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@__ctBuf = global %S5posix3sys7pthread15pthread_mutex_t undef | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
%1 = load %S5posix3sys7pthread15pthread_mutex_t, ptr @_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t, align 8 | |
store %S5posix3sys7pthread15pthread_mutex_t %1, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@__ctBuf = global %S5posix3sys7pthread14pthread_cond_t undef | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
%1 = load %S5posix3sys7pthread14pthread_cond_t, ptr @_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t, align 8 | |
store %S5posix3sys7pthread14pthread_cond_t %1, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 1, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 2, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 -4, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i32 1, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i32 2, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i32 @__ctfe() #0 { | |
ret i32 2 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i32 @__ctfe() #0 { | |
ret i32 1 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i64 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i64 16384, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@__ctBuf = global i64 undef | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
%1 = call i64 @_D2gc1d4util7alignUpFMmmZm(i64 24, i64 8) | |
%2 = udiv i64 128, %1 | |
store i64 %2, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i1 @__ctfe() #0 { | |
ret i1 true | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i32 512, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@__ctBuf = global i32 undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store i32 512, ptr @__ctBuf, align 4 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@__ctBuf = global { i64, ptr } undef | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store { i64, ptr } { i64 6, ptr @.str.2 }, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
@__ctBuf = global { i64, ptr } undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store { i64, ptr } { i64 6, ptr @.str.2 }, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
@__ctBuf = global { i64, ptr } undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store { i64, ptr } { i64 6, ptr @.str.2 }, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
@__ctBuf = global { i64, ptr } undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store { i64, ptr } { i64 6, ptr @.str.2 }, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
@__ctBuf = global { i64, ptr } undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store { i64, ptr } { i64 6, ptr @.str.2 }, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
@__ctBuf = global { i64, ptr } undef | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
store { i64, ptr } { i64 6, ptr @.str.2 }, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
; ModuleID = 'sdlib/d/gc/allocclass.d' | |
source_filename = "sdlib/d/gc/allocclass.d" | |
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" | |
%S2gc1d5rtree5Level = type { i32, i32 } | |
%S5posix3sys7pthread15pthread_mutex_t = type { i64, [56 x i8] } | |
%S5posix3sys7pthread14pthread_cond_t = type { i64, [40 x i8] } | |
@_D2gc1d5rtree6LevelsyG2yS2gc1d5rtree5Level = linkonce_odr constant [2 x %S2gc1d5rtree5Level] [%S2gc1d5rtree5Level { i32 18, i32 30 }, %S2gc1d5rtree5Level { i32 18, i32 12 }] | |
@.str = private unnamed_addr constant [13 x i8] c"d/gc/rtree.d\00" | |
@_D5posix3sys7pthread25PTHREAD_MUTEX_INITIALIZERyS5posix3sys7pthread15pthread_mutex_t = linkonce_odr constant %S5posix3sys7pthread15pthread_mutex_t zeroinitializer | |
@_D5posix3sys7pthread24PTHREAD_COND_INITIALIZERyS5posix3sys7pthread14pthread_cond_t = linkonce_odr constant %S5posix3sys7pthread14pthread_cond_t zeroinitializer | |
@.str.1 = private unnamed_addr constant [12 x i8] c"d/gc/util.d\00" | |
@.str.2 = private unnamed_addr constant [7 x i8] c"phnode\00" | |
@__ctBuf = global { i64, ptr } undef | |
@.str.3 = private unnamed_addr constant [9 x i8] c"object.d\00" | |
@.str.4 = private unnamed_addr constant [10 x i8] c"return n.\00" | |
@.str.5 = private unnamed_addr constant [2 x i8] c";\00" | |
define linkonce_odr i8 @_D2gc1d4util9log2floorTTmZ9log2floorFMmZh(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = icmp eq i64 %1, 0 | |
br i1 %2, label %then, label %endif | |
then: ; preds = %entry | |
ret i8 0 | |
endif: ; preds = %entry | |
%3 = load i64, ptr %x, align 8 | |
%4 = call i64 @llvm.ctlz.i64(i64 %3, i1 false) | |
%5 = sub i64 64, %4 | |
%6 = sub i64 %5, 1 | |
%7 = trunc i64 %6 to i8 | |
ret i8 %7 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64 %0, i1 immarg %1) #1 | |
define linkonce_odr %S2gc1d5rtree5Level @_D2gc1d5rtree5Level6__ctorFMS2gc1d5rtree5LevelkkZS2gc1d5rtree5Level(%S2gc1d5rtree5Level %arg.this, i32 %arg.bits, i32 %arg.shift) #0 { | |
%this = alloca %S2gc1d5rtree5Level, align 8 | |
store %S2gc1d5rtree5Level %arg.this, ptr %this, align 4 | |
%bits = alloca i32, align 4 | |
store i32 %arg.bits, ptr %bits, align 4 | |
%shift = alloca i32, align 4 | |
store i32 %arg.shift, ptr %shift, align 4 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 0 | |
%2 = load i32, ptr %bits, align 4 | |
store i32 %2, ptr %1, align 4 | |
%3 = getelementptr inbounds %S2gc1d5rtree5Level, ptr %this, i32 0, i32 1 | |
%4 = load i32, ptr %shift, align 4 | |
store i32 %4, ptr %3, align 4 | |
%5 = load %S2gc1d5rtree5Level, ptr %this, align 4 | |
ret %S2gc1d5rtree5Level %5 | |
} | |
; Function Attrs: noreturn | |
declare void @__sd_array_outofbounds({ i64, ptr } %0, i32 %1) #2 | |
define linkonce_odr i64 @_D2gc1d4util7alignUpFMmmZm(i64 %arg.size, i64 %arg.alignment) #0 { | |
%size = alloca i64, align 8 | |
store i64 %arg.size, ptr %size, align 8 | |
%alignment = alloca i64, align 8 | |
store i64 %arg.alignment, ptr %alignment, align 8 | |
%ret = alloca i64, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %alignment, align 8 | |
%2 = call i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %1) | |
br i1 %2, label %assert.success, label %assert.fail | |
assert.fail: ; preds = %entry | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 200) | |
unreachable | |
assert.success: ; preds = %entry | |
%3 = load i64, ptr %size, align 8 | |
%4 = load i64, ptr %alignment, align 8 | |
%5 = add i64 %3, %4 | |
%6 = sub i64 %5, 1 | |
%7 = load i64, ptr %alignment, align 8 | |
%8 = xor i64 %7, -1 | |
%9 = add i64 %8, 1 | |
%10 = and i64 %6, %9 | |
store i64 %10, ptr %ret, align 8 | |
%11 = load i64, ptr %ret, align 8 | |
%12 = load i64, ptr %size, align 8 | |
%13 = icmp uge i64 %11, %12 | |
br i1 %13, label %assert.success1, label %assert.fail2 | |
assert.fail2: ; preds = %assert.success | |
call void @__sd_assert_fail({ i64, ptr } { i64 11, ptr @.str.1 }, i32 204) | |
unreachable | |
assert.success1: ; preds = %assert.success | |
%14 = load i64, ptr %ret, align 8 | |
ret i64 %14 | |
} | |
define linkonce_odr i1 @_D2gc1d4util6isPow2TTmZ6isPow2FMmZb(i64 %arg.x) #0 { | |
%x = alloca i64, align 8 | |
store i64 %arg.x, ptr %x, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = load i64, ptr %x, align 8 | |
%2 = call i64 @llvm.ctpop.i64(i64 %1) | |
%3 = icmp eq i64 %2, 1 | |
ret i1 %3 | |
} | |
; Function Attrs: nocallback nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64 %0) #1 | |
; Function Attrs: noreturn | |
declare void @__sd_assert_fail({ i64, ptr } %0, i32 %1) #2 | |
define i64 @__ctfe() #0 { | |
%1 = call { i64, ptr } @_D6object17__sd_array_concatTTyAyaTyaZ17__sd_array_concatFMyAyayAyaZAya({ i64, ptr } { i64 9, ptr @.str.4 }, { i64, ptr } { i64 6, ptr @.str.2 }) | |
%2 = call { i64, ptr } @_D6object17__sd_array_concatTTAyaTyaZ17__sd_array_concatFMAyaAyaZAya({ i64, ptr } %1, { i64, ptr } { i64 1, ptr @.str.5 }) | |
store { i64, ptr } %2, ptr @__ctBuf, align 8 | |
ret i64 ptrtoint (ptr @__ctBuf to i64) | |
} | |
define linkonce_odr { i64, ptr } @_D6object17__sd_array_concatTTAyaTyaZ17__sd_array_concatFMAyaAyaZAya({ i64, ptr } %arg.lhs, { i64, ptr } %arg.rhs) #0 { | |
%lhs = alloca { i64, ptr }, align 8 | |
store { i64, ptr } %arg.lhs, ptr %lhs, align 8 | |
%rhs = alloca { i64, ptr }, align 8 | |
store { i64, ptr } %arg.rhs, ptr %rhs, align 8 | |
%length = alloca i64, align 8 | |
%ptr = alloca ptr, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 0 | |
%2 = load i64, ptr %1, align 8 | |
%3 = getelementptr inbounds { i64, ptr }, ptr %rhs, i32 0, i32 0 | |
%4 = load i64, ptr %3, align 8 | |
%5 = add i64 %2, %4 | |
store i64 %5, ptr %length, align 8 | |
%6 = load i64, ptr %length, align 8 | |
%7 = mul i64 %6, 1 | |
%8 = call ptr @__sd_gc_array_alloc(i64 %7) | |
store ptr %8, ptr %ptr, align 8 | |
%9 = load ptr, ptr %ptr, align 8 | |
%10 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 1 | |
%11 = load ptr, ptr %10, align 8 | |
%12 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 0 | |
%13 = load i64, ptr %12, align 8 | |
%14 = mul i64 %13, 1 | |
%15 = call ptr @memcpy(ptr %9, ptr %11, i64 %14) | |
%16 = load ptr, ptr %ptr, align 8 | |
%17 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 0 | |
%18 = load i64, ptr %17, align 8 | |
%19 = getelementptr inbounds i8, ptr %16, i64 %18 | |
%20 = getelementptr inbounds { i64, ptr }, ptr %rhs, i32 0, i32 1 | |
%21 = load ptr, ptr %20, align 8 | |
%22 = getelementptr inbounds { i64, ptr }, ptr %rhs, i32 0, i32 0 | |
%23 = load i64, ptr %22, align 8 | |
%24 = mul i64 %23, 1 | |
%25 = call ptr @memcpy(ptr %19, ptr %21, i64 %24) | |
%26 = load ptr, ptr %ptr, align 8 | |
%27 = load i64, ptr %length, align 8 | |
%28 = icmp ule i64 0, %27 | |
br i1 %28, label %bound_ok, label %bound_fail, !prof !0 | |
bound_fail: ; preds = %entry | |
call void @__sd_array_outofbounds({ i64, ptr } { i64 8, ptr @.str.3 }, i32 60) | |
unreachable | |
bound_ok: ; preds = %entry | |
%29 = sub i64 %27, 0 | |
%30 = insertvalue { i64, ptr } undef, i64 %29, 0 | |
%31 = getelementptr inbounds i8, ptr %26, i64 0 | |
%32 = insertvalue { i64, ptr } %30, ptr %31, 1 | |
ret { i64, ptr } %32 | |
} | |
declare ptr @__sd_gc_array_alloc(i64 %0) #0 | |
declare ptr @memcpy(ptr %0, ptr %1, i64 %2) #0 | |
define linkonce_odr { i64, ptr } @_D6object17__sd_array_concatTTyAyaTyaZ17__sd_array_concatFMyAyayAyaZAya({ i64, ptr } %arg.lhs, { i64, ptr } %arg.rhs) #0 { | |
%lhs = alloca { i64, ptr }, align 8 | |
store { i64, ptr } %arg.lhs, ptr %lhs, align 8 | |
%rhs = alloca { i64, ptr }, align 8 | |
store { i64, ptr } %arg.rhs, ptr %rhs, align 8 | |
%length = alloca i64, align 8 | |
%ptr = alloca ptr, align 8 | |
br label %entry | |
entry: ; preds = %0 | |
%1 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 0 | |
%2 = load i64, ptr %1, align 8 | |
%3 = getelementptr inbounds { i64, ptr }, ptr %rhs, i32 0, i32 0 | |
%4 = load i64, ptr %3, align 8 | |
%5 = add i64 %2, %4 | |
store i64 %5, ptr %length, align 8 | |
%6 = load i64, ptr %length, align 8 | |
%7 = mul i64 %6, 1 | |
%8 = call ptr @__sd_gc_array_alloc(i64 %7) | |
store ptr %8, ptr %ptr, align 8 | |
%9 = load ptr, ptr %ptr, align 8 | |
%10 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 1 | |
%11 = load ptr, ptr %10, align 8 | |
%12 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 0 | |
%13 = load i64, ptr %12, align 8 | |
%14 = mul i64 %13, 1 | |
%15 = call ptr @memcpy(ptr %9, ptr %11, i64 %14) | |
%16 = load ptr, ptr %ptr, align 8 | |
%17 = getelementptr inbounds { i64, ptr }, ptr %lhs, i32 0, i32 0 | |
%18 = load i64, ptr %17, align 8 | |
%19 = getelementptr inbounds i8, ptr %16, i64 %18 | |
%20 = getelementptr inbounds { i64, ptr }, ptr %rhs, i32 0, i32 1 | |
%21 = load ptr, ptr %20, align 8 | |
%22 = getelementptr inbounds { i64, ptr }, ptr %rhs, i32 0, i32 0 | |
%23 = load i64, ptr %22, align 8 | |
%24 = mul i64 %23, 1 | |
%25 = call ptr @memcpy(ptr %19, ptr %21, i64 %24) | |
%26 = load ptr, ptr %ptr, align 8 | |
%27 = load i64, ptr %length, align 8 | |
%28 = icmp ule i64 0, %27 | |
br i1 %28, label %bound_ok, label %bound_fail, !prof !0 | |
bound_fail: ; preds = %entry | |
call void @__sd_array_outofbounds({ i64, ptr } { i64 8, ptr @.str.3 }, i32 60) | |
unreachable | |
bound_ok: ; preds = %entry | |
%29 = sub i64 %27, 0 | |
%30 = insertvalue { i64, ptr } undef, i64 %29, 0 | |
%31 = getelementptr inbounds i8, ptr %26, i64 0 | |
%32 = insertvalue { i64, ptr } %30, ptr %31, 1 | |
ret { i64, ptr } %32 | |
} | |
attributes #0 = { "frame-pointer"="none" } | |
attributes #1 = { nocallback nofree nosync nounwind readnone speculatable willreturn "frame-pointer"="none" } | |
attributes #2 = { noreturn "frame-pointer"="none" } | |
!0 = !{!"branch_weights", i32 65536, i32 0} | |
make: *** [obj/sdlib/gc.o] Segmentation fault: 11 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment