mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 08:17:40 +00:00
[C++] Use 'nullptr'. Transforms edition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207196 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -75,7 +75,7 @@ static Value *FindScalarElement(Value *V, unsigned EltNo) {
|
||||
if (InsertElementInst *III = dyn_cast<InsertElementInst>(V)) {
|
||||
// If this is an insert to a variable element, we don't know what it is.
|
||||
if (!isa<ConstantInt>(III->getOperand(2)))
|
||||
return 0;
|
||||
return nullptr;
|
||||
unsigned IIElt = cast<ConstantInt>(III->getOperand(2))->getZExtValue();
|
||||
|
||||
// If this is an insert to the element we are looking for, return the
|
||||
@@ -99,14 +99,14 @@ static Value *FindScalarElement(Value *V, unsigned EltNo) {
|
||||
}
|
||||
|
||||
// Extract a value from a vector add operation with a constant zero.
|
||||
Value *Val = 0; Constant *Con = 0;
|
||||
Value *Val = nullptr; Constant *Con = nullptr;
|
||||
if (match(V, m_Add(m_Value(Val), m_Constant(Con)))) {
|
||||
if (Con->getAggregateElement(EltNo)->isNullValue())
|
||||
return FindScalarElement(Val, EltNo);
|
||||
}
|
||||
|
||||
// Otherwise, we don't know.
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// If we have a PHI node with a vector type that has only 2 uses: feed
|
||||
@@ -115,7 +115,7 @@ static Value *FindScalarElement(Value *V, unsigned EltNo) {
|
||||
Instruction *InstCombiner::scalarizePHI(ExtractElementInst &EI, PHINode *PN) {
|
||||
// Verify that the PHI node has exactly 2 uses. Otherwise return NULL.
|
||||
if (!PN->hasNUses(2))
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
// If so, it's known at this point that one operand is PHI and the other is
|
||||
// an extractelement node. Find the PHI user that is not the extractelement
|
||||
@@ -130,7 +130,7 @@ Instruction *InstCombiner::scalarizePHI(ExtractElementInst &EI, PHINode *PN) {
|
||||
// otherwise return NULL.
|
||||
if (!PHIUser->hasOneUse() || !(PHIUser->user_back() == PN) ||
|
||||
!(isa<BinaryOperator>(PHIUser)) || !CheapToScalarize(PHIUser, true))
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
// Create a scalar PHI node that will replace the vector PHI node
|
||||
// just before the current PHI node.
|
||||
@@ -320,7 +320,7 @@ Instruction *InstCombiner::visitExtractElementInst(ExtractElementInst &EI) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/// CollectSingleShuffleElements - If V is a shuffle of values that ONLY returns
|
||||
@@ -442,7 +442,7 @@ static ShuffleOps CollectShuffleElements(Value *V,
|
||||
|
||||
// Either the extracted from or inserted into vector must be RHSVec,
|
||||
// otherwise we'd end up with a shuffle of three inputs.
|
||||
if (EI->getOperand(0) == PermittedRHS || PermittedRHS == 0) {
|
||||
if (EI->getOperand(0) == PermittedRHS || PermittedRHS == nullptr) {
|
||||
Value *RHS = EI->getOperand(0);
|
||||
ShuffleOps LR = CollectShuffleElements(VecOp, Mask, RHS);
|
||||
assert(LR.second == 0 || LR.second == RHS);
|
||||
@@ -525,13 +525,14 @@ Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) {
|
||||
// (and any insertelements it points to), into one big shuffle.
|
||||
if (!IE.hasOneUse() || !isa<InsertElementInst>(IE.user_back())) {
|
||||
SmallVector<Constant*, 16> Mask;
|
||||
ShuffleOps LR = CollectShuffleElements(&IE, Mask, 0);
|
||||
ShuffleOps LR = CollectShuffleElements(&IE, Mask, nullptr);
|
||||
|
||||
// The proposed shuffle may be trivial, in which case we shouldn't
|
||||
// perform the combine.
|
||||
if (LR.first != &IE && LR.second != &IE) {
|
||||
// We now have a shuffle of LHS, RHS, Mask.
|
||||
if (LR.second == 0) LR.second = UndefValue::get(LR.first->getType());
|
||||
if (LR.second == nullptr)
|
||||
LR.second = UndefValue::get(LR.first->getType());
|
||||
return new ShuffleVectorInst(LR.first, LR.second,
|
||||
ConstantVector::get(Mask));
|
||||
}
|
||||
@@ -548,7 +549,7 @@ Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) {
|
||||
return &IE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/// Return true if we can evaluate the specified expression tree if the vector
|
||||
@@ -934,16 +935,16 @@ Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
|
||||
ShuffleVectorInst* RHSShuffle = dyn_cast<ShuffleVectorInst>(RHS);
|
||||
if (LHSShuffle)
|
||||
if (!isa<UndefValue>(LHSShuffle->getOperand(1)) && !isa<UndefValue>(RHS))
|
||||
LHSShuffle = NULL;
|
||||
LHSShuffle = nullptr;
|
||||
if (RHSShuffle)
|
||||
if (!isa<UndefValue>(RHSShuffle->getOperand(1)))
|
||||
RHSShuffle = NULL;
|
||||
RHSShuffle = nullptr;
|
||||
if (!LHSShuffle && !RHSShuffle)
|
||||
return MadeChange ? &SVI : 0;
|
||||
return MadeChange ? &SVI : nullptr;
|
||||
|
||||
Value* LHSOp0 = NULL;
|
||||
Value* LHSOp1 = NULL;
|
||||
Value* RHSOp0 = NULL;
|
||||
Value* LHSOp0 = nullptr;
|
||||
Value* LHSOp1 = nullptr;
|
||||
Value* RHSOp0 = nullptr;
|
||||
unsigned LHSOp0Width = 0;
|
||||
unsigned RHSOp0Width = 0;
|
||||
if (LHSShuffle) {
|
||||
@@ -975,11 +976,11 @@ Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
|
||||
// case 4
|
||||
if (LHSOp0 == RHSOp0) {
|
||||
newLHS = LHSOp0;
|
||||
newRHS = NULL;
|
||||
newRHS = nullptr;
|
||||
}
|
||||
|
||||
if (newLHS == LHS && newRHS == RHS)
|
||||
return MadeChange ? &SVI : 0;
|
||||
return MadeChange ? &SVI : nullptr;
|
||||
|
||||
SmallVector<int, 16> LHSMask;
|
||||
SmallVector<int, 16> RHSMask;
|
||||
@@ -1039,7 +1040,7 @@ Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
|
||||
// If newRHS == newLHS, we want to remap any references from newRHS to
|
||||
// newLHS so that we can properly identify splats that may occur due to
|
||||
// obfuscation across the two vectors.
|
||||
if (eltMask >= 0 && newRHS != NULL && newLHS != newRHS)
|
||||
if (eltMask >= 0 && newRHS != nullptr && newLHS != newRHS)
|
||||
eltMask += newLHSWidth;
|
||||
}
|
||||
|
||||
@@ -1065,10 +1066,10 @@ Instruction *InstCombiner::visitShuffleVectorInst(ShuffleVectorInst &SVI) {
|
||||
Elts.push_back(ConstantInt::get(Int32Ty, newMask[i]));
|
||||
}
|
||||
}
|
||||
if (newRHS == NULL)
|
||||
if (!newRHS)
|
||||
newRHS = UndefValue::get(newLHS->getType());
|
||||
return new ShuffleVectorInst(newLHS, newRHS, ConstantVector::get(Elts));
|
||||
}
|
||||
|
||||
return MadeChange ? &SVI : 0;
|
||||
return MadeChange ? &SVI : nullptr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user