[PATCH] D50769: [ARM] Typesize lower bound for ARMCodeGenPrepare
Phabricator via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 15 06:30:28 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL339770: [ARM] TypeSize lower bound for ARMCodeGenPrepare (authored by sam_parker, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D50769?vs=160781&id=160791#toc
Repository:
rL LLVM
https://reviews.llvm.org/D50769
Files:
llvm/trunk/lib/Target/ARM/ARMCodeGenPrepare.cpp
llvm/trunk/test/CodeGen/ARM/arm-cgp-icmps.ll
Index: llvm/trunk/lib/Target/ARM/ARMCodeGenPrepare.cpp
===================================================================
--- llvm/trunk/lib/Target/ARM/ARMCodeGenPrepare.cpp
+++ llvm/trunk/lib/Target/ARM/ARMCodeGenPrepare.cpp
@@ -562,7 +562,7 @@
bool ARMCodeGenPrepare::TryToPromote(Value *V) {
OrigTy = V->getType();
TypeSize = OrigTy->getPrimitiveSizeInBits();
- if (TypeSize > 16)
+ if (TypeSize > 16 || TypeSize < 8)
return false;
if (!isSupportedValue(V) || !shouldPromote(V) || !isLegalToPromote(V))
Index: llvm/trunk/test/CodeGen/ARM/arm-cgp-icmps.ll
===================================================================
--- llvm/trunk/test/CodeGen/ARM/arm-cgp-icmps.ll
+++ llvm/trunk/test/CodeGen/ARM/arm-cgp-icmps.ll
@@ -256,3 +256,27 @@
ret i32 %res
}
+; CHECK-COMMON-LABEL: icmp_i1
+; CHECK-NOT: uxt
+define i32 @icmp_i1(i1* %arg0, i1 zeroext %arg1, i32 %a, i32 %b) {
+entry:
+ %load = load i1, i1* %arg0
+ %not = xor i1 %load, 1
+ %cmp = icmp eq i1 %arg1, %not
+ %res = select i1 %cmp, i32 %a, i32 %b
+ ret i32 %res
+}
+
+; CHECK-COMMON-LABEL: icmp_i7
+; CHECK-COMMON: ldrb
+; CHECK-COMMON: and
+; CHECK-COMMON: cmp
+define i32 @icmp_i7(i7* %arg0, i7 zeroext %arg1, i32 %a, i32 %b) {
+entry:
+ %load = load i7, i7* %arg0
+ %add = add nuw i7 %load, 1
+ %cmp = icmp ult i7 %arg1, %add
+ %res = select i1 %cmp, i32 %a, i32 %b
+ ret i32 %res
+}
+
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50769.160791.patch
Type: text/x-patch
Size: 1389 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180815/59d65d69/attachment.bin>
More information about the llvm-commits
mailing list