14 #ifndef LLVM_LIB_TARGET_MIPS_MIPS16ISELLOWERING_H
15 #define LLVM_LIB_TARGET_MIPS_MIPS16ISELLOWERING_H
27 bool *
Fast)
const override;
34 bool isEligibleForTailCallOptimization(
35 const CCState &CCInfo,
unsigned NextStackOffset,
38 void setMips16HardFloatLibCalls();
41 getMips16HelperFunctionStubNumber(
ArgListTy &Args)
const;
43 const char *getMips16HelperFunction
48 std::deque< std::pair<unsigned, SDValue> > &RegsToPass,
49 bool IsPICCall,
bool GlobalOrExternal,
bool InternalLinkage,
69 unsigned BtOpc,
unsigned CmpiOpc,
unsigned CmpiXOpc,
bool ImmSigned,
77 unsigned SltiOpc,
unsigned SltiXOpc,
Mips16TargetLowering(const MipsTargetMachine &TM, const MipsSubtarget &STI)
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
The instances of the Type class are immutable: once they are created, they are never changed...
EVT - Extended Value Type.
std::vector< ArgListEntry > ArgListTy
This structure contains all information that is necessary for lowering calls.
CCState - This class holds information needed while lowering arguments and return values...
static cl::opt< AlignMode > Align(cl::desc("Load/store alignment support"), cl::Hidden, cl::init(NoStrictAlign), cl::values(clEnumValN(StrictAlign,"aarch64-strict-align","Disallow all unaligned memory accesses"), clEnumValN(NoStrictAlign,"aarch64-no-strict-align","Allow unaligned memory accesses"), clEnumValEnd))
Representation of each machine instruction.
Fast - This calling convention attempts to make calls as fast as possible (e.g.
MipsFunctionInfo - This class is derived from MachineFunction private Mips target-specific informatio...
MachineBasicBlock * EmitInstrWithCustomInserter(MachineInstr *MI, MachineBasicBlock *MBB) const override
This method should be implemented by targets that mark instructions with the 'usesCustomInserter' fla...
bool allowsMisalignedMemoryAccesses(EVT VT, unsigned AddrSpace, unsigned Align, bool *Fast) const override
Determine if the target supports unaligned memory accesses.
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation...