[PATCH] D135715: [Clang] Do not build the OffloadActionBuilder when using the new driver
Joseph Huber via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 11 15:46:35 PDT 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGadf36ea32891: [Clang] Do not build the OffloadActionBuilder when using the new driver (authored by jhuber6).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D135715/new/
https://reviews.llvm.org/D135715
Files:
clang/lib/Driver/Driver.cpp
Index: clang/lib/Driver/Driver.cpp
===================================================================
--- clang/lib/Driver/Driver.cpp
+++ clang/lib/Driver/Driver.cpp
@@ -3952,14 +3952,17 @@
handleArguments(C, Args, Inputs, Actions);
- // Builder to be used to build offloading actions.
- OffloadingActionBuilder OffloadBuilder(C, Args, Inputs);
-
bool UseNewOffloadingDriver =
C.isOffloadingHostKind(Action::OFK_OpenMP) ||
Args.hasFlag(options::OPT_offload_new_driver,
options::OPT_no_offload_new_driver, false);
+ // Builder to be used to build offloading actions.
+ std::unique_ptr<OffloadingActionBuilder> OffloadBuilder =
+ !UseNewOffloadingDriver
+ ? std::make_unique<OffloadingActionBuilder>(C, Args, Inputs)
+ : nullptr;
+
// Construct the actions to perform.
HeaderModulePrecompileJobAction *HeaderModuleAction = nullptr;
ExtractAPIJobAction *ExtractAPIAction = nullptr;
@@ -3982,14 +3985,14 @@
// Use the current host action in any of the offloading actions, if
// required.
if (!UseNewOffloadingDriver)
- if (OffloadBuilder.addHostDependenceToDeviceActions(Current, InputArg))
+ if (OffloadBuilder->addHostDependenceToDeviceActions(Current, InputArg))
break;
for (phases::ID Phase : PL) {
// Add any offload action the host action depends on.
if (!UseNewOffloadingDriver)
- Current = OffloadBuilder.addDeviceDependencesToHostAction(
+ Current = OffloadBuilder->addDeviceDependencesToHostAction(
Current, InputArg, Phase, PL.back(), FullPL);
if (!Current)
break;
@@ -4052,7 +4055,7 @@
// Use the current host action in any of the offloading actions, if
// required.
if (!UseNewOffloadingDriver)
- if (OffloadBuilder.addHostDependenceToDeviceActions(Current, InputArg))
+ if (OffloadBuilder->addHostDependenceToDeviceActions(Current, InputArg))
break;
// Try to build the offloading actions and add the result as a dependency
@@ -4070,7 +4073,7 @@
// Add any top level actions generated for offloading.
if (!UseNewOffloadingDriver)
- OffloadBuilder.appendTopLevelActions(Actions, Current, InputArg);
+ OffloadBuilder->appendTopLevelActions(Actions, Current, InputArg);
else if (Current)
Current->propagateHostOffloadInfo(C.getActiveOffloadKinds(),
/*BoundArch=*/nullptr);
@@ -4082,12 +4085,12 @@
Arg *FinalPhaseArg;
if (getFinalPhase(Args, &FinalPhaseArg) == phases::Link)
if (!UseNewOffloadingDriver)
- OffloadBuilder.appendDeviceLinkActions(Actions);
+ OffloadBuilder->appendDeviceLinkActions(Actions);
}
if (!LinkerInputs.empty()) {
if (!UseNewOffloadingDriver)
- if (Action *Wrapper = OffloadBuilder.makeHostLinkAction())
+ if (Action *Wrapper = OffloadBuilder->makeHostLinkAction())
LinkerInputs.push_back(Wrapper);
Action *LA;
// Check if this Linker Job should emit a static library.
@@ -4102,7 +4105,7 @@
LA = C.MakeAction<LinkJobAction>(LinkerInputs, types::TY_Image);
}
if (!UseNewOffloadingDriver)
- LA = OffloadBuilder.processHostLinkAction(LA);
+ LA = OffloadBuilder->processHostLinkAction(LA);
Actions.push_back(LA);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135715.466956.patch
Type: text/x-patch
Size: 3364 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221011/68da8b82/attachment-0001.bin>
More information about the cfe-commits
mailing list