Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 5,197 Lines • ▼ Show 20 Lines | bool SLPVectorizerPass::runImpl(Function &F, ScalarEvolution *SE_, | ||||
DL = &F.getParent()->getDataLayout(); | DL = &F.getParent()->getDataLayout(); | ||||
Stores.clear(); | Stores.clear(); | ||||
GEPs.clear(); | GEPs.clear(); | ||||
bool Changed = false; | bool Changed = false; | ||||
// If the target claims to have no vector registers don't attempt | // If the target claims to have no vector registers don't attempt | ||||
// vectorization. | // vectorization. | ||||
if (!TTI->getNumberOfRegisters(true)) | if (!TTI->getNumberOfRegisters(TTI->getRegisterClassForType(F.getType(), true))) | ||||
return false; | return false; | ||||
// Don't vectorize when the attribute NoImplicitFloat is used. | // Don't vectorize when the attribute NoImplicitFloat is used. | ||||
if (F.hasFnAttribute(Attribute::NoImplicitFloat)) | if (F.hasFnAttribute(Attribute::NoImplicitFloat)) | ||||
return false; | return false; | ||||
LLVM_DEBUG(dbgs() << "SLP: Analyzing blocks in " << F.getName() << ".\n"); | LLVM_DEBUG(dbgs() << "SLP: Analyzing blocks in " << F.getName() << ".\n"); | ||||
▲ Show 20 Lines • Show All 1,859 Lines • Show Last 20 Lines |