LLVM: include/llvm/Analysis/LoopUnrollAnalyzer.h Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_ANALYSIS_LOOPUNROLLANALYZER_H

16#define LLVM_ANALYSIS_LOOPUNROLLANALYZER_H

17

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40namespace llvm {

42

46 struct SimplifiedAddress {

47 Value *Base = nullptr;

49 };

50

51public:

55 : SimplifiedValues(SimplifiedValues), SE(SE), L(L) {

56 IterationNumber = SE.getConstant(APInt(64, Iteration));

57 }

58

59

61

62private:

63

64

65

66

67

68

70

71

72

73 const SCEV *IterationNumber;

74

75

76

77

78

79

81

83 const Loop *L;

84

86

93};

94}

95#endif

This file implements a class to represent arbitrary precision integral constant values and operations...

This file defines the DenseMap class.

Class for arbitrary precision integers.

This is the base class for all instructions that perform data casts.

This class is the base class for the comparison instructions.

Base class for instruction visitors.

void visit(Iterator Start, Iterator End)

An instruction for reading from memory.

Represents a single loop in the control flow graph.

This class represents an analyzed expression in the program.

The main scalar evolution driver.

UnrolledInstAnalyzer(unsigned Iteration, DenseMap< Value *, Value * > &SimplifiedValues, ScalarEvolution &SE, const Loop *L)

Definition LoopUnrollAnalyzer.h:52

LLVM Value Representation.

This is an optimization pass for GlobalISel generic memory operations.