[llvm] 51002bd - [RISCV] Precommit test case to show bug in RISCVISelDagToDag

via llvm-commits llvm-commits at lists.llvm.org
Mon May 30 15:59:28 PDT 2022


Author: eopXD
Date: 2022-05-30T15:59:20-07:00
New Revision: 51002bdb5e92bf8dec286b24ff8952bda6beb3b5

URL: https://github.com/llvm/llvm-project/commit/51002bdb5e92bf8dec286b24ff8952bda6beb3b5
DIFF: https://github.com/llvm/llvm-project/commit/51002bdb5e92bf8dec286b24ff8952bda6beb3b5.diff

LOG: [RISCV] Precommit test case to show bug in RISCVISelDagToDag

The optimization level should not be restored into O2.
This is a pre-commit test case to show fix in D126641.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D126677

Added: 
    llvm/test/CodeGen/RISCV/isel-optnone.ll

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/RISCV/isel-optnone.ll b/llvm/test/CodeGen/RISCV/isel-optnone.ll
new file mode 100644
index 0000000000000..28db6d73e04bd
--- /dev/null
+++ b/llvm/test/CodeGen/RISCV/isel-optnone.ll
@@ -0,0 +1,24 @@
+; REQUIRES: asserts
+; RUN: llc < %s -O0 -mtriple=riscv64 -debug-only=isel 2>&1 | FileCheck %s
+
+define i32* @fooOptnone(i32* %p, i32* %q, i32** %z) #0 {
+; CHECK: Changing optimization level for Function fooOptnone
+; CHECL: Before: -O2 ; After: -O0
+
+; CHECK: Restoring optimization level for Function fooOptnone
+; CHECK: Before: -O0 ; After: -O2
+entry:
+  %r = load i32, i32* %p
+  %s = load i32, i32* %q
+  %y = load i32*, i32** %z
+
+  %t0 = add i32 %r, %s
+  %t1 = add i32 %t0, 1
+  %t2 = getelementptr i32, i32* %y, i32 1
+  %t3 = getelementptr i32, i32* %t2, i32 %t1
+
+  ret i32* %t3
+
+}
+
+attributes #0 = { nounwind optnone noinline }


        


More information about the llvm-commits mailing list