1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
llvm-mirror/test/Transforms/SRETPromotion/2008-06-05-non-call-use.ll
Dan Gohman 205b641954 Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.

llvm-svn: 81537
2009-09-11 18:01:28 +00:00

21 lines
595 B
LLVM

; This test shows an sret function that is used as an operand to a bitcast.
; StructRetPromotion used to assume that a function was only used by call or
; invoke instructions, making this code cause an assertion failure.
; We're mainly testing for opt not to crash, but we'll check to see if the sret
; attribute is still there for good measure.
; RUN: opt < %s -sretpromotion -S | grep sret
%struct.S = type <{ i32, i32 }>
define i32 @main() {
entry:
%bar = bitcast void (%struct.S*)* @foo to i32 ()*
ret i32 undef
}
define internal void @foo(%struct.S* sret) {
entry:
ret void
}