clang 19.0.0git
Static Public Member Functions | Protected Member Functions | List of all members
clang::driver::JobAction Class Reference

#include "clang/Driver/Action.h"

Inheritance diagram for clang::driver::JobAction:
Inheritance graph
[legend]

Static Public Member Functions

static bool classof (const Action *A)
 
- Static Public Member Functions inherited from clang::driver::Action
static const char * getClassName (ActionClass AC)
 
static std::string GetOffloadingFileNamePrefix (OffloadKind Kind, StringRef NormalizedTriple, bool CreatePrefixForHost=false)
 Return a string that can be used as prefix in order to generate unique files for each offloading kind.
 
static StringRef GetOffloadKindName (OffloadKind Kind)
 Return a string containing a offload kind name.
 

Protected Member Functions

 JobAction (ActionClass Kind, Action *Input, types::ID Type)
 
 JobAction (ActionClass Kind, const ActionList &Inputs, types::ID Type)
 
- Protected Member Functions inherited from clang::driver::Action
 Action (ActionClass Kind, types::ID Type)
 
 Action (ActionClass Kind, Action *Input, types::ID Type)
 
 Action (ActionClass Kind, Action *Input)
 
 Action (ActionClass Kind, const ActionList &Inputs, types::ID Type)
 

Additional Inherited Members

- Public Types inherited from clang::driver::Action
enum  ActionClass {
  InputClass = 0 , BindArchClass , OffloadClass , PreprocessJobClass ,
  PrecompileJobClass , ExtractAPIJobClass , AnalyzeJobClass , MigrateJobClass ,
  CompileJobClass , BackendJobClass , AssembleJobClass , LinkJobClass ,
  IfsMergeJobClass , LipoJobClass , DsymutilJobClass , VerifyDebugInfoJobClass ,
  VerifyPCHJobClass , OffloadBundlingJobClass , OffloadUnbundlingJobClass , OffloadPackagerJobClass ,
  LinkerWrapperJobClass , StaticLibJobClass , BinaryAnalyzeJobClass , JobClassFirst = PreprocessJobClass ,
  JobClassLast = BinaryAnalyzeJobClass
}
 
enum  OffloadKind {
  OFK_None = 0x00 , OFK_Host = 0x01 , OFK_Cuda = 0x02 , OFK_OpenMP = 0x04 ,
  OFK_HIP = 0x08
}
 
using size_type = ActionList::size_type
 
using input_iterator = ActionList::iterator
 
using input_const_iterator = ActionList::const_iterator
 
using input_range = llvm::iterator_range< input_iterator >
 
using input_const_range = llvm::iterator_range< input_const_iterator >
 
- Public Member Functions inherited from clang::driver::Action
virtual ~Action ()
 
const char * getClassName () const
 
ActionClass getKind () const
 
types::ID getType () const
 
ActionListgetInputs ()
 
const ActionListgetInputs () const
 
size_type size () const
 
input_iterator input_begin ()
 
input_iterator input_end ()
 
input_range inputs ()
 
input_const_iterator input_begin () const
 
input_const_iterator input_end () const
 
input_const_range inputs () const
 
void setCannotBeCollapsedWithNextDependentAction ()
 Mark this action as not legal to collapse.
 
bool isCollapsingWithNextDependentActionLegal () const
 Return true if this function can be collapsed with others.
 
std::string getOffloadingKindPrefix () const
 Return a string containing the offload kind of the action.
 
void propagateDeviceOffloadInfo (OffloadKind OKind, const char *OArch, const ToolChain *OToolChain)
 Set the device offload info of this action and propagate it to its dependences.
 
void propagateHostOffloadInfo (unsigned OKinds, const char *OArch)
 Append the host offload info of this action and propagate it to its dependences.
 
void setHostOffloadInfo (unsigned OKinds, const char *OArch)
 
void propagateOffloadInfo (const Action *A)
 Set the offload info of this action to be the same as the provided action, and propagate it to its dependences.
 
unsigned getOffloadingHostActiveKinds () const
 
OffloadKind getOffloadingDeviceKind () const
 
const char * getOffloadingArch () const
 
const ToolChaingetOffloadingToolChain () const
 
bool isHostOffloading (unsigned int OKind) const
 Check if this action have any offload kinds.
 
bool isDeviceOffloading (OffloadKind OKind) const
 
bool isOffloading (OffloadKind OKind) const
 
- Protected Attributes inherited from clang::driver::Action
unsigned ActiveOffloadKindMask = 0u
 Offload information.
 
OffloadKind OffloadingDeviceKind = OFK_None
 Offloading kind of the device.
 
const char * OffloadingArch = nullptr
 The Offloading architecture associated with this action.
 
const ToolChainOffloadingToolChain = nullptr
 The Offloading toolchain associated with this device action.
 

Detailed Description

Definition at line 399 of file Action.h.

Constructor & Destructor Documentation

◆ JobAction() [1/2]

JobAction::JobAction ( ActionClass  Kind,
Action Input,
types::ID  Type 
)
protected

Definition at line 338 of file Action.cpp.

◆ JobAction() [2/2]

JobAction::JobAction ( ActionClass  Kind,
const ActionList Inputs,
types::ID  Type 
)
protected

Definition at line 341 of file Action.cpp.

Member Function Documentation

◆ classof()

static bool clang::driver::JobAction::classof ( const Action A)
inlinestatic

The documentation for this class was generated from the following files: