LLVM: include/llvm/Transforms/Scalar/Scalarizer.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18#ifndef LLVM_TRANSFORMS_SCALAR_SCALARIZER_H

19#define LLVM_TRANSFORMS_SCALAR_SCALARIZER_H

20

23

24namespace llvm {

25

28

30

31

32

33

34

35

36

37

39

40

41

43

44

45

46

47

49};

50

53

54public:

57

59

61 Options.ScalarizeVariableInsertExtract = Value;

62 }

65};

66

67

69 const ScalarizerPassOptions &Options = ScalarizerPassOptions());

70}

71

72#endif

This header defines various interfaces for pass management in LLVM.

FunctionPass class - This class is used to implement most global optimizations.

A set of analyses that are preserved following a run of a transformation pass.

LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

ScalarizerPass(const ScalarizerPassOptions &Options)

Definition Scalarizer.h:56

void setScalarizeLoadStore(bool Value)

Definition Scalarizer.h:63

void setScalarizeVariableInsertExtract(bool Value)

Definition Scalarizer.h:60

void setScalarizeMinBits(unsigned Value)

Definition Scalarizer.h:64

LLVM Value Representation.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI FunctionPass * createScalarizerPass(const ScalarizerPassOptions &Options=ScalarizerPassOptions())

Create a legacy pass manager instance of the Scalarizer pass.

AnalysisManager< Function > FunctionAnalysisManager

Convenience typedef for the Function analysis manager.

A CRTP mix-in to automatically provide informational APIs needed for passes.

Definition Scalarizer.h:29

bool ScalarizeLoadStore

Allow the scalarizer pass to scalarize loads and store.

Definition Scalarizer.h:48

unsigned ScalarizeMinBits

Instruct the scalarizer pass to attempt to keep values of a minimum number of bits.

Definition Scalarizer.h:38

bool ScalarizeVariableInsertExtract

Allow the scalarizer pass to scalarize insertelement/extractelement with variable index.

Definition Scalarizer.h:42