================
@@ -0,0 +1,873 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: opt -select-optimize -mtriple=riscv64 -S < %s \
+; RUN: | FileCheck %s --check-prefix=CHECK-SELECT
+; RUN: opt -select-optimize -mtriple=riscv64 -mattr=+enable-select-opt -S < %s
\
+; RUN: | FileCheck %s --check-prefix=CHECK-BRANCH
+; RUN: opt -select-optimize -mtriple=riscv64
-mattr=+enable-select-opt,+predictable-select-expensive -S < %s \
+; RUN: | FileCheck %s --check-prefix=CHECK-BRANCH
+
+%struct.st = type { i32, i64, ptr, ptr, i16, ptr, ptr, i64, i64 }
+
+; This test has a select at the end of if.then, which is better transformed to
a branch on OoO cores.
+
+define void @replace(ptr nocapture noundef %newst, ptr noundef %t, ptr noundef
%h, i64 noundef %c, i64 noundef %rc, i64 noundef %ma, i64 noundef %n) {
----------------
arichardson wrote:
You could add an llvm_unreachable() when the new optimization fires and feed
this test case to llvm-reduce to shrink it. And once that has been done ideally
the AArch64 could also be reduced since it has a lot of noise that does not
seem relevant to the optimization.
https://github.com/llvm/llvm-project/pull/80124
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits