forked from OSchip/llvm-project
parent
c0f4dc1cfa
commit
10db1077ff
|
@ -0,0 +1,26 @@
|
|||
; RUN: analyze %s -datastructure-gc -dsgc-dspass=td -dsgc-abort-if-incomplete=Ptr
|
||||
|
||||
|
||||
|
||||
int %main() {
|
||||
call void %A()
|
||||
call void %B()
|
||||
ret int 0
|
||||
}
|
||||
|
||||
internal void %A() {
|
||||
%V = malloc int
|
||||
call void %Callee(int* %V)
|
||||
ret void
|
||||
}
|
||||
|
||||
internal void %B() {
|
||||
%V = malloc int
|
||||
call void %Callee(int* %V)
|
||||
ret void
|
||||
}
|
||||
|
||||
internal void %Callee(int* %Ptr) {
|
||||
load int* %Ptr
|
||||
ret void
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
; Test to check for support for "physical subtyping"
|
||||
;
|
||||
; RUN: analyze %s -datastructure-gc -dsgc-abort-if-any-collapsed
|
||||
;
|
||||
%S = type { int }
|
||||
%T = type { int, float, double }
|
||||
|
||||
int %main() {
|
||||
%A = alloca %S
|
||||
%Ap = getelementptr %S* %A, long 0, ubyte 0
|
||||
%B = alloca %T
|
||||
%Bp = getelementptr %T* %B, long 0, ubyte 0
|
||||
%C = alloca int*
|
||||
|
||||
store int* %Ap, int** %C
|
||||
store int* %Bp, int** %C
|
||||
ret int 0
|
||||
}
|
Loading…
Reference in New Issue