Skip to content

Commit b2cd81c

Browse files
[IR] Simplify comparisons with std::optional (NFC) (#105624)
For variable X of type std::optional, X && X.value_or(Y) == Z is equivalent to X == Z when Y != Z.
1 parent 6b11573 commit b2cd81c

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

llvm/lib/IR/VectorBuilder.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@ Value *VectorBuilder::createVectorInstructionImpl(Intrinsic::ID VPID,
9696
// Insert mask and evl operands in between the instruction operands.
9797
for (size_t VPParamIdx = 0, ParamIdx = 0; VPParamIdx < NumVPParams;
9898
++VPParamIdx) {
99-
if ((MaskPosOpt && MaskPosOpt.value_or(NumVPParams) == VPParamIdx) ||
100-
(VLenPosOpt && VLenPosOpt.value_or(NumVPParams) == VPParamIdx))
99+
if (MaskPosOpt == VPParamIdx || VLenPosOpt == VPParamIdx)
101100
continue;
102101
assert(ParamIdx < NumInstParams);
103102
IntrinParams[VPParamIdx] = InstOpArray[ParamIdx++];

0 commit comments

Comments
 (0)