[llvm] 9892094 - [SLC] Use unsigned char to fix test failures on some platforms
Dávid Bolvanský via llvm-commits
llvm-commits at lists.llvm.org
Sun May 7 06:50:56 PDT 2023
Author: Dávid Bolvanský
Date: 2023-05-07T15:50:49+02:00
New Revision: 9892094a8b6f73b5bc5a5d1ac6bac45fad8ce719
URL: https://github.com/llvm/llvm-project/commit/9892094a8b6f73b5bc5a5d1ac6bac45fad8ce719
DIFF: https://github.com/llvm/llvm-project/commit/9892094a8b6f73b5bc5a5d1ac6bac45fad8ce719.diff
LOG: [SLC] Use unsigned char to fix test failures on some platforms
Added:
Modified:
llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
llvm/test/Transforms/InstCombine/memchr.ll
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
index 400c316fc1a1..3ef3a88d243e 100644
--- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
@@ -1413,7 +1413,7 @@ Value *LibCallSimplifier::optimizeMemChr(CallInst *CI, IRBuilderBase &B) {
return nullptr;
SmallVector<Value *> CharCompares;
- for (char C : SortedStr)
+ for (unsigned char C : SortedStr)
CharCompares.push_back(
B.CreateICmpEQ(CharVal, ConstantInt::get(CharVal->getType(), C)));
diff --git a/llvm/test/Transforms/InstCombine/memchr.ll b/llvm/test/Transforms/InstCombine/memchr.ll
index 213238cfdea1..f4b6734cfd7d 100644
--- a/llvm/test/Transforms/InstCombine/memchr.ll
+++ b/llvm/test/Transforms/InstCombine/memchr.ll
@@ -174,9 +174,11 @@ define i1 @test14(i32 %C) {
define i1 @test15(i32 %C) {
; CHECK-LABEL: @test15(
-; CHECK-NEXT: [[TMP1:%.*]] = add i32 [[C:%.*]], 2
-; CHECK-NEXT: [[TMP2:%.*]] = icmp ult i32 [[TMP1]], 3
-; CHECK-NEXT: ret i1 [[TMP2]]
+; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[C:%.*]], 0
+; CHECK-NEXT: [[TMP2:%.*]] = and i32 [[C]], -2
+; CHECK-NEXT: [[TMP3:%.*]] = icmp eq i32 [[TMP2]], 254
+; CHECK-NEXT: [[TMP4:%.*]] = or i1 [[TMP3]], [[TMP1]]
+; CHECK-NEXT: ret i1 [[TMP4]]
;
%dst = call ptr @memchr(ptr @negative, i32 %C, i32 3)
%cmp = icmp ne ptr %dst, null
More information about the llvm-commits
mailing list