Lines Matching refs:Action
686 const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>(); in CreateOffloadingDeviceToolChains()
689 auto OFK = Action::OFK_Cuda; in CreateOffloadingDeviceToolChains()
702 const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>(); in CreateOffloadingDeviceToolChains()
704 auto OFK = Action::OFK_HIP; in CreateOffloadingDeviceToolChains()
763 C.getSingleOffloadToolChain<Action::OFK_Host>(); in CreateOffloadingDeviceToolChains()
770 *this, TT, *HostTC, C.getInputArgs(), Action::OFK_OpenMP); in CreateOffloadingDeviceToolChains()
782 C.addOffloadDeviceToolChain(TC, Action::OFK_OpenMP); in CreateOffloadingDeviceToolChains()
1944 static unsigned PrintActions1(const Compilation &C, Action *A, in PrintActions1()
1945 std::map<Action *, unsigned> &Ids, in PrintActions1() argument
1959 os << Action::getClassName(A->getKind()) << ", ";
1968 [&](Action *A, const ToolChain *TC, const char *BoundArch) { in __anon1eb752b50802()
1993 for (Action *PreRequisite : *AL) {
2032 std::map<Action *, unsigned> Ids; in PrintActions()
2033 for (Action *A : C.getActions()) in PrintActions()
2039 static bool ContainsCompileOrAssembleAction(const Action *A) { in ContainsCompileOrAssembleAction()
2044 for (const Action *Input : A->inputs()) in ContainsCompileOrAssembleAction()
2087 for (Action* Act : SingleActions) { in BuildUniversalActions()
2130 Action* LastAction = Actions.back(); in BuildUniversalActions()
2409 Action::OffloadKind AssociatedOffloadKind = Action::OFK_None;
2414 Action::OffloadKind AssociatedOffloadKind) in DeviceActionBuilder()
2431 virtual ActionBuilderReturnCode addDeviceDepences(Action *HostAction) { in addDeviceDepences()
2442 virtual Action* appendLinkHostActions(ActionList &AL) { return nullptr; } in appendLinkHostActions()
2459 Action::OffloadKind getAssociatedOffloadKind() { in getAssociatedOffloadKind()
2494 Action *CudaFatBinary = nullptr;
2516 Action::OffloadKind OFKind) in CudaActionBuilderBase()
2519 ActionBuilderReturnCode addDeviceDepences(Action *HostAction) override { in addDeviceDepences()
2614 auto AddTopLevel = [&](Action *A, TargetID TargetID) { in appendTopLevelActions()
2652 assert(AssociatedOffloadKind == Action::OFK_Cuda || in initialize()
2653 AssociatedOffloadKind == Action::OFK_HIP); in initialize()
2656 if (AssociatedOffloadKind == Action::OFK_Cuda && in initialize()
2657 !C.hasOffloadToolChain<Action::OFK_Cuda>()) in initialize()
2661 if (AssociatedOffloadKind == Action::OFK_HIP && in initialize()
2662 !C.hasOffloadToolChain<Action::OFK_HIP>()) in initialize()
2668 const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>(); in initialize()
2681 AssociatedOffloadKind == Action::OFK_Cuda in initialize()
2682 ? C.getSingleOffloadToolChain<Action::OFK_Cuda>() in initialize()
2683 : C.getSingleOffloadToolChain<Action::OFK_HIP>()); in initialize()
2767 : CudaActionBuilderBase(C, Args, Inputs, Action::OFK_Cuda) { in CudaActionBuilder()
2823 C, Args, Ph, CudaDeviceActions[I], Action::OFK_Cuda); in getDeviceDependences()
2836 Action *AssembleAction = CudaDeviceActions[I]; in getDeviceDependences()
2840 Action *BackendAction = AssembleAction->getInputs()[0]; in getDeviceDependences()
2845 DDep.add(*A, *ToolChains.front(), GpuArchList[I], Action::OFK_Cuda); in getDeviceDependences()
2858 Action::OFK_Cuda); in getDeviceDependences()
2883 for (Action *&A : CudaDeviceActions) in getDeviceDependences()
2905 : CudaActionBuilderBase(C, Args, Inputs, Action::OFK_HIP) { in HIPActionBuilder()
3040 for (Action *&A : CudaDeviceActions) in getDeviceDependences()
3098 Action* appendLinkHostActions(ActionList &AL) override { return AL.back(); } in appendLinkHostActions()
3115 : DeviceActionBuilder(C, Args, Inputs, Action::OFK_OpenMP) {} in OpenMPActionBuilder()
3146 for (Action *&A : OpenMPDeviceActions) in getDeviceDependences()
3152 ActionBuilderReturnCode addDeviceDepences(Action *HostAction) override { in addDeviceDepences()
3180 ToolChains[I], /*BoundArch=*/StringRef(), Action::OFK_OpenMP); in addDeviceDepences()
3194 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(), in addDeviceDepences()
3195 /*BoundArch=*/nullptr, Action::OFK_OpenMP); in addDeviceDepences()
3197 for (Action *&A : OpenMPDeviceActions) { in addDeviceDepences()
3200 DDep.add(*A, **TC, /*BoundArch=*/nullptr, Action::OFK_OpenMP); in addDeviceDepences()
3220 Dep.add(*A, **TI, /*BoundArch=*/nullptr, Action::OFK_OpenMP); in appendTopLevelActions()
3239 Action::OFK_OpenMP); in appendLinkDeviceActions()
3247 Action* appendLinkHostActions(ActionList &AL) override { in appendLinkHostActions()
3260 auto OpenMPTCRange = C.getOffloadToolChains<Action::OFK_OpenMP>(); in initialize()
3333 Action *
3334 addDeviceDependencesToHostAction(Action *HostAction, const Arg *InputArg, in addDeviceDependencesToHostAction()
3384 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(), in addDeviceDependencesToHostAction()
3392 bool addHostDependenceToDeviceActions(Action *&HostAction, in addHostDependenceToDeviceActions()
3410 C.getSingleOffloadToolChain<Action::OFK_Host>(), in addHostDependenceToDeviceActions()
3411 /*BoundArch=*/StringRef(), Action::OFK_Host); in addHostDependenceToDeviceActions()
3437 if (OffloadKind == Action::OFK_None && CanUseBundler) in addHostDependenceToDeviceActions()
3447 bool appendTopLevelActions(ActionList &AL, Action *HostAction, in appendTopLevelActions()
3482 Action* makeHostLinkAction() { in makeHostLinkAction()
3495 Action* HA = nullptr; in makeHostLinkAction()
3508 Action *processHostLinkAction(Action *HostAction) { in processHostLinkAction()
3537 *HostAction, *C.getSingleOffloadToolChain<Action::OFK_Host>(), in processHostLinkAction()
3636 Action *ClangClPch = C.MakeAction<InputAction>(*InputArg, HeaderType); in handleArguments()
3727 Action *Current = C.MakeAction<InputAction>(*InputArg, InputType); in BuildActions()
3775 Action *NewCurrent = ConstructPhaseAction(C, Args, Phase, Current); in BuildActions()
3805 if (Action *Wrapper = OffloadBuilder.makeHostLinkAction()) in BuildActions()
3807 Action *LA; in BuildActions()
3841 Action *Current = C.MakeAction<InputAction>(*InputArg, InputType); in BuildActions()
3884 Action *InputAc = C.MakeAction<InputAction>(*A, types::TY_C); in BuildActions()
3900 Action *Driver::ConstructPhaseAction( in ConstructPhaseAction()
3901 Compilation &C, const ArgList &Args, phases::ID Phase, Action *Input, in ConstructPhaseAction()
3902 Action::OffloadKind TargetDeviceOffloadKind) const { in ConstructPhaseAction()
3983 if (isUsingLTO() && TargetDeviceOffloadKind == Action::OFK_None) { in ConstructPhaseAction()
3989 (TargetDeviceOffloadKind == Action::OFK_HIP && in ConstructPhaseAction()
4026 for (const Action *A : C.getActions()) in BuildJobs()
4028 !(A->getKind() == Action::IfsMergeJobClass || in BuildJobs()
4030 A->getKind() == clang::driver::Action::CompileJobClass && in BuildJobs()
4032 (A->getKind() == Action::BindArchClass && A->getInputs().size() && in BuildJobs()
4033 A->getInputs().front()->getKind() == Action::IfsMergeJobClass))) in BuildJobs()
4059 std::map<std::pair<const Action *, std::string>, InputInfo> CachedResults; in BuildJobs()
4060 for (Action *A : C.getActions()) { in BuildJobs()
4080 /*TargetDeviceOffloadKind*/ Action::OFK_None); in BuildJobs()
4222 Action *CurAction = *Inputs.begin(); in getPrevDependentAction()
4409 for (Action *A : Inputs) { in combineWithPreprocessor()
4431 IsHostSelector = BaseAction->getOffloadingDeviceKind() == Action::OFK_None; in ToolSelector()
4449 const Action *CurAction = ActionChain.back().JA; in getTool()
4493 Action::OffloadKind OffloadKind) { in GetTriplePlusArchString()
4500 TriplePlusArch += Action::GetOffloadKindName(OffloadKind); in GetTriplePlusArchString()
4505 Compilation &C, const Action *A, const ToolChain *TC, StringRef BoundArch, in BuildJobsForAction()
4507 std::map<std::pair<const Action *, std::string>, InputInfo> &CachedResults, in BuildJobsForAction() argument
4508 Action::OffloadKind TargetDeviceOffloadKind) const { in BuildJobsForAction()
4509 std::pair<const Action *, std::string> ActionTC = { in BuildJobsForAction()
4523 Compilation &C, const Action *A, const ToolChain *TC, StringRef BoundArch, in BuildJobsForActionNoCache()
4525 std::map<std::pair<const Action *, std::string>, InputInfo> &CachedResults, in BuildJobsForActionNoCache() argument
4526 Action::OffloadKind TargetDeviceOffloadKind) const { in BuildJobsForActionNoCache()
4530 bool BuildingForOffloadDevice = TargetDeviceOffloadKind != Action::OFK_None; in BuildJobsForActionNoCache()
4536 C.getArgsForToolChain(TC, BoundArch, Action::OFK_None); in BuildJobsForActionNoCache()
4564 OA->doOnEachDeviceDependence([&](Action *DepA, const ToolChain *DepTC, in BuildJobsForActionNoCache()
4580 [&](Action *DepA, const ToolChain *DepTC, const char *DepBoundArch) { in BuildJobsForActionNoCache()
4634 A->getOffloadingDeviceKind() == Action::OFK_OpenMP) { in BuildJobsForActionNoCache()
4657 [&](Action *DepA, const ToolChain *DepTC, const char *DepBoundArch) { in BuildJobsForActionNoCache()
4666 for (const Action *Input : Inputs) { in BuildJobsForActionNoCache()
4716 assert(UI.DependentOffloadKind != Action::OFK_None && in BuildJobsForActionNoCache()
4723 std::string OffloadingPrefix = Action::GetOffloadingFileNamePrefix( in BuildJobsForActionNoCache()
4732 UI.DependentOffloadKind == Action::OFK_HIP, in BuildJobsForActionNoCache()
4741 if (TargetDeviceOffloadKind == Action::OFK_HIP) { in BuildJobsForActionNoCache()
4742 if (UI.DependentOffloadKind == Action::OFK_Host) in BuildJobsForActionNoCache()
4756 std::pair<const Action *, std::string> ActionTC = { in BuildJobsForActionNoCache()
4766 std::string OffloadingPrefix = Action::GetOffloadingFileNamePrefix( in BuildJobsForActionNoCache()
4856 static bool HasPreprocessOutput(const Action &JA) { in HasPreprocessOutput()
4997 bool IsHIPNoRDC = JA.getOffloadingDeviceKind() == Action::OFK_HIP && in GetNamedOutputPath()
5037 JA.getOffloadingDeviceKind() == Action::OFK_HIP && in GetNamedOutputPath()