LLVM: lib/Target/M68k/M68kInstrBuilder.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24#ifndef LLVM_LIB_TARGET_M68K_M68KINSTRBUILDER_H

25#define LLVM_LIB_TARGET_M68K_M68KINSTRBUILDER_H

26

35

36#include

37

38namespace llvm {

39namespace M68k {

40static inline const MachineInstrBuilder &

44

45

46

47

50 bool IsKill, int Offset) {

52}

53

54

55

56

57

65 if (MCID.mayLoad())

67 if (MCID.mayStore())

73}

74

82 if (MCID.mayLoad())

84 if (MCID.mayStore())

90}

91}

92}

93

94#endif

This file defines the SmallVector class.

Describe properties that are true of each instruction in the target description file.

The MachineFrameInfo class represents an abstract stack frame until prolog/epilog code is inserted.

Align getObjectAlign(int ObjectIdx) const

Return the alignment of the specified stack object.

int64_t getObjectSize(int ObjectIdx) const

Return the size of the specified object.

MachineMemOperand * getMachineMemOperand(MachinePointerInfo PtrInfo, MachineMemOperand::Flags f, LLT MemTy, Align base_alignment, const AAMDNodes &AAInfo=AAMDNodes(), const MDNode *Ranges=nullptr, SyncScope::ID SSID=SyncScope::System, AtomicOrdering Ordering=AtomicOrdering::NotAtomic, AtomicOrdering FailureOrdering=AtomicOrdering::NotAtomic)

getMachineMemOperand - Allocate a new MachineMemOperand.

MachineFrameInfo & getFrameInfo()

getFrameInfo - Return the frame info object for the current function.

const MachineInstrBuilder & addImm(int64_t Val) const

Add a new immediate operand.

const MachineInstrBuilder & addFrameIndex(int Idx) const

const MachineInstrBuilder & addReg(Register RegNo, unsigned flags=0, unsigned SubReg=0) const

Add a new virtual register operand.

const MachineInstrBuilder & addMemOperand(MachineMemOperand *MMO) const

Representation of each machine instruction.

A description of a memory reference used in the backend.

@ MOLoad

The memory access reads data.

@ MOStore

The memory access writes data.

Wrapper class representing virtual and physical registers.

Define some predicates that are used for node matching.

static const MachineInstrBuilder & addMemOperand(const MachineInstrBuilder &MIB, int FI, int Offset=0)

Definition M68kInstrBuilder.h:76

static const MachineInstrBuilder & addFrameReference(const MachineInstrBuilder &MIB, int FI, int Offset=0)

addFrameReference - This function is used to add a reference to the base of an abstract object on the...

Definition M68kInstrBuilder.h:59

static const MachineInstrBuilder & addRegIndirectWithDisp(const MachineInstrBuilder &MIB, Register Reg, bool IsKill, int Offset)

addRegIndirectWithDisp - This function is used to add a memory reference of the form (Offset,...

Definition M68kInstrBuilder.h:49

static const MachineInstrBuilder & addOffset(const MachineInstrBuilder &MIB, int Offset)

Definition M68kInstrBuilder.h:41

This is an optimization pass for GlobalISel generic memory operations.

unsigned getKillRegState(bool B)

static LLVM_ABI MachinePointerInfo getFixedStack(MachineFunction &MF, int FI, int64_t Offset=0)

Return a MachinePointerInfo record that refers to the specified FrameIndex.