Skip to content

Commit b517b6a

Browse files
lamb-jronlieb
authored andcommitted
fix upstream/downstream issues
1 parent 68eda74 commit b517b6a

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

clang/lib/Driver/Driver.cpp

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4723,12 +4723,6 @@ Driver::getOffloadArchs(Compilation &C, const llvm::opt::DerivedArgList &Args,
47234723
}
47244724

47254725
llvm::DenseSet<StringRef> Archs;
4726-
4727-
if (!TC->getTargetID().empty()) {
4728-
Archs.insert(TC->getTargetID());
4729-
return llvm::SmallVector<StringRef>();
4730-
}
4731-
47324726
for (auto *Arg : C.getArgsForToolChain(&TC, /*BoundArch=*/"", Kind)) {
47334727
// Add or remove the seen architectures in order of appearance. If an
47344728
// invalid architecture is given we simply exit.
@@ -4737,40 +4731,36 @@ Driver::getOffloadArchs(Compilation &C, const llvm::opt::DerivedArgList &Args,
47374731
if (Arch == "native" || Arch.empty()) {
47384732
auto GPUsOrErr = TC.getSystemGPUArchs(Args);
47394733
if (!GPUsOrErr) {
4740-
if (!SpecificToolchain)
4741-
llvm::consumeError(GPUsOrErr.takeError());
4742-
else
4743-
TC.getDriver().Diag(diag::err_drv_undetermined_gpu_arch)
4744-
<< llvm::Triple::getArchTypeName(TC.getArch())
4745-
<< llvm::toString(GPUsOrErr.takeError()) << "--offload-arch";
4734+
TC.getDriver().Diag(diag::err_drv_undetermined_gpu_arch)
4735+
<< llvm::Triple::getArchTypeName(TC.getArch())
4736+
<< llvm::toString(GPUsOrErr.takeError()) << "--offload-arch";
47464737
continue;
47474738
}
47484739

47494740
for (auto ArchStr : *GPUsOrErr) {
4750-
StringRef CanonicalStr =
4751-
getCanonicalArchString(C, Args, Args.MakeArgString(ArchStr),
4752-
TC.getTriple());
4741+
StringRef CanonicalStr = getCanonicalArchString(
4742+
C, Args, Args.MakeArgString(ArchStr), TC.getTriple());
47534743
if (!CanonicalStr.empty())
47544744
Archs.insert(CanonicalStr);
47554745
else
47564746
return llvm::SmallVector<StringRef>();
47574747
}
47584748
} else {
4759-
StringRef CanonicalStr = getCanonicalArchString(
4760-
C, Args, Arch, TC.getTriple());
4749+
StringRef CanonicalStr =
4750+
getCanonicalArchString(C, Args, Arch, TC.getTriple());
47614751
if (!CanonicalStr.empty())
47624752
Archs.insert(CanonicalStr);
47634753
else
47644754
return llvm::SmallVector<StringRef>();
47654755
}
47664756
}
47674757
} else if (Arg->getOption().matches(options::OPT_no_offload_arch_EQ)) {
4768-
for (StringRef Arch : Arg->getValues()) {
4758+
for (StringRef Arch : Arg->getValues()) {
47694759
if (Arch == "all") {
47704760
Archs.clear();
47714761
} else {
4772-
StringRef ArchStr = getCanonicalArchString(
4773-
C, Args, Arch, TC.getTriple());
4762+
StringRef ArchStr =
4763+
getCanonicalArchString(C, Args, Arch, TC.getTriple());
47744764
Archs.erase(ArchStr);
47754765
}
47764766
}

clang/lib/Driver/ToolChains/OpaqueOffloadLinker.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ static void addSubArchsWithTargetID(Compilation &C, const ArgList &Args,
3535
const llvm::Triple &Triple,
3636
SmallVectorImpl<std::string> &subarchs) {
3737
// process OPT_offload_arch_EQ subarch specification
38+
ToolChain *TC;
3839
for (auto itr : C.getDriver().getOffloadArchs(
39-
C, C.getArgs(), Action::OFK_OpenMP, nullptr, true))
40+
C, C.getArgs(), Action::OFK_OpenMP, *TC))
4041
subarchs.push_back(itr.str());
4142

4243
// process OPT_Xopenmp_target_EQ subarch specification with march

0 commit comments

Comments
 (0)