Primary interface to the complete machine description for the target machine. All target‐specific information should be accessible through this interface.
Synopsis
Declared in <llvm/Target/TargetMachine.h>
class TargetMachine;
Member Functions
Name |
Description |
|
Deleted copy constructor; TargetMachine is not copyable. |
|
Destroy this TargetMachine and release owned MC objects. |
|
Deleted copy assignment; TargetMachine is not copyable. |
|
Adds an AsmPrinter pass to the pipeline that prints assembly or machine code from the MI representation. |
|
Add passes to emit the specified file type from the pass manager. |
|
Add passes to emit machine code for MCJIT. |
|
Build the new‐pass‐manager code generation pipeline for this target. |
|
Return whether the backend can lower the llvm.cond.loop intrinsic. |
|
Remove all Linker Optimization Hints (LOH) associated with instructions in |
|
Allocate and initialize an instance of the YAML representation of the MachineFunctionInfo. |
Create a DataLayout. |
|
|
Allocate and return a default initialized instance of the YAML representation for the MachineFunctionInfo. |
|
Create an MCStreamer for the given output streams and file type. |
|
Create the target's instance of MachineFunctionInfo. |
|
Create an instance of ScheduleDAGInstrs to be run within the standard MachineScheduler pass for this function and target at the current optimization level. |
|
Create a pass configuration object to be used by addPassToEmitX methods for generating a pipeline of CodeGen passes. |
|
Similar to createMachineScheduler but used when postRA machine scheduling is enabled. |
Return true if the AIX extended Altivec ABI is enabled. |
|
|
Return the address space for a given pseudo source kind of memory. |
Return the pointer size of the alloca address space. |
|
|
If the specified generic pointer could be assumed as a pointer to a specific address space, return that address space. |
Get the list of functions and basic block ids that need unique sections. |
|
Return how basic blocks should be emitted into their own sections. |
|
Returns the code model. The choices are small, kernel, medium, large, and target default. |
|
Return true if data objects should be emitted into their own section, corresponds to ‐fdata‐sections. |
|
Return true if static data partitioning is enabled. |
|
Return the ExceptionHandling to use, considering TargetOptions and the Triple's default. |
|
Return true if functions should be emitted into their own section, corresponding to ‐ffunction‐sections. |
|
Return true if visibility attribute should not be emitted in XCOFF, corresponding to ‐mignore‐xcoff‐visibility. |
|
Return target specific asm information. |
|
Return the target‐specific MC instruction information. |
|
Return the target‐specific MC register information. |
|
|
|
Returns the maximum code size possible under the code model. |
|
Append the mangled name of |
|
Return true if ‐O0 should prefer FastISel when available. |
|
|
Return the target object‐file lowering helper, if any. |
Returns the optimization level: None, Less, Default, or Aggressive. |
|
Return the profile‐guided optimization options for this machine. |
|
Get the pointer size for this target. |
|
Return the pointer size in bits for the given address space. |
|
|
Return the generic pointer and address space queried by a predicate. |
Return the pointer size of the program address space. |
|
Returns the code generation relocation model. The choices are static, PIC, and dynamic‐no‐pic, and target default. |
|
Return true if named sections should be emitted separately. |
|
|
Return the integer bit size used for SjLj‐based exception handling. |
This method returns a pointer to the specified type of TargetSubtargetInfo. In debug builds, it verifies that the object being returned is of the correct type. |
|
|
Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInfo‐derived member variable. |
Return the MCSymbol for the given global value. |
|
Returns the TLS model which should be used for the given global variable. |
|
Return the Target this machine was created for. |
|
Return the effective target ABI name for the module. |
|
Return the target CPU name this machine was created with. |
|
Return the target feature string this machine was created with. |
|
Get a |
|
|
Return a TargetTransformInfo for a given function. |
Return the target triple this machine was created with. |
|
Return true if unique basic block section names must be generated. |
|
Return true if unique section names should be used. |
|
Return true if XCOFF traceback table should be emitted, corresponding to ‐xcoff‐traceback‐table. |
|
Test if a DataLayout if compatible with the CodeGen for this target. |
|
Return true if a data object of |
|
Return true if |
|
|
Return true if the target is expected to pass machine verifier checks. |
|
Returns true if a cast between SrcAS and DestAS is a noop. |
Return true if code generation uses a position‐independent model. |
|
|
Parse out the target's MachineFunctionInfo from the YAML reprsentation. |
|
Allow the target to register alias analyses with the AAManager for use with the new pass manager. Only affects the "default" AAManager. |
|
Register early alias analyses with the default AAManager. |
|
Register a MachineRegisterInfo callback for the given machine function. |
|
Allow the target to modify the pass pipeline. |
Return true if the target requires a structured CFG. |
|
Enable or disable CFI fixup for this target machine. |
|
Set the code model. |
|
Enable or disable the default machine verifier. |
|
Enable or disable FastISel for this target machine. |
|
Enable or disable GlobalISel for this target machine. |
|
Set how GlobalISel aborts on failure. |
|
Set the large‐data threshold used with the code model. |
|
Enable or disable the machine outliner. |
|
Set whether ‐O0 should prefer FastISel when available. |
|
Overrides the optimization level. |
|
Set the profile‐guided optimization options for this machine. |
|
Set whether the target requires a structured CFG. |
|
Set whether the target supports debug entry values by default. |
|
Set whether the target supports default outlining. |
|
Set the target feature string used by this machine. |
|
Return true if references to |
|
|
Returns true if frontends should default to using the NewPM for this specific target. |
|
Entry point for module splitting. Targets can implement custom module splitting logic, mainly used by LTO for ‐‐lto‐partitions. |
|
True if subtarget inserts the final scheduling pass on its own. |
|
The default variant to use in unqualified |
Returns true if this target uses emulated TLS. |
|
|
True if the target wants to use interprocedural register allocation by default. |
Returns true if this target uses TLS Descriptors. |
|
|
Return true if the target uses physical registers for values. |
Diagnose conflicting command‐line codegen options and module flags. |
Static Member Functions
Name |
Description |
Parse a binutils version string into a major/minor pair. |
Data Members
Name |
Description |
Target‐specific code generation options for this machine. |
Static Data Members
Name |
Description |
The integer bit size to use for SjLj based exception handling. |
Protected Member Functions
Name |
Description |
|
Construct a TargetMachine for the given target and configuration. |
Protected Data Members
Name |
Description |
Contains target specific asm information. |
|
Code model used for code generation. |
|
DataLayout for the target: keep ABI type size and alignment. |
|
Threshold above which data is considered "large" under the code model. |
|
MC subtarget keyed by target features and target CPU. |
|
Target‐specific MC instruction information. |
|
Target‐specific MC register information. |
|
Whether ‐O0 should prefer FastISel when available. |
|
Optimization level used for code generation. |
|
Profile‐guided optimization options for this target machine. |
|
Relocation model used for code generation. |
|
Whether the target requires a structured control‐flow graph. |
|
Default MC subtarget information for this machine. |
|
Target CPU name this machine was created with. |
|
Target feature string this machine was created with. |
|
Triple string, CPU name, and target feature strings the TargetMachine instance is created with. |
|
The Target that this machine was created for. |
Non-Member Functions
Name |
Description |
This pass implements generation of target‐specific intrinsics to support handling of complex number arithmetic |
|
Create a pass that merges globals to share a base pointer. |
|
createSjLjEHPreparePass ‐ This pass adapts exception handling code to use the GCC‐style builtin setjmp/longjmp (sjlj) to handling EH control flow. |
|
Invoke every registered |
Derived Classes
Name |
Description |
Implements TargetMachine functionality for CodeGen‐based targets. |
Created with MrDocs