llvm-project/llvm/test/Transforms/InstCombine/alloca.ll

28 lines
547 B
LLVM

; Zero byte allocas should be deleted.
; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | not grep alloca
declare void %use(...)
void %test() {
%X = alloca [0 x int]
call void(...)* %use([0 x int] *%X)
%Y = alloca int, uint 0
call void(...)* %use(int* %Y)
%Z = alloca {}
call void(...)* %use({}* %Z)
ret void
}
void %test2() {
%A = alloca int ;; dead.
store int 123, int* %A
ret void
}
void %test3() {
%A = alloca {int} ;; dead.
%B = getelementptr {int}* %A, int 0, uint 0
store int 123, int* %B
ret void
}