LLVM: include/llvm/Bitcode/BitcodeWriterPass.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_BITCODE_BITCODEWRITERPASS_H

15#define LLVM_BITCODE_BITCODEWRITERPASS_H

16

19

20namespace llvm {

25

26

27

28

29

30

31

34 bool ShouldPreserveUseListOrder = false);

35

36

38

39

40

41

42

45 bool ShouldPreserveUseListOrder;

46 bool EmitSummaryIndex;

47 bool EmitModuleHash;

48

49public:

50

51

52

53

54

55

56

58 bool ShouldPreserveUseListOrder = false,

59 bool EmitSummaryIndex = false,

60 bool EmitModuleHash = false)

61 : OS(OS), ShouldPreserveUseListOrder(ShouldPreserveUseListOrder),

62 EmitSummaryIndex(EmitSummaryIndex), EmitModuleHash(EmitModuleHash) {}

63

64

65

67

69};

70

71}

72

73#endif

This header defines various interfaces for pass management in LLVM.

static bool isRequired()

Definition BitcodeWriterPass.h:68

LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &)

Run the bitcode writer pass, and output the module to the selected output stream.

BitcodeWriterPass(raw_ostream &OS, bool ShouldPreserveUseListOrder=false, bool EmitSummaryIndex=false, bool EmitModuleHash=false)

Construct a bitcode writer pass around a particular output stream.

Definition BitcodeWriterPass.h:57

ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...

A Module instance is used to store all the information related to an LLVM module.

Pass interface - Implemented by all 'passes'.

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

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

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI ModulePass * createBitcodeWriterPass(raw_ostream &Str, bool ShouldPreserveUseListOrder=false)

Create and return a pass that writes the module to the specified ostream.

LLVM_ABI bool isBitcodeWriterPass(Pass *P)

Check whether a pass is a BitcodeWriterPass.

AnalysisManager< Module > ModuleAnalysisManager

Convenience typedef for the Module analysis manager.

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