Lines Matching refs:HostAction

2900     /// added to the provided host action \a HostAction. By default it is
2909 /// Update the state to include the provided host action \a HostAction as a
2911 virtual ActionBuilderReturnCode addDeviceDependences(Action *HostAction) {
3004 ActionBuilderReturnCode addDeviceDependences(Action *HostAction) override {
3011 if (auto *IA = dyn_cast<InputAction>(HostAction)) {
3066 if (auto *UA = dyn_cast<OffloadUnbundlingJobAction>(HostAction)) {
3723 void recordHostAction(Action *HostAction, const Arg *InputArg) {
3724 assert(HostAction && "Invalid host action");
3726 auto Loc = HostActionToInputArgMap.find(HostAction);
3728 HostActionToInputArgMap[HostAction] = InputArg;
3729 assert(HostActionToInputArgMap[HostAction] == InputArg &&
3735 /// HostAction. If an error is found or if no builder requires the host action
3738 addDeviceDependencesToHostAction(Action *HostAction, const Arg *InputArg,
3745 return HostAction;
3747 assert(HostAction && "Invalid host action!");
3748 recordHostAction(HostAction, InputArg);
3783 return HostAction;
3788 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(),
3796 bool addHostDependenceToDeviceActions(Action *&HostAction,
3801 recordHostAction(HostAction, InputArg);
3809 if (CanUseBundler && isa<InputAction>(HostAction) &&
3811 (!types::isSrcFile(HostAction->getType()) ||
3812 HostAction->getType() == types::TY_PP_HIP)) {
3814 C.MakeAction<OffloadUnbundlingJobAction>(HostAction);
3818 HostAction = UnbundlingHostAction;
3819 recordHostAction(HostAction, InputArg);
3822 assert(HostAction && "Invalid host action!");
3830 auto RetCode = SB->addDeviceDependences(HostAction);
3845 if (auto *UA = dyn_cast<OffloadUnbundlingJobAction>(HostAction))
3846 HostAction = UA->getInputs().back();
3854 bool appendTopLevelActions(ActionList &AL, Action *HostAction,
3856 if (HostAction)
3857 recordHostAction(HostAction, InputArg);
3869 // device only compilation, HostAction is a null pointer, therefore only do
3870 // this when HostAction is not a null pointer.
3871 if (CanUseBundler && HostAction &&
3872 HostAction->getType() != types::TY_Nothing && !OffloadAL.empty()) {
3874 OffloadAL.push_back(HostAction);
3878 assert(HostAction == AL.back() && "Host action not in the list??");
3879 HostAction = C.MakeAction<OffloadBundlingJobAction>(OffloadAL);
3880 recordHostAction(HostAction, InputArg);
3881 AL.back() = HostAction;
3887 if (HostAction)
3888 HostAction->propagateHostOffloadInfo(InputArgToOffloadKindMap[InputArg],
3927 Action *processHostLinkAction(Action *HostAction) {
3948 HostAction->setHostOffloadInfo(ActiveOffloadKinds,
3952 for (auto *A : HostAction->inputs()) {
3961 return HostAction;
3968 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(),
4577 Action *HostAction) const {
4582 !(isa<CompileJobAction>(HostAction) ||
4584 return HostAction;
4625 return HostAction;
4645 if (isa<CompileJobAction>(A) && isa<CompileJobAction>(HostAction) &&
4647 HostAction->getType() != types::TY_Nothing) {
4651 HostAction->setCannotBeCollapsedWithNextDependentAction();
4653 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(),
4707 return HostAction;
4744 }) && isa<CompileJobAction>(HostAction);
4746 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(),