diff --git a/llvm/test/Transforms/GVN/loadpre-missed-opportunity.ll b/llvm/test/Transforms/GVN/loadpre-missed-opportunity.ll index b5069ff86705..dae22d18334b 100644 --- a/llvm/test/Transforms/GVN/loadpre-missed-opportunity.ll +++ b/llvm/test/Transforms/GVN/loadpre-missed-opportunity.ll @@ -1,13 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -gvn -S | FileCheck %s -target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" -target triple = "x86_64-unknown-linux-gnu" - -declare void @use(i32*) - -define dso_local void @_Z2axv(i32** %arg, i1 %arg1, i1 %arg2, i1 %arg3) local_unnamed_addr { -; CHECK-LABEL: @_Z2axv( +define void @loadpre_opportunity(i32** %arg, i1 %arg1, i1 %arg2, i1 %arg3) { +; CHECK-LABEL: @loadpre_opportunity( ; CHECK-NEXT: bb: ; CHECK-NEXT: br label [[BB9:%.*]] ; CHECK: bb6: @@ -15,7 +10,7 @@ define dso_local void @_Z2axv(i32** %arg, i1 %arg1, i1 %arg2, i1 %arg3) local_un ; CHECK: bb9: ; CHECK-NEXT: br i1 [[ARG1:%.*]], label [[BB6:%.*]], label [[BB10:%.*]] ; CHECK: bb10: -; CHECK-NEXT: [[I11:%.*]] = tail call i32* @zzz() +; CHECK-NEXT: call void @somecall() ; CHECK-NEXT: br i1 [[ARG2:%.*]], label [[BB12:%.*]], label [[BB15:%.*]] ; CHECK: bb12: ; CHECK-NEXT: br label [[BB13:%.*]] @@ -31,32 +26,32 @@ bb: %i4 = getelementptr inbounds i32, i32* %i, i64 0 br label %bb5 -bb5: ; preds = %bb +bb5: br label %bb9 -bb6: ; preds = %bb15, %bb9 +bb6: %i7 = load i32*, i32** %arg, align 8 %i8 = getelementptr inbounds i32, i32* %i7, i64 0 br label %bb9 -bb9: ; preds = %bb6, %bb5 +bb9: br i1 %arg1, label %bb6, label %bb10 -bb10: ; preds = %bb9 - %i11 = tail call i32* @zzz() +bb10: + call void @somecall() br i1 %arg2, label %bb12, label %bb15 -bb12: ; preds = %bb10 +bb12: br label %bb13 -bb13: ; preds = %bb13, %bb12 +bb13: br i1 %arg3, label %bb14, label %bb13 -bb14: ; preds = %bb13 +bb14: br label %bb15 -bb15: ; preds = %bb14, %bb10 +bb15: br label %bb6 } -declare dso_local i32* @zzz() local_unnamed_addr +declare void @somecall()