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

Momchil Velikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 18 09:51:33 PDT 2022


chill created this revision.
Herald added a project: All.
chill requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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


https://reviews.llvm.org/D136184

Files:
  llvm/test/Transforms/FunctionSpecialization/no-spec-unused-arg.ll


Index: llvm/test/Transforms/FunctionSpecialization/no-spec-unused-arg.ll
===================================================================
--- /dev/null
+++ llvm/test/Transforms/FunctionSpecialization/no-spec-unused-arg.ll
@@ -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.
\ No newline at end of file


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D136184.468599.patch
Type: text/x-patch
Size: 843 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221018/650a191e/attachment.bin>


More information about the llvm-commits mailing list