diff options
Diffstat (limited to 'test/Transforms/SRETPromotion/2008-06-04-function-pointer-passing.ll')
-rw-r--r-- | test/Transforms/SRETPromotion/2008-06-04-function-pointer-passing.ll | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/test/Transforms/SRETPromotion/2008-06-04-function-pointer-passing.ll b/test/Transforms/SRETPromotion/2008-06-04-function-pointer-passing.ll deleted file mode 100644 index 1168b0b..0000000 --- a/test/Transforms/SRETPromotion/2008-06-04-function-pointer-passing.ll +++ /dev/null @@ -1,24 +0,0 @@ -; This test lures sretpromotion into promoting the sret argument of foo, even -; when the function is used as an argument to bar. It used to not check for -; this, assuming that all users of foo were direct calls, resulting in an -; assertion failure later on. - -; 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: - %tmp = alloca %struct.S ; <%struct.S*> [#uses=1] - call void @bar( %struct.S* sret %tmp, void (%struct.S*, ...)* @foo ) - ret i32 undef -} - -declare void @bar(%struct.S* sret , void (%struct.S*, ...)*) - -define internal void @foo(%struct.S* sret %agg.result, ...) { -entry: - ret void -} |