13#ifndef LLVM_LIB_TARGET_MIPS_MIPS16ISELLOWERING_H
14#define LLVM_LIB_TARGET_MIPS_MIPS16ISELLOWERING_H
27 unsigned *
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 CmpiXOpc,
bool ImmSigned,
CCState - This class holds information needed while lowering arguments and return values.
Representation of each machine instruction.
Flags
Flags values. These may be or'd together.
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, Align Alignment, MachineMemOperand::Flags Flags, unsigned *Fast) const override
Determine if the target supports unaligned memory accesses.
MipsFunctionInfo - This class is derived from MachineFunction private Mips target-specific informatio...
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
std::vector< ArgListEntry > ArgListTy
The instances of the Type class are immutable: once they are created, they are never changed.
@ Fast
Attempts to make calls as fast as possible (e.g.
This is an optimization pass for GlobalISel generic memory operations.
This struct is a compact representation of a valid (non-zero power of two) alignment.
This structure contains all information that is necessary for lowering calls.