[llvm] [AggressiveInstCombine] Add tests for memchr inline threshold (NFC) (PR #121711)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 27 11:50:14 PST 2025


https://github.com/natedal updated https://github.com/llvm/llvm-project/pull/121711

>From 0e89596af66b9382c39c2248a5fe8a17c1562f3a Mon Sep 17 00:00:00 2001
From: natedal <natedalbert at gmail.com>
Date: Sun, 5 Jan 2025 18:11:55 -0500
Subject: [PATCH 1/2] [AggressiveInstCombine] Add tests for  inline threshold
 (if l=2, memchr is called)

---
 .../Transforms/AggressiveInstCombine/memchr.ll     | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/llvm/test/Transforms/AggressiveInstCombine/memchr.ll b/llvm/test/Transforms/AggressiveInstCombine/memchr.ll
index 2601b9f05a97f9..1f1938eecafe69 100644
--- a/llvm/test/Transforms/AggressiveInstCombine/memchr.ll
+++ b/llvm/test/Transforms/AggressiveInstCombine/memchr.ll
@@ -161,3 +161,17 @@ entry:
   %memchr = call ptr @memchr(ptr @str_long, i32 %x, i64 8)
   ret ptr %memchr
 }
+
+
+define ptr @test_memchr_non_constant_length2(i32 %x, i64 %len) {
+; CHECK-LABEL: define ptr @test_memchr_non_constant_length2(
+; CHECK-SAME: i32 [[X:%.*]], i64 [[LEN:%.*]]) {
+; CHECK-NEXT:  [[ENTRY:.*:]]
+; CHECK-NEXT: ; We want to check that the compiler still calls memchr:
+; CHECK-NEXT:    [[MEMCHR:%.*]] = call ptr @memchr(ptr @str, i32 [[X]], i64 [[LEN]])
+; CHECK-NEXT:    ret ptr [[MEMCHR]]
+;
+entry:
+  %memchr = call ptr @memchr(ptr @str, i32 %x, i64 %len)
+  ret ptr %memchr
+}

>From d81532b0145869870bdedf131e8717f3b1c85d1f Mon Sep 17 00:00:00 2001
From: natedal <natedalbert at gmail.com>
Date: Mon, 27 Jan 2025 13:46:06 -0600
Subject: [PATCH 2/2] Address code review comments

---
 llvm/test/Transforms/AggressiveInstCombine/memchr.ll | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/llvm/test/Transforms/AggressiveInstCombine/memchr.ll b/llvm/test/Transforms/AggressiveInstCombine/memchr.ll
index 1f1938eecafe69..b26320be634b85 100644
--- a/llvm/test/Transforms/AggressiveInstCombine/memchr.ll
+++ b/llvm/test/Transforms/AggressiveInstCombine/memchr.ll
@@ -162,12 +162,11 @@ entry:
   ret ptr %memchr
 }
 
-
+; We want to check that the compiler still calls memchr if the length is non-constant:
 define ptr @test_memchr_non_constant_length2(i32 %x, i64 %len) {
 ; CHECK-LABEL: define ptr @test_memchr_non_constant_length2(
 ; CHECK-SAME: i32 [[X:%.*]], i64 [[LEN:%.*]]) {
 ; CHECK-NEXT:  [[ENTRY:.*:]]
-; CHECK-NEXT: ; We want to check that the compiler still calls memchr:
 ; CHECK-NEXT:    [[MEMCHR:%.*]] = call ptr @memchr(ptr @str, i32 [[X]], i64 [[LEN]])
 ; CHECK-NEXT:    ret ptr [[MEMCHR]]
 ;



More information about the llvm-commits mailing list