diff options
author | Eric Christopher <echristo@gmail.com> | 2019-04-17 02:12:23 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2019-04-17 02:12:23 +0000 |
commit | a86343512845c9c1fdbac865fea88aa5fce7142a (patch) | |
tree | 666fc6353de19ad8b00e56b67edd33f24104e4a7 /llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll | |
parent | 7f8ca6e3679b3af951cb7a4b1377edfaa3244b93 (diff) | |
download | bcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.tar.gz bcm5719-llvm-a86343512845c9c1fdbac865fea88aa5fce7142a.zip |
Temporarily Revert "Add basic loop fusion pass."
As it's causing some bot failures (and per request from kbarton).
This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.
llvm-svn: 358546
Diffstat (limited to 'llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll')
-rw-r--r-- | llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll b/llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll deleted file mode 100644 index 8582f5e18f8..00000000000 --- a/llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll +++ /dev/null @@ -1,107 +0,0 @@ -; RUN: opt < %s -partial-inliner -S -skip-partial-inlining-cost-analysis | FileCheck %s -; RUN: opt < %s -passes=partial-inliner -S -skip-partial-inlining-cost-analysis | FileCheck %s - -@stat = external global i32, align 4 - -define i32 @vararg(i32 %count, ...) { -entry: - %vargs = alloca i8*, align 8 - %stat1 = load i32, i32* @stat, align 4 - %cmp = icmp slt i32 %stat1, 0 - br i1 %cmp, label %bb2, label %bb1 - -bb1: ; preds = %entry - %vg1 = add nsw i32 %stat1, 1 - store i32 %vg1, i32* @stat, align 4 - %vargs1 = bitcast i8** %vargs to i8* - call void @llvm.va_start(i8* %vargs1) - %va1 = va_arg i8** %vargs, i32 - call void @foo(i32 %count, i32 %va1) #2 - call void @llvm.va_end(i8* %vargs1) - br label %bb2 - -bb2: ; preds = %bb1, %entry - %res = phi i32 [ 1, %bb1 ], [ 0, %entry ] - ret i32 %res -} - -declare void @foo(i32, i32) -declare void @llvm.va_start(i8*) -declare void @llvm.va_end(i8*) - -define i32 @caller1(i32 %arg) { -bb: - %tmp = tail call i32 (i32, ...) @vararg(i32 %arg) - ret i32 %tmp -} -; CHECK-LABEL: @caller1 -; CHECK: codeRepl.i: -; CHECK-NEXT: call void (i32, i8**, i32, ...) @vararg.3.bb1(i32 %stat1.i, i8** %vargs.i, i32 %arg) - -define i32 @caller2(i32 %arg, float %arg2) { -bb: - %tmp = tail call i32 (i32, ...) @vararg(i32 %arg, i32 10, float %arg2) - ret i32 %tmp -} - -; CHECK-LABEL: @caller2 -; CHECK: codeRepl.i: -; CHECK-NEXT: call void (i32, i8**, i32, ...) @vararg.3.bb1(i32 %stat1.i, i8** %vargs.i, i32 %arg, i32 10, float %arg2) - -; Test case to check that we do not extract a vararg function, if va_end is in -; a block that is not outlined. -define i32 @vararg_not_legal(i32 %count, ...) { -entry: - %vargs = alloca i8*, align 8 - %vargs0 = bitcast i8** %vargs to i8* - %stat1 = load i32, i32* @stat, align 4 - %cmp = icmp slt i32 %stat1, 0 - br i1 %cmp, label %bb2, label %bb1 - -bb1: ; preds = %entry - %vg1 = add nsw i32 %stat1, 1 - store i32 %vg1, i32* @stat, align 4 - %vargs1 = bitcast i8** %vargs to i8* - call void @llvm.va_start(i8* %vargs1) - %va1 = va_arg i8** %vargs, i32 - call void @foo(i32 %count, i32 %va1) - br label %bb2 - -bb2: ; preds = %bb1, %entry - %res = phi i32 [ 1, %bb1 ], [ 0, %entry ] - %ptr = phi i8* [ %vargs1, %bb1 ], [ %vargs0, %entry] - call void @llvm.va_end(i8* %ptr) - ret i32 %res -} - -; CHECK-LABEL: @caller3 -; CHECK: tail call i32 (i32, ...) @vararg_not_legal(i32 %arg, i32 %arg) -define i32 @caller3(i32 %arg) { -bb: - %res = tail call i32 (i32, ...) @vararg_not_legal(i32 %arg, i32 %arg) - ret i32 %res -} - -declare i32* @err(i32*) - -define signext i32 @vararg2(i32 * %l, ...) { -entry: - br i1 undef, label %cleanup, label %cond.end - -cond.end: ; preds = %entry - %call51 = call i32* @err(i32* nonnull %l) - unreachable - -cleanup: ; preds = %entry - ret i32 0 -} - -define i32* @caller_with_signext(i32* %foo) { -entry: - %call1 = tail call signext i32 (i32*, ...) @vararg2(i32* %foo, i32 signext 8) - unreachable -} - -; CHECK-LABEL: @caller_with_signext -; CHECK: codeRepl.i: -; CHECK-NEXT: call void (i32*, ...) @vararg2.1.cond.end(i32* %foo, i32 signext 8) |