LLVM: lib/Target/MSP430/MSP430InstrInfo.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_MSP430_MSP430INSTRINFO_H

14#define LLVM_LIB_TARGET_MSP430_MSP430INSTRINFO_H

15

18

19#define GET_INSTRINFO_HEADER

20#include "MSP430GenInstrInfo.inc"

21

22namespace llvm {

23

24class MSP430Subtarget;

25

28 virtual void anchor();

29public:

31

32

33

34

35

37

40 bool KillSrc, bool RenamableDest = false,

41 bool RenamableSrc = false) const override;

42

51

53

54

55 bool

60 bool AllowModify) const override;

61

63 int *BytesRemoved = nullptr) const override;

67 int *BytesAdded = nullptr) const override;

68

70 assert(isFrameInstr(I) && "Not a frame instruction");

71 assert(I.getOperand(1).getImm() >= 0 && "Size must not be negative");

72 return I.getOperand(1).getImm();

73 }

74};

75

76}

77

78#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

const SmallVectorImpl< MachineOperand > MachineBasicBlock * TBB

const SmallVectorImpl< MachineOperand > & Cond

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, Register DestReg, Register SrcReg, bool KillSrc, bool RenamableDest=false, bool RenamableSrc=false) const override

unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const override

bool reverseBranchCondition(SmallVectorImpl< MachineOperand > &Cond) const override

void loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register DestReg, int FrameIdx, const TargetRegisterClass *RC, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override

unsigned getInstSizeInBytes(const MachineInstr &MI) const override

GetInstSize - Return the number of bytes of code the specified instruction may be.

const MSP430RegisterInfo & getRegisterInfo() const

getRegisterInfo - TargetInstrInfo is a superset of MRegister info.

Definition MSP430InstrInfo.h:36

MSP430InstrInfo(const MSP430Subtarget &STI)

bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify) const override

int64_t getFramePoppedByCallee(const MachineInstr &I) const

Definition MSP430InstrInfo.h:69

void storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, Register SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override

unsigned removeBranch(MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const override

MachineInstrBundleIterator< MachineInstr > iterator

Representation of each machine instruction.

Wrapper class representing virtual and physical registers.

This class consists of common code factored out of the SmallVector class to reduce code duplication b...

This is an optimization pass for GlobalISel generic memory operations.