[FuncSpec] Add a testcase for the treatment of constant and unused arguments

Increase test coverage - check that functions are not specialised on
constant or unused arguments.

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D136184
This commit is contained in:
Momchil Velikov 2022-10-26 17:25:18 +01:00
parent 14504cae9a
commit 5ea8951b88
1 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,20 @@
; RUN: opt -S --passes=function-specialization -force-function-specialization -function-specialization-for-literal-constant < %s | FileCheck %s
define internal i32 @f(i32 %x, i32 %y) noinline {
ret i32 %x
}
define i32 @g0() {
%r = call i32 @f(i32 1, i32 1)
ret i32 %r
}
define i32 @g1() {
%r = call i32 @f(i32 1, i32 2)
ret i32 %r
}
; Check that there are no specialisation of `f`: first parameter is deduced
; to be a constant without the need for function specialisation and
; the second parameter is unused.
; CHECK-NOT: @f.