zpu: wip eke out some simple instructions for load/store/add
[llvm/zpu.git] / test / Transforms / SRETPromotion / 2008-06-05-non-call-use.ll
blob26c6a6e5077b516e5ba88b14a9623fd95dd1ec09
1 ; This test shows an sret function that is used as an operand to a bitcast.
2 ; StructRetPromotion used to assume that a function was only used by call or
3 ; invoke instructions, making this code cause an assertion failure.
5 ; We're mainly testing for opt not to crash, but we'll check to see if the sret
6 ; attribute is still there for good measure.
7 ; RUN: opt < %s -sretpromotion -S | grep sret
9 %struct.S = type <{ i32, i32 }>
11 define i32 @main() {
12 entry:
13         %bar = bitcast void (%struct.S*)* @foo to i32 ()*
14         ret i32 undef
17 define internal void @foo(%struct.S* sret) {
18 entry:
19         ret void