From 11d83e135a0fe4ffda669bd7b77fd91dc5ee760e Mon Sep 17 00:00:00 2001 From: Yingwei Zheng Date: Thu, 29 Feb 2024 18:57:37 +0800 Subject: [PATCH 1/2] pre-commit: test PR83405 PR Link: https://github.com/llvm/llvm-project/pull/83405 --- scripts/setup_pre_commit_patch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/setup_pre_commit_patch.sh b/scripts/setup_pre_commit_patch.sh index e65287a7be9..747063a2cbb 100755 --- a/scripts/setup_pre_commit_patch.sh +++ b/scripts/setup_pre_commit_patch.sh @@ -2,7 +2,7 @@ set -euo pipefail shopt -s inherit_errexit -export GITHUB_PATCH_ID="/llvm-project/commit/" +export GITHUB_PATCH_ID="llvm/llvm-project/pull/83405" # Please rebase manually # git fetch origin From 448afaf328e184327c68b568d67ca22df43333ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 00:59:47 +0800 Subject: [PATCH 2/2] pre-commit: Update --- bench/hermes/optimized/Host.cpp.ll | 38 ++-- bench/openblas/optimized/dlanv2.c.ll | 2 +- .../optimized/lapacke_dlarfb_work.c.ll | 188 +++++++++--------- 3 files changed, 109 insertions(+), 119 deletions(-) diff --git a/bench/hermes/optimized/Host.cpp.ll b/bench/hermes/optimized/Host.cpp.ll index 154923591e2..d35ac48e5e9 100644 --- a/bench/hermes/optimized/Host.cpp.ll +++ b/bench/hermes/optimized/Host.cpp.ll @@ -1562,22 +1562,19 @@ land.lhs.true100.i: ; preds = %land.end.thread.i %Features.20.ph.i = select i1 %tobool177.not.i, i32 %Features.14.ph.i, i32 %spec.select80.i %24 = and i32 %asmresult1.i94.i, 268435456 %tobool187.not.i = icmp eq i32 %24, 0 - %25 = or i1 %tobool187.not.i, %14 - %Features.21.ph.i = select i1 %25, i32 %Features.20.ph.i, i32 %Features.14.ph.i - %26 = lshr i32 %asmresult1.i94.i, 25 - %27 = and i32 %26, 16 - %28 = or disjoint i32 %20, %22 - %29 = or disjoint i32 %28, %27 - %spec.select82.i = or disjoint i32 %29, %.lobit361.i + %Features.21.ph.i = select i1 %tobool187.not.i, i32 %Features.20.ph.i, i32 %Features.14.ph.i + %25 = lshr i32 %asmresult1.i94.i, 25 + %26 = and i32 %25, 16 + %27 = or disjoint i32 %20, %22 + %28 = or disjoint i32 %27, %26 + %spec.select82.i = or disjoint i32 %28, %.lobit361.i %or219305.i = or i32 %Features.21.ph.i, 1048576 %spec.select84306.i = select i1 %14, i32 %or219305.i, i32 %Features.14.ph.i %tobool215.not303362.i = icmp slt i32 %asmresult1.i94.i, 0 - %Features.23307.i = select i1 %tobool215.not303362.i, i32 %spec.select84306.i, i32 %Features.21.ph.i - %30 = and i32 %asmresult2.i.i, 2 - %tobool225.not.i = icmp eq i32 %30, 0 - %or229.i = or i32 %Features.23307.i, 67108864 - %spec.select85.i = select i1 %14, i32 %or229.i, i32 %Features.14.ph.i - %Features.24.ph.i = select i1 %tobool225.not.i, i32 %Features.23307.i, i32 %spec.select85.i + %29 = and i32 %asmresult2.i.i, 2 + %tobool225.not.i = icmp eq i32 %29, 0 + %30 = select i1 %tobool225.not.i, i1 %tobool215.not303362.i, i1 false + %Features.24.ph.i = select i1 %30, i32 %spec.select84306.i, i32 %Features.21.ph.i br label %if.end260.i if.end260.i: ; preds = %land.lhs.true100.i, %land.end.thread.i @@ -1625,7 +1622,7 @@ sw.bb2.i: ; preds = %if.end.i123 br label %return sw.bb5.i: ; preds = %if.end.i123 - switch i32 %Model.0, label %sw.default.i [ + switch i32 %Model.0, label %if.end31.i [ i32 1, label %_ZN4llvh9StringRefC2EPKc.exit575 i32 3, label %sw.bb7.i i32 5, label %sw.bb7.i @@ -1730,12 +1727,7 @@ sw.bb24.i: ; preds = %sw.bb5.i, %sw.bb5.i sw.bb26.i: ; preds = %sw.bb5.i br label %return -sw.default.i: ; preds = %sw.bb5.i - %and28.i = and i32 %Features.27.i, 67108864 - %tobool29.not.i = icmp eq i32 %and28.i, 0 - br i1 %tobool29.not.i, label %if.end31.i, label %return - -if.end31.i: ; preds = %sw.default.i +if.end31.i: ; preds = %sw.bb5.i %and32.i = and i32 %Features.27.i, 1048576 %tobool33.not.i = icmp eq i32 %and32.i, 0 br i1 %tobool33.not.i, label %if.end35.i, label %return @@ -1927,9 +1919,9 @@ switch.lookup: ; preds = %sw.bb1.i138 %switch.load300 = load ptr, ptr %switch.gep299, align 8 br label %return -return: ; preds = %sw.bb1.i138, %switch.lookup, %if.end26.i, %sw.bb7.i133, %sw.bb6.i134, %if.end106.i, %if.then42.i, %sw.bb2.i, %sw.bb12.i129, %if.then75.i, %sw.bb24.i, %sw.bb102.i, %sw.bb10.i, %if.end85.i, %sw.bb9.i, %if.end89.i, %sw.bb8.i, %if.end93.i, %sw.bb7.i, %if.end97.i, %if.end.i123, %sw.bb26.i, %if.end35.i, %sw.bb23.i, %if.then62.i, %if.end79.thread228, %if.end68.i, %sw.bb12.i, %if.end81.i, %sw.bb11.i, %sw.default.i, %sw.bb21.i, %if.end31.i, %sw.bb20.i, %sw.bb19.i, %if.end47.i, %sw.bb18.i, %if.end51.i, %sw.bb17.i, %if.then8, %sw.bb18.i126, %if.end21.i, %if.end55.i, %sw.bb15.i, %sw.bb5.i, %sw.bb5.i, %sw.bb5.i, %if.end10.thread156, %entry, %_ZN4llvh9StringRefC2EPKc.exit745, %_ZN4llvh9StringRefC2EPKc.exit725, %_ZN4llvh9StringRefC2EPKc.exit655, %_ZN4llvh9StringRefC2EPKc.exit575, %_ZN4llvh9StringRefC2EPKc.exit545, %_ZN4llvh9StringRefC2EPKc.exit525, %_ZN4llvh9StringRefC2EPKc.exit505, %_ZN4llvh9StringRefC2EPKc.exit495, %_ZN4llvh9StringRefC2EPKc.exit305 - %retval.sroa.59.0 = phi i64 [ 9, %_ZN4llvh9StringRefC2EPKc.exit305 ], [ 6, %_ZN4llvh9StringRefC2EPKc.exit495 ], [ 6, %_ZN4llvh9StringRefC2EPKc.exit505 ], [ 3, %_ZN4llvh9StringRefC2EPKc.exit525 ], [ 4, %_ZN4llvh9StringRefC2EPKc.exit545 ], [ 10, %_ZN4llvh9StringRefC2EPKc.exit575 ], [ 4, %_ZN4llvh9StringRefC2EPKc.exit655 ], [ 13, %_ZN4llvh9StringRefC2EPKc.exit725 ], [ 7, %_ZN4llvh9StringRefC2EPKc.exit745 ], [ 7, %entry ], [ 7, %if.end10.thread156 ], [ 8, %sw.bb5.i ], [ 8, %sw.bb5.i ], [ 8, %sw.bb5.i ], [ 11, %sw.bb15.i ], [ 11, %if.end55.i ], [ 6, %if.end21.i ], [ 6, %sw.bb18.i126 ], [ 6, %if.then8 ], [ 7, %sw.bb17.i ], [ 7, %if.end51.i ], [ 9, %sw.bb18.i ], [ 9, %if.end47.i ], [ 7, %sw.bb19.i ], [ 14, %sw.bb20.i ], [ 14, %if.end31.i ], [ 10, %sw.bb21.i ], [ 10, %sw.default.i ], [ 5, %sw.bb11.i ], [ 5, %if.end81.i ], [ 6, %sw.bb12.i ], [ 6, %if.end68.i ], [ 7, %if.end79.thread228 ], [ 8, %sw.bb12.i129 ], [ 10, %if.then62.i ], [ 10, %sw.bb23.i ], [ 3, %if.end35.i ], [ 3, %sw.bb26.i ], [ 4, %if.end.i123 ], [ 8, %if.end97.i ], [ 8, %sw.bb7.i ], [ 8, %if.end93.i ], [ 8, %sw.bb8.i ], [ 9, %if.end89.i ], [ 9, %sw.bb9.i ], [ 5, %if.end85.i ], [ 5, %sw.bb10.i ], [ 6, %sw.bb102.i ], [ 8, %sw.bb24.i ], [ 5, %if.then75.i ], [ %spec.select291, %if.then42.i ], [ 6, %if.end26.i ], [ %spec.select, %sw.bb2.i ], [ 8, %if.end106.i ], [ %spec.select294, %sw.bb6.i134 ], [ %spec.select296, %sw.bb7.i133 ], [ %switch.load, %switch.lookup ], [ 7, %sw.bb1.i138 ] - %retval.sroa.0.0 = phi ptr [ @.str.118, %_ZN4llvh9StringRefC2EPKc.exit305 ], [ @.str.133, %_ZN4llvh9StringRefC2EPKc.exit495 ], [ @.str.134, %_ZN4llvh9StringRefC2EPKc.exit505 ], [ @.str.135, %_ZN4llvh9StringRefC2EPKc.exit525 ], [ @.str.137, %_ZN4llvh9StringRefC2EPKc.exit545 ], [ @.str.140, %_ZN4llvh9StringRefC2EPKc.exit575 ], [ @.str.137, %_ZN4llvh9StringRefC2EPKc.exit655 ], [ @.str.153, %_ZN4llvh9StringRefC2EPKc.exit725 ], [ @.str.1, %_ZN4llvh9StringRefC2EPKc.exit745 ], [ @.str.1, %entry ], [ @.str.109, %if.end10.thread156 ], [ @.str.110, %sw.bb5.i ], [ @.str.110, %sw.bb5.i ], [ @.str.110, %sw.bb5.i ], [ @.str.111, %sw.bb15.i ], [ @.str.111, %if.end55.i ], [ @.str.115, %if.end21.i ], [ @.str.116, %sw.bb18.i126 ], [ @.str.117, %if.then8 ], [ @.str.119, %sw.bb17.i ], [ @.str.119, %if.end51.i ], [ @.str.120, %sw.bb18.i ], [ @.str.120, %if.end47.i ], [ @.str.121, %sw.bb19.i ], [ @.str.122, %sw.bb20.i ], [ @.str.122, %if.end31.i ], [ @.str.123, %sw.bb21.i ], [ @.str.123, %sw.default.i ], [ @.str.124, %sw.bb11.i ], [ @.str.124, %if.end81.i ], [ @.str.125, %sw.bb12.i ], [ @.str.125, %if.end68.i ], [ @.str.130, %if.end79.thread228 ], [ @.str.112, %sw.bb12.i129 ], [ @.str.131, %if.then62.i ], [ @.str.131, %sw.bb23.i ], [ @.str.132, %if.end35.i ], [ @.str.132, %sw.bb26.i ], [ @.str.136, %if.end.i123 ], [ @.str.141, %if.end97.i ], [ @.str.141, %sw.bb7.i ], [ @.str.142, %if.end93.i ], [ @.str.142, %sw.bb8.i ], [ @.str.144, %if.end89.i ], [ @.str.144, %sw.bb9.i ], [ @.str.145, %if.end85.i ], [ @.str.145, %sw.bb10.i ], [ @.str.146, %sw.bb102.i ], [ @.str.152, %sw.bb24.i ], [ @.str.124, %if.then75.i ], [ %spec.select292, %if.then42.i ], [ %spec.select298, %if.end26.i ], [ %spec.select290, %sw.bb2.i ], [ %spec.select293, %if.end106.i ], [ %spec.select295, %sw.bb6.i134 ], [ %spec.select297, %sw.bb7.i133 ], [ %switch.load300, %switch.lookup ], [ @.str.138, %sw.bb1.i138 ] +return: ; preds = %sw.bb1.i138, %switch.lookup, %if.end26.i, %sw.bb7.i133, %sw.bb6.i134, %if.end106.i, %if.then42.i, %sw.bb2.i, %sw.bb12.i129, %if.then75.i, %sw.bb24.i, %sw.bb102.i, %sw.bb10.i, %if.end85.i, %sw.bb9.i, %if.end89.i, %sw.bb8.i, %if.end93.i, %sw.bb7.i, %if.end97.i, %if.end.i123, %sw.bb26.i, %if.end35.i, %sw.bb23.i, %if.then62.i, %if.end79.thread228, %if.end68.i, %sw.bb12.i, %if.end81.i, %sw.bb11.i, %sw.bb21.i, %if.end31.i, %sw.bb20.i, %sw.bb19.i, %if.end47.i, %sw.bb18.i, %if.end51.i, %sw.bb17.i, %if.then8, %sw.bb18.i126, %if.end21.i, %if.end55.i, %sw.bb15.i, %sw.bb5.i, %sw.bb5.i, %sw.bb5.i, %if.end10.thread156, %entry, %_ZN4llvh9StringRefC2EPKc.exit745, %_ZN4llvh9StringRefC2EPKc.exit725, %_ZN4llvh9StringRefC2EPKc.exit655, %_ZN4llvh9StringRefC2EPKc.exit575, %_ZN4llvh9StringRefC2EPKc.exit545, %_ZN4llvh9StringRefC2EPKc.exit525, %_ZN4llvh9StringRefC2EPKc.exit505, %_ZN4llvh9StringRefC2EPKc.exit495, %_ZN4llvh9StringRefC2EPKc.exit305 + %retval.sroa.59.0 = phi i64 [ 9, %_ZN4llvh9StringRefC2EPKc.exit305 ], [ 6, %_ZN4llvh9StringRefC2EPKc.exit495 ], [ 6, %_ZN4llvh9StringRefC2EPKc.exit505 ], [ 3, %_ZN4llvh9StringRefC2EPKc.exit525 ], [ 4, %_ZN4llvh9StringRefC2EPKc.exit545 ], [ 10, %_ZN4llvh9StringRefC2EPKc.exit575 ], [ 4, %_ZN4llvh9StringRefC2EPKc.exit655 ], [ 13, %_ZN4llvh9StringRefC2EPKc.exit725 ], [ 7, %_ZN4llvh9StringRefC2EPKc.exit745 ], [ 7, %entry ], [ 7, %if.end10.thread156 ], [ 8, %sw.bb5.i ], [ 8, %sw.bb5.i ], [ 8, %sw.bb5.i ], [ 11, %sw.bb15.i ], [ 11, %if.end55.i ], [ 6, %if.end21.i ], [ 6, %sw.bb18.i126 ], [ 6, %if.then8 ], [ 7, %sw.bb17.i ], [ 7, %if.end51.i ], [ 9, %sw.bb18.i ], [ 9, %if.end47.i ], [ 7, %sw.bb19.i ], [ 14, %sw.bb20.i ], [ 14, %if.end31.i ], [ 10, %sw.bb21.i ], [ 5, %sw.bb11.i ], [ 5, %if.end81.i ], [ 6, %sw.bb12.i ], [ 6, %if.end68.i ], [ 7, %if.end79.thread228 ], [ 8, %sw.bb12.i129 ], [ 10, %if.then62.i ], [ 10, %sw.bb23.i ], [ 3, %if.end35.i ], [ 3, %sw.bb26.i ], [ 4, %if.end.i123 ], [ 8, %if.end97.i ], [ 8, %sw.bb7.i ], [ 8, %if.end93.i ], [ 8, %sw.bb8.i ], [ 9, %if.end89.i ], [ 9, %sw.bb9.i ], [ 5, %if.end85.i ], [ 5, %sw.bb10.i ], [ 6, %sw.bb102.i ], [ 8, %sw.bb24.i ], [ 5, %if.then75.i ], [ %spec.select291, %if.then42.i ], [ 6, %if.end26.i ], [ %spec.select, %sw.bb2.i ], [ 8, %if.end106.i ], [ %spec.select294, %sw.bb6.i134 ], [ %spec.select296, %sw.bb7.i133 ], [ %switch.load, %switch.lookup ], [ 7, %sw.bb1.i138 ] + %retval.sroa.0.0 = phi ptr [ @.str.118, %_ZN4llvh9StringRefC2EPKc.exit305 ], [ @.str.133, %_ZN4llvh9StringRefC2EPKc.exit495 ], [ @.str.134, %_ZN4llvh9StringRefC2EPKc.exit505 ], [ @.str.135, %_ZN4llvh9StringRefC2EPKc.exit525 ], [ @.str.137, %_ZN4llvh9StringRefC2EPKc.exit545 ], [ @.str.140, %_ZN4llvh9StringRefC2EPKc.exit575 ], [ @.str.137, %_ZN4llvh9StringRefC2EPKc.exit655 ], [ @.str.153, %_ZN4llvh9StringRefC2EPKc.exit725 ], [ @.str.1, %_ZN4llvh9StringRefC2EPKc.exit745 ], [ @.str.1, %entry ], [ @.str.109, %if.end10.thread156 ], [ @.str.110, %sw.bb5.i ], [ @.str.110, %sw.bb5.i ], [ @.str.110, %sw.bb5.i ], [ @.str.111, %sw.bb15.i ], [ @.str.111, %if.end55.i ], [ @.str.115, %if.end21.i ], [ @.str.116, %sw.bb18.i126 ], [ @.str.117, %if.then8 ], [ @.str.119, %sw.bb17.i ], [ @.str.119, %if.end51.i ], [ @.str.120, %sw.bb18.i ], [ @.str.120, %if.end47.i ], [ @.str.121, %sw.bb19.i ], [ @.str.122, %sw.bb20.i ], [ @.str.122, %if.end31.i ], [ @.str.123, %sw.bb21.i ], [ @.str.124, %sw.bb11.i ], [ @.str.124, %if.end81.i ], [ @.str.125, %sw.bb12.i ], [ @.str.125, %if.end68.i ], [ @.str.130, %if.end79.thread228 ], [ @.str.112, %sw.bb12.i129 ], [ @.str.131, %if.then62.i ], [ @.str.131, %sw.bb23.i ], [ @.str.132, %if.end35.i ], [ @.str.132, %sw.bb26.i ], [ @.str.136, %if.end.i123 ], [ @.str.141, %if.end97.i ], [ @.str.141, %sw.bb7.i ], [ @.str.142, %if.end93.i ], [ @.str.142, %sw.bb8.i ], [ @.str.144, %if.end89.i ], [ @.str.144, %sw.bb9.i ], [ @.str.145, %if.end85.i ], [ @.str.145, %sw.bb10.i ], [ @.str.146, %sw.bb102.i ], [ @.str.152, %sw.bb24.i ], [ @.str.124, %if.then75.i ], [ %spec.select292, %if.then42.i ], [ %spec.select298, %if.end26.i ], [ %spec.select290, %sw.bb2.i ], [ %spec.select293, %if.end106.i ], [ %spec.select295, %sw.bb6.i134 ], [ %spec.select297, %sw.bb7.i133 ], [ %switch.load300, %switch.lookup ], [ @.str.138, %sw.bb1.i138 ] %.fca.0.insert = insertvalue { ptr, i64 } poison, ptr %retval.sroa.0.0, 0 %.fca.1.insert = insertvalue { ptr, i64 } %.fca.0.insert, i64 %retval.sroa.59.0, 1 ret { ptr, i64 } %.fca.1.insert diff --git a/bench/openblas/optimized/dlanv2.c.ll b/bench/openblas/optimized/dlanv2.c.ll index 9f1577b079a..f2e9264d3b3 100644 --- a/bench/openblas/optimized/dlanv2.c.ll +++ b/bench/openblas/optimized/dlanv2.c.ll @@ -114,7 +114,7 @@ define void @dlanv2_(ptr nocapture noundef %0, ptr nocapture noundef %1, ptr nou %78 = fcmp oge double %74, %77 %79 = select i1 %78, double %74, double %77 %80 = fcmp ole double %74, %77 - %81 = select i1 %80, double %74, double %77 + %81 = select i1 %80, double %74, double %47 %82 = fneg double %81 %83 = select i1 %72, double %82, double %81 %84 = fneg double %83 diff --git a/bench/openblas/optimized/lapacke_dlarfb_work.c.ll b/bench/openblas/optimized/lapacke_dlarfb_work.c.ll index 82b581920bc..675b1c4cc9f 100644 --- a/bench/openblas/optimized/lapacke_dlarfb_work.c.ll +++ b/bench/openblas/optimized/lapacke_dlarfb_work.c.ll @@ -35,14 +35,14 @@ define noundef i32 @LAPACKE_dlarfb_work(i32 noundef %0, i8 noundef signext %1, i call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #7 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #7 - switch i32 %0, label %97 [ + switch i32 %0, label %95 [ i32 102, label %31 i32 101, label %32 ] 31: ; preds = %16 call void @dlarfb_(ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef %8, ptr noundef nonnull %24, ptr noundef %10, ptr noundef nonnull %25, ptr noundef %12, ptr noundef nonnull %26, ptr noundef %14, ptr noundef nonnull %27, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1) #7 - br label %98 + br label %96 32: ; preds = %16 %33 = tail call i32 @LAPACKE_lsame(i8 noundef signext %1, i8 noundef signext 108) #8 @@ -56,118 +56,116 @@ define noundef i32 @LAPACKE_dlarfb_work(i32 noundef %0, i8 noundef signext %1, i %41 = select i1 %36, i32 1, i32 %7 %42 = select i1 %40, i32 %41, i32 %6 %43 = select i1 %38, i32 %5, i32 %42 - %44 = select i1 %39, i1 %37, i1 false - %45 = select i1 %37, i32 1, i32 %6 - %46 = select i1 %36, i32 %7, i32 %45 - %47 = select i1 %44, i32 %5, i32 %46 - %48 = icmp ne i32 %35, 0 - %49 = and i1 %36, %48 - %50 = or i32 %35, %34 - %51 = icmp eq i32 %50, 0 - %52 = or i1 %49, %51 - %53 = select i1 %52, i8 108, i8 117 - %54 = tail call i32 @llvm.smax.i32(i32 %5, i32 1) - store i32 %54, ptr %28, align 4, !tbaa !6 - %55 = tail call i32 @llvm.smax.i32(i32 %7, i32 1) - store i32 %55, ptr %29, align 4, !tbaa !6 - %56 = tail call i32 @llvm.smax.i32(i32 %43, i32 1) - store i32 %56, ptr %30, align 4, !tbaa !6 - %57 = icmp slt i32 %13, %6 - br i1 %57, label %58, label %59 - -58: ; preds = %32 + %44 = select i1 %39, i32 %5, i32 1 + %45 = select i1 %37, i32 %44, i32 %6 + %46 = icmp ne i32 %35, 0 + %47 = and i1 %36, %46 + %48 = or i32 %35, %34 + %49 = icmp eq i32 %48, 0 + %50 = or i1 %47, %49 + %51 = select i1 %50, i8 108, i8 117 + %52 = tail call i32 @llvm.smax.i32(i32 %5, i32 1) + store i32 %52, ptr %28, align 4, !tbaa !6 + %53 = tail call i32 @llvm.smax.i32(i32 %7, i32 1) + store i32 %53, ptr %29, align 4, !tbaa !6 + %54 = tail call i32 @llvm.smax.i32(i32 %43, i32 1) + store i32 %54, ptr %30, align 4, !tbaa !6 + %55 = icmp slt i32 %13, %6 + br i1 %55, label %56, label %57 + +56: ; preds = %32 tail call void @LAPACKE_xerbla(ptr noundef nonnull @.str, i32 noundef -14) #7 - br label %98 + br label %96 -59: ; preds = %32 - %60 = icmp slt i32 %11, %7 - br i1 %60, label %61, label %62 +57: ; preds = %32 + %58 = icmp slt i32 %11, %7 + br i1 %58, label %59, label %60 -61: ; preds = %59 +59: ; preds = %57 tail call void @LAPACKE_xerbla(ptr noundef nonnull @.str, i32 noundef -12) #7 - br label %98 + br label %96 -62: ; preds = %59 - %63 = icmp sgt i32 %47, %9 - br i1 %63, label %64, label %65 +60: ; preds = %57 + %61 = icmp sgt i32 %45, %9 + br i1 %61, label %62, label %63 -64: ; preds = %62 +62: ; preds = %60 tail call void @LAPACKE_xerbla(ptr noundef nonnull @.str, i32 noundef -10) #7 - br label %98 + br label %96 -65: ; preds = %62 - %66 = select i1 %36, i32 %43, i32 %47 - %67 = icmp slt i32 %66, %7 - br i1 %67, label %68, label %69 +63: ; preds = %60 + %64 = select i1 %36, i32 %43, i32 %45 + %65 = icmp slt i32 %64, %7 + br i1 %65, label %66, label %67 -68: ; preds = %65 +66: ; preds = %63 tail call void @LAPACKE_xerbla(ptr noundef nonnull @.str, i32 noundef -8) #7 - br label %98 - -69: ; preds = %65 - %70 = zext nneg i32 %56 to i64 - %71 = tail call i32 @llvm.smax.i32(i32 %47, i32 1) - %72 = zext nneg i32 %71 to i64 - %73 = shl nuw nsw i64 %72, 3 - %74 = mul i64 %73, %70 - %75 = tail call noalias ptr @malloc(i64 noundef %74) #9 - %76 = icmp eq ptr %75, null - br i1 %76, label %.thread, label %77 - -77: ; preds = %69 - %78 = zext nneg i32 %55 to i64 - %79 = shl nuw nsw i64 %78, 3 - %80 = mul i64 %79, %78 - %81 = tail call noalias ptr @malloc(i64 noundef %80) #9 - %82 = icmp eq ptr %81, null - br i1 %82, label %.thread8, label %83 - -.thread8: ; preds = %77 - tail call void @free(ptr noundef nonnull %75) #7 + br label %96 + +67: ; preds = %63 + %68 = zext nneg i32 %54 to i64 + %69 = tail call i32 @llvm.smax.i32(i32 %45, i32 1) + %70 = zext nneg i32 %69 to i64 + %71 = shl nuw nsw i64 %70, 3 + %72 = mul i64 %71, %68 + %73 = tail call noalias ptr @malloc(i64 noundef %72) #9 + %74 = icmp eq ptr %73, null + br i1 %74, label %.thread, label %75 + +75: ; preds = %67 + %76 = zext nneg i32 %53 to i64 + %77 = shl nuw nsw i64 %76, 3 + %78 = mul i64 %77, %76 + %79 = tail call noalias ptr @malloc(i64 noundef %78) #9 + %80 = icmp eq ptr %79, null + br i1 %80, label %.thread8, label %81 + +.thread8: ; preds = %75 + tail call void @free(ptr noundef nonnull %73) #7 br label %.thread -83: ; preds = %77 - %84 = zext nneg i32 %54 to i64 - %85 = shl nuw nsw i64 %84, 3 - %86 = tail call i32 @llvm.smax.i32(i32 %6, i32 1) - %87 = zext nneg i32 %86 to i64 - %88 = mul i64 %85, %87 - %89 = tail call noalias ptr @malloc(i64 noundef %88) #9 - %90 = icmp eq ptr %89, null - br i1 %90, label %95, label %91 - -91: ; preds = %83 - tail call void @LAPACKE_dtz_trans(i32 noundef 101, i8 noundef signext %3, i8 noundef signext %53, i8 noundef signext 117, i32 noundef %43, i32 noundef %47, ptr noundef %8, i32 noundef %9, ptr noundef nonnull %75, i32 noundef %56) #7 - tail call void @LAPACKE_dge_trans(i32 noundef 101, i32 noundef %7, i32 noundef %7, ptr noundef %10, i32 noundef %11, ptr noundef nonnull %81, i32 noundef %55) #7 - tail call void @LAPACKE_dge_trans(i32 noundef 101, i32 noundef %5, i32 noundef %6, ptr noundef %12, i32 noundef %13, ptr noundef nonnull %89, i32 noundef %54) #7 - call void @dlarfb_(ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %75, ptr noundef nonnull %30, ptr noundef nonnull %81, ptr noundef nonnull %29, ptr noundef nonnull %89, ptr noundef nonnull %28, ptr noundef %14, ptr noundef nonnull %27, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1) #7 - %92 = load i32, ptr %21, align 4, !tbaa !6 - %93 = load i32, ptr %22, align 4, !tbaa !6 - %94 = load i32, ptr %28, align 4, !tbaa !6 - call void @LAPACKE_dge_trans(i32 noundef 102, i32 noundef %92, i32 noundef %93, ptr noundef nonnull %89, i32 noundef %94, ptr noundef %12, i32 noundef %13) #7 - call void @free(ptr noundef nonnull %89) #7 - br label %95 - -95: ; preds = %83, %91 - %96 = phi i32 [ 0, %91 ], [ -1011, %83 ] - call void @free(ptr noundef nonnull %81) #7 - call void @free(ptr noundef nonnull %75) #7 - br i1 %90, label %.thread, label %98 - -.thread: ; preds = %69, %.thread8, %95 +81: ; preds = %75 + %82 = zext nneg i32 %52 to i64 + %83 = shl nuw nsw i64 %82, 3 + %84 = tail call i32 @llvm.smax.i32(i32 %6, i32 1) + %85 = zext nneg i32 %84 to i64 + %86 = mul i64 %83, %85 + %87 = tail call noalias ptr @malloc(i64 noundef %86) #9 + %88 = icmp eq ptr %87, null + br i1 %88, label %93, label %89 + +89: ; preds = %81 + tail call void @LAPACKE_dtz_trans(i32 noundef 101, i8 noundef signext %3, i8 noundef signext %51, i8 noundef signext 117, i32 noundef %43, i32 noundef %45, ptr noundef %8, i32 noundef %9, ptr noundef nonnull %73, i32 noundef %54) #7 + tail call void @LAPACKE_dge_trans(i32 noundef 101, i32 noundef %7, i32 noundef %7, ptr noundef %10, i32 noundef %11, ptr noundef nonnull %79, i32 noundef %53) #7 + tail call void @LAPACKE_dge_trans(i32 noundef 101, i32 noundef %5, i32 noundef %6, ptr noundef %12, i32 noundef %13, ptr noundef nonnull %87, i32 noundef %52) #7 + call void @dlarfb_(ptr noundef nonnull %17, ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef nonnull %73, ptr noundef nonnull %30, ptr noundef nonnull %79, ptr noundef nonnull %29, ptr noundef nonnull %87, ptr noundef nonnull %28, ptr noundef %14, ptr noundef nonnull %27, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1) #7 + %90 = load i32, ptr %21, align 4, !tbaa !6 + %91 = load i32, ptr %22, align 4, !tbaa !6 + %92 = load i32, ptr %28, align 4, !tbaa !6 + call void @LAPACKE_dge_trans(i32 noundef 102, i32 noundef %90, i32 noundef %91, ptr noundef nonnull %87, i32 noundef %92, ptr noundef %12, i32 noundef %13) #7 + call void @free(ptr noundef nonnull %87) #7 + br label %93 + +93: ; preds = %81, %89 + %94 = phi i32 [ 0, %89 ], [ -1011, %81 ] + call void @free(ptr noundef nonnull %79) #7 + call void @free(ptr noundef nonnull %73) #7 + br i1 %88, label %.thread, label %96 + +.thread: ; preds = %67, %.thread8, %93 call void @LAPACKE_xerbla(ptr noundef nonnull @.str, i32 noundef -1011) #7 - br label %98 + br label %96 -97: ; preds = %16 +95: ; preds = %16 tail call void @LAPACKE_xerbla(ptr noundef nonnull @.str, i32 noundef -1) #7 - br label %98 + br label %96 -98: ; preds = %97, %.thread, %95, %68, %64, %61, %58, %31 - %99 = phi i32 [ -14, %58 ], [ -12, %61 ], [ -10, %64 ], [ -8, %68 ], [ 0, %31 ], [ -1011, %.thread ], [ %96, %95 ], [ -1, %97 ] +96: ; preds = %95, %.thread, %93, %66, %62, %59, %56, %31 + %97 = phi i32 [ -14, %56 ], [ -12, %59 ], [ -10, %62 ], [ -8, %66 ], [ 0, %31 ], [ -1011, %.thread ], [ %94, %93 ], [ -1, %95 ] call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #7 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7 - ret i32 %99 + ret i32 %97 } ; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)