Go to the documentation of this file.
9 #ifndef LLVM_LIB_TARGET_RISCV_RISCVTARGETOBJECTFILE_H
10 #define LLVM_LIB_TARGET_RISCV_RISCVTARGETOBJECTFILE_H
20 unsigned SSThreshold = 8;
38 Align &Alignment)
const override;
This is an optimization pass for GlobalISel generic memory operations.
We currently emits eax Perhaps this is what we really should generate is Is imull three or four cycles eax eax The current instruction priority is based on pattern complexity The former is more complex because it folds a load so the latter will not be emitted Perhaps we should use AddedComplexity to give LEA32r a higher priority We should always try to match LEA first since the LEA matching code does some estimate to determine whether the match is profitable if we care more about code then imull is better It s two bytes shorter than movl leal On a Pentium M
A parsed version of the target data layout string in and methods for querying it.
Context object for machine code objects.
void getModuleMetadata(Module &M) override
Get the module-level metadata that the platform cares about.
void Initialize(MCContext &Ctx, const TargetMachine &TM) override
This method must be called before any actual lowering is done.
bool isGlobalInSmallSection(const GlobalObject *GO, const TargetMachine &TM) const
Return true if this global address should be placed into small data/bss section.
This implementation is used for RISCV ELF targets.
(vector float) vec_cmpeq(*A, *B) C
This struct is a compact representation of a valid (non-zero power of two) alignment.
This is an important base class in LLVM.
MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
MCSection * getSectionForConstant(const DataLayout &DL, SectionKind Kind, const Constant *C, Align &Alignment) const override
Given a constant with the SectionKind, return a section that it should be placed in.
Primary interface to the complete machine description for the target machine.
A Module instance is used to store all the information related to an LLVM module.
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
Instances of this class represent a uniqued identifier for a section in the current translation unit.
SectionKind - This is a simple POD value that classifies the properties of a section.
bool isInSmallSection(uint64_t Size) const
bool isConstantInSmallSection(const DataLayout &DL, const Constant *CN) const
Return true if this constant should be placed into small data section.