[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
This commit is contained in:
eopXD 2022-05-30 13:40:06 -07:00
parent c825abd6b0
commit 51002bdb5e
1 changed files with 24 additions and 0 deletions

View File

@ -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 }