LLVM: lib/DWARFCFIChecker/Registers.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_DWARFCFICHECKER_REGISTERS_H

16#define LLVM_DWARFCFICHECKER_REGISTERS_H

17

20

21namespace llvm {

22

23

24

25

29

32 for (auto &&RegClass : MCRI->regclasses())

33 for (unsigned I = 0; I < RegClass.getNumRegs(); I++) {

37 }

38

41 return SuperRegs;

42}

43

49 return TrackingRegs;

50}

51

54 return Reg;

57 return SuperReg;

58

59 llvm_unreachable("Should either be a super reg, or have a super reg");

60}

61

62}

63

64#endif

MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...

iterator_range< regclass_iterator > regclasses() const

iterator_range< MCSuperRegIterator > superregs(MCRegister Reg) const

Return an iterator range over all super-registers of Reg, excluding Reg.

bool isConstant(MCRegister RegNo) const

Returns true if the given register is constant.

bool isArtificial(MCRegister RegNo) const

Returns true if the given register is artificial, which means it represents a regunit that is not sep...

Wrapper class representing physical registers. Should be passed by value.

iterator erase(const_iterator CI)

void push_back(const T &Elt)

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

#define llvm_unreachable(msg)

Marks that the current location is not supposed to be reachable.

This is an optimization pass for GlobalISel generic memory operations.

SmallVector< MCPhysReg > getTrackingRegs(const MCRegisterInfo *MCRI)

Definition Registers.h:44

auto unique(Range &&R, Predicate P)

void sort(IteratorTy Start, IteratorTy End)

SmallVector< MCPhysReg > getSuperRegs(const MCRegisterInfo *MCRI)

Definition Registers.h:30

MCRegister getSuperReg(const MCRegisterInfo *MCRI, MCRegister Reg)

Definition Registers.h:52

bool isSuperReg(const MCRegisterInfo *MCRI, MCRegister Reg)

This analysis only keeps track and cares about super registers, not the subregisters.

Definition Registers.h:26