class OffloadAction
Declaration
class OffloadAction : public Action { /* full declaration omitted */ };
Description
An offload action combines host or/and device actions according to the programming model implementation needs and propagates the offloading kind to its dependences.
Declared at: clang/include/clang/Driver/Action.h:269
Inherits from: Action
Member Variables
- private const clang::driver::ToolChain* HostTC = nullptr
- The host offloading toolchain that should be used with the action.
- private DeviceDependences::ToolChainList DevToolChains
- The tool chains associated with the list of actions.
Inherited from Action:
- protected ActiveOffloadKindMask = 0U
- protected OffloadingDeviceKind = OFK_None
- protected OffloadingArch = nullptr
- protected OffloadingToolChain = nullptr
Method Overview
- public OffloadAction(const clang::driver::OffloadAction::HostDependence & HDep)
- public OffloadAction(const clang::driver::OffloadAction::DeviceDependences & DDeps, types::ID Ty)
- public OffloadAction(const clang::driver::OffloadAction::HostDependence & HDep, const clang::driver::OffloadAction::DeviceDependences & DDeps)
- private virtual void anchor()
- public static bool classof(const clang::driver::Action * A)
- public void doOnEachDependence(const clang::driver::OffloadAction::OffloadActionWorkTy & Work) const
- public void doOnEachDependence(bool IsHostDependence, const clang::driver::OffloadAction::OffloadActionWorkTy & Work) const
- public void doOnEachDeviceDependence(const clang::driver::OffloadAction::OffloadActionWorkTy & Work) const
- public void doOnHostDependence(const clang::driver::OffloadAction::OffloadActionWorkTy & Work) const
- public clang::driver::Action * getHostDependence() const
- public clang::driver::Action * getSingleDeviceDependence(bool DoNotConsiderHostActions = false) const
- public bool hasHostDependence() const
- public bool hasSingleDeviceDependence(bool DoNotConsiderHostActions = false) const
Inherited from Action:
- public GetOffloadKindName
- public GetOffloadingFileNamePrefix
- public getClassName
- public getClassName
- public getInputs
- public getInputs
- public getKind
- public getOffloadingArch
- public getOffloadingDeviceKind
- public getOffloadingHostActiveKinds
- public getOffloadingKindPrefix
- public getOffloadingToolChain
- public getType
- public input_begin
- public input_begin
- public input_end
- public input_end
- public inputs
- public inputs
- public isCollapsingWithNextDependentActionLegal
- public isDeviceOffloading
- public isHostOffloading
- public isOffloading
- public propagateDeviceOffloadInfo
- public propagateHostOffloadInfo
- public propagateOffloadInfo
- public setCannotBeCollapsedWithNextDependentAction
- public setHostOffloadInfo
- public size
Methods
¶OffloadAction(const clang::driver::OffloadAction::
HostDependence& HDep)
OffloadAction(const clang::driver::OffloadAction::
HostDependence& HDep)
Declared at: clang/include/clang/Driver/Action.h:356
Parameters
- const clang::driver::OffloadAction:: HostDependence& HDep
¶OffloadAction(const clang::driver::OffloadAction::
DeviceDependences& DDeps,
types::ID Ty)
OffloadAction(const clang::driver::OffloadAction::
DeviceDependences& DDeps,
types::ID Ty)
Declared at: clang/include/clang/Driver/Action.h:357
Parameters
- const clang::driver::OffloadAction:: DeviceDependences& DDeps
- types::ID Ty
¶OffloadAction(const clang::driver::OffloadAction::
HostDependence& HDep,
const clang::driver::OffloadAction::
DeviceDependences& DDeps)
OffloadAction(const clang::driver::OffloadAction::
HostDependence& HDep,
const clang::driver::OffloadAction::
DeviceDependences& DDeps)
Declared at: clang/include/clang/Driver/Action.h:358
Parameters
- const clang::driver::OffloadAction:: HostDependence& HDep
- const clang::driver::OffloadAction:: DeviceDependences& DDeps
¶virtual void anchor()
virtual void anchor()
Declared at: clang/include/clang/Driver/Action.h:270
¶static bool classof(
const clang::driver::Action* A)
static bool classof(
const clang::driver::Action* A)
Declared at: clang/include/clang/Driver/Action.h:392
Parameters
- const clang::driver::Action* A
¶void doOnEachDependence(
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
void doOnEachDependence(
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
Description
Execute the work specified in \a Work on each dependence.
Declared at: clang/include/clang/Driver/Action.h:367
Parameters
- const clang::driver::OffloadAction:: OffloadActionWorkTy& Work
¶void doOnEachDependence(
bool IsHostDependence,
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
void doOnEachDependence(
bool IsHostDependence,
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
Description
Execute the work specified in \a Work on each host or device dependence if\a IsHostDependenceto is true or false, respectively.
Declared at: clang/include/clang/Driver/Action.h:371
Parameters
- bool IsHostDependence
- const clang::driver::OffloadAction:: OffloadActionWorkTy& Work
¶void doOnEachDeviceDependence(
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
void doOnEachDeviceDependence(
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
Description
Execute the work specified in \a Work on each device dependence.
Declared at: clang/include/clang/Driver/Action.h:364
Parameters
- const clang::driver::OffloadAction:: OffloadActionWorkTy& Work
¶void doOnHostDependence(
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
void doOnHostDependence(
const clang::driver::OffloadAction::
OffloadActionWorkTy& Work) const
Description
Execute the work specified in \a Work on the host dependence.
Declared at: clang/include/clang/Driver/Action.h:361
Parameters
- const clang::driver::OffloadAction:: OffloadActionWorkTy& Work
¶clang::driver::Action* getHostDependence() const
clang::driver::Action* getHostDependence() const
Description
Return the host dependence of this action. This function is only expected to be called if the host dependence exists.
Declared at: clang/include/clang/Driver/Action.h:379
¶clang::driver::Action* getSingleDeviceDependence(
bool DoNotConsiderHostActions = false) const
clang::driver::Action* getSingleDeviceDependence(
bool DoNotConsiderHostActions = false) const
Description
Return the single device dependence of this action. This function is only expected to be called if a single device dependence exists. If \a DoNotConsiderHostActions is set, a host dependence is allowed.
Declared at: clang/include/clang/Driver/Action.h:390
Parameters
- bool DoNotConsiderHostActions = false
¶bool hasHostDependence() const
bool hasHostDependence() const
Description
Return true if the action has a host dependence.
Declared at: clang/include/clang/Driver/Action.h:375
¶bool hasSingleDeviceDependence(
bool DoNotConsiderHostActions = false) const
bool hasSingleDeviceDependence(
bool DoNotConsiderHostActions = false) const
Description
Return true if the action has a single device dependence. If \a DoNotConsiderHostActions is set, ignore the host dependence, if any, while accounting for the number of dependences.
Declared at: clang/include/clang/Driver/Action.h:384
Parameters
- bool DoNotConsiderHostActions = false