LLVM: include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12#ifndef LLVM_TRANSFORMS_VECTORIZE_SANDBOXVECTORIZER_PASSES_BOTTOMUPVEC_H

13#define LLVM_TRANSFORMS_VECTORIZE_SANDBOXVECTORIZER_PASSES_BOTTOMUPVEC_H

14

22

24

25

26

27

28

29

30

31

32

33

34

36 bool Change = false;

37

39

40 std::unique_ptr IMaps;

41

42

43 unsigned long BottomUpInvocationCnt = 0;

44

45

46

48

49

50 void tryEraseDeadInstrs();

51

52

55

56

58

59

60

61

63

64

65 class ActionsVector {

66 private:

68

69 public:

70 auto begin() const { return Actions.begin(); }

71 auto end() const { return Actions.end(); }

72 void push_back(std::unique_ptr &&ActPtr) {

73 ActPtr->Idx = Actions.size();

74 Actions.push_back(std::move(ActPtr));

75 }

76 void clear() { Actions.clear(); }

77#ifndef NDEBUG

79 void dump() const;

80#endif

81 };

82 ActionsVector Actions;

83

84

85 unsigned DebugBndlCnt = 0;

86

87

88

91

92

93 Value *emitVectors();

94

96

97public:

100};

101

102}

103

104#endif

static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")

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

Implements a dense probed hash-table based set.

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

This class implements an extremely fast bulk output stream that can only output to a stream.

bool runOnRegion(Region &Rgn, const Analyses &A) final

\Returns true if it modifies R.

BottomUpVec()

Definition BottomUpVec.h:98

Performs the legality analysis and returns a LegalityResult object.

LLVM_ABI_FOR_TEST virtual LLVM_DUMP_METHOD void dump() const

virtual void print(raw_ostream &OS) const

RegionPass(StringRef Name)

Name can't contain any spaces or start with '-'.

The main job of the Region is to point to new instructions generated by vectorization passes.

A SandboxIR Value has users. This is the base class.

BasicBlock(llvm::BasicBlock *BB, Context &SBCtx)

LLVM_ABI iterator begin() const