LLVM: lib/Target/WebAssembly/WebAssemblySortRegion.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSORTREGION_H

15#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSORTREGION_H

16

20

21namespace llvm {

22

28

30

31

33public:

40 virtual bool isLoop() const = 0;

41};

42

44 const T *Unit;

45

46public:

50 return Unit->contains(MBB);

51 }

52 unsigned getNumBlocks() const override { return Unit->getNumBlocks(); }

54 return Unit->blocks();

55 }

56 bool isLoop() const override { return false; }

57};

58

59

60

64

69 ExceptionMap;

70

71public:

74 : MLI(MLI), WEI(WEI) {}

75

76

78

79

80

81

85};

86

87}

88

89}

90

91#endif

This file defines the DenseMap class.

const_pointer const_iterator

MachineBasicBlock * getHeader() const override

Definition WebAssemblySortRegion.h:48

ConcreteSortRegion(const T *Unit)

Definition WebAssemblySortRegion.h:47

bool isLoop() const override

Definition WebAssemblySortRegion.h:56

bool contains(const MachineBasicBlock *MBB) const override

Definition WebAssemblySortRegion.h:49

iterator_range< block_iterator > blocks() const override

Definition WebAssemblySortRegion.h:53

unsigned getNumBlocks() const override

Definition WebAssemblySortRegion.h:52

const SortRegion * getRegionFor(const MachineBasicBlock *MBB)

SortRegionInfo(const MachineLoopInfo &MLI, const WebAssemblyExceptionInfo &WEI)

Definition WebAssemblySortRegion.h:72

MachineBasicBlock * getBottom(const SortRegion *R)

ArrayRef< MachineBasicBlock * >::const_iterator block_iterator

Definition WebAssemblySortRegion.h:38

virtual bool contains(const MachineBasicBlock *MBB) const =0

virtual unsigned getNumBlocks() const =0

virtual iterator_range< block_iterator > blocks() const =0

virtual MachineBasicBlock * getHeader() const =0

virtual bool isLoop() const =0

virtual ~SortRegion()=default

A range adaptor for a pair of iterators.

This provides a very simple, boring adaptor for a begin and end iterator into a range type.

This is an optimization pass for GlobalISel generic memory operations.