assert(Lex.getKind() == lltok::kw_funcFlags);
Lex.Lex();
- if (parseToken(lltok::colon, "expected ':' in funcFlags") |
- parseToken(lltok::lparen, "expected '(' in funcFlags"))
+ if ((int)parseToken(lltok::colon, "expected ':' in funcFlags") |
+ (int)parseToken(lltok::lparen, "expected '(' in funcFlags"))
return true;
do {
assert(Lex.getKind() == lltok::kw_vTableFuncs);
Lex.Lex();
- if (parseToken(lltok::colon, "expected ':' in vTableFuncs") |
- parseToken(lltok::lparen, "expected '(' in vTableFuncs"))
+ if ((int)parseToken(lltok::colon, "expected ':' in vTableFuncs") |
+ (int)parseToken(lltok::lparen, "expected '(' in vTableFuncs"))
return true;
IdToIndexMapType IdToIndexMap;
if (auto *SrcGEP = dyn_cast<GetElementPtrInst>(V))
if (auto *DestGEP = dyn_cast<GetElementPtrInst>(this))
- DestGEP->setIsInBounds(SrcGEP->isInBounds() | DestGEP->isInBounds());
+ DestGEP->setIsInBounds(SrcGEP->isInBounds() || DestGEP->isInBounds());
}
void Instruction::andIRFlags(const Value *V) {
if (auto *OB = dyn_cast<OverflowingBinaryOperator>(V)) {
if (isa<OverflowingBinaryOperator>(this)) {
- setHasNoSignedWrap(hasNoSignedWrap() & OB->hasNoSignedWrap());
- setHasNoUnsignedWrap(hasNoUnsignedWrap() & OB->hasNoUnsignedWrap());
+ setHasNoSignedWrap(hasNoSignedWrap() && OB->hasNoSignedWrap());
+ setHasNoUnsignedWrap(hasNoUnsignedWrap() && OB->hasNoUnsignedWrap());
}
}
if (auto *PE = dyn_cast<PossiblyExactOperator>(V))
if (isa<PossiblyExactOperator>(this))
- setIsExact(isExact() & PE->isExact());
+ setIsExact(isExact() && PE->isExact());
if (auto *FP = dyn_cast<FPMathOperator>(V)) {
if (isa<FPMathOperator>(this)) {
if (auto *SrcGEP = dyn_cast<GetElementPtrInst>(V))
if (auto *DestGEP = dyn_cast<GetElementPtrInst>(this))
- DestGEP->setIsInBounds(SrcGEP->isInBounds() & DestGEP->isInBounds());
+ DestGEP->setIsInBounds(SrcGEP->isInBounds() && DestGEP->isInBounds());
}
const char *Instruction::getOpcodeName(unsigned OpCode) {
if (ChainSize > VF || (VF != TargetVF && TargetVF < ChainSize)) {
LLVM_DEBUG(dbgs() << "LSV: Chain doesn't match with the vector factor."
" Creating two separate arrays.\n");
- return vectorizeStoreChain(Chain.slice(0, TargetVF),
- InstructionsProcessed) |
- vectorizeStoreChain(Chain.slice(TargetVF), InstructionsProcessed);
+ bool Vectorized = false;
+ Vectorized |=
+ vectorizeStoreChain(Chain.slice(0, TargetVF), InstructionsProcessed);
+ Vectorized |=
+ vectorizeStoreChain(Chain.slice(TargetVF), InstructionsProcessed);
+ return Vectorized;
}
LLVM_DEBUG({
if (accessIsMisaligned(SzInBytes, AS, Alignment)) {
if (S0->getPointerAddressSpace() != DL.getAllocaAddrSpace()) {
auto Chains = splitOddVectorElts(Chain, Sz);
- return vectorizeStoreChain(Chains.first, InstructionsProcessed) |
- vectorizeStoreChain(Chains.second, InstructionsProcessed);
+ bool Vectorized = false;
+ Vectorized |= vectorizeStoreChain(Chains.first, InstructionsProcessed);
+ Vectorized |= vectorizeStoreChain(Chains.second, InstructionsProcessed);
+ return Vectorized;
}
Align NewAlign = getOrEnforceKnownAlignment(S0->getPointerOperand(),
if (!TTI.isLegalToVectorizeStoreChain(SzInBytes, Alignment, AS)) {
auto Chains = splitOddVectorElts(Chain, Sz);
- return vectorizeStoreChain(Chains.first, InstructionsProcessed) |
- vectorizeStoreChain(Chains.second, InstructionsProcessed);
+ bool Vectorized = false;
+ Vectorized |= vectorizeStoreChain(Chains.first, InstructionsProcessed);
+ Vectorized |= vectorizeStoreChain(Chains.second, InstructionsProcessed);
+ return Vectorized;
}
BasicBlock::iterator First, Last;
if (ChainSize > VF || (VF != TargetVF && TargetVF < ChainSize)) {
LLVM_DEBUG(dbgs() << "LSV: Chain doesn't match with the vector factor."
" Creating two separate arrays.\n");
- return vectorizeLoadChain(Chain.slice(0, TargetVF), InstructionsProcessed) |
- vectorizeLoadChain(Chain.slice(TargetVF), InstructionsProcessed);
+ bool Vectorized = false;
+ Vectorized |=
+ vectorizeLoadChain(Chain.slice(0, TargetVF), InstructionsProcessed);
+ Vectorized |=
+ vectorizeLoadChain(Chain.slice(TargetVF), InstructionsProcessed);
+ return Vectorized;
}
// We won't try again to vectorize the elements of the chain, regardless of
if (accessIsMisaligned(SzInBytes, AS, Alignment)) {
if (L0->getPointerAddressSpace() != DL.getAllocaAddrSpace()) {
auto Chains = splitOddVectorElts(Chain, Sz);
- return vectorizeLoadChain(Chains.first, InstructionsProcessed) |
- vectorizeLoadChain(Chains.second, InstructionsProcessed);
+ bool Vectorized = false;
+ Vectorized |= vectorizeLoadChain(Chains.first, InstructionsProcessed);
+ Vectorized |= vectorizeLoadChain(Chains.second, InstructionsProcessed);
+ return Vectorized;
}
Align NewAlign = getOrEnforceKnownAlignment(L0->getPointerOperand(),
if (!TTI.isLegalToVectorizeLoadChain(SzInBytes, Alignment, AS)) {
auto Chains = splitOddVectorElts(Chain, Sz);
- return vectorizeLoadChain(Chains.first, InstructionsProcessed) |
- vectorizeLoadChain(Chains.second, InstructionsProcessed);
+ bool Vectorized = false;
+ Vectorized |= vectorizeLoadChain(Chains.first, InstructionsProcessed);
+ Vectorized |= vectorizeLoadChain(Chains.second, InstructionsProcessed);
+ return Vectorized;
}
LLVM_DEBUG({