Update code in buildCudaActions and BuildActions to latest idiom.

Summary:
Use llvm::any_of, llvm::find, etc.

No functional changes.

Reviewers: tra

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D15936

llvm-svn: 257190
This commit is contained in:
Justin Lebar 2016-01-08 19:04:11 +00:00
parent dc3ad6fc1c
commit 23bcef990e
1 changed files with 14 additions and 18 deletions

View File

@ -1298,11 +1298,11 @@ buildCudaActions(Compilation &C, DerivedArgList &Args, const Arg *InputArg,
SmallVector<const char *, 4> GpuArchList;
llvm::StringSet<> GpuArchNames;
for (Arg *A : Args) {
if (A->getOption().matches(options::OPT_cuda_gpu_arch_EQ)) {
A->claim();
if (GpuArchNames.insert(A->getValue()).second)
GpuArchList.push_back(A->getValue());
}
if (!A->getOption().matches(options::OPT_cuda_gpu_arch_EQ))
continue;
A->claim();
if (GpuArchNames.insert(A->getValue()).second)
GpuArchList.push_back(A->getValue());
}
// Default to sm_20 which is the lowest common denominator for supported GPUs.
@ -1325,13 +1325,10 @@ buildCudaActions(Compilation &C, DerivedArgList &Args, const Arg *InputArg,
"Failed to create actions for all devices");
// Check whether any of device actions stopped before they could generate PTX.
bool PartialCompilation = false;
for (unsigned I = 0, E = GpuArchList.size(); I != E; ++I) {
if (CudaDeviceActions[I]->getKind() != Action::BackendJobClass) {
PartialCompilation = true;
break;
}
}
bool PartialCompilation =
llvm::any_of(CudaDeviceActions, [](const Action *a) {
return a->getKind() != Action::BackendJobClass;
});
// Figure out what to do with device actions -- pass them as inputs to the
// host action or run each of them independently.
@ -1470,12 +1467,11 @@ void Driver::BuildActions(Compilation &C, const ToolChain &TC,
continue;
}
phases::ID CudaInjectionPhase = FinalPhase;
for (const auto &Phase : PL)
if (Phase <= FinalPhase && Phase == phases::Compile) {
CudaInjectionPhase = Phase;
break;
}
phases::ID CudaInjectionPhase =
(phases::Compile < FinalPhase &&
llvm::find(PL, phases::Compile) != PL.end())
? phases::Compile
: FinalPhase;
// Build the pipeline for this file.
std::unique_ptr<Action> Current(new InputAction(*InputArg, InputType));