LLVM: include/llvm/CodeGen/MIRSampleProfile.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_CODEGEN_MIRSAMPLEPROFILE_H

15#define LLVM_CODEGEN_MIRSAMPLEPROFILE_H

16

21#include

22#include

23

24namespace llvm {

29

30namespace vfs {

32}

33

35

39 std::string ProfileFileName;

41 unsigned LowBit;

42 unsigned HighBit;

43

44public:

45 static char ID;

46

48 std::string RemappingFileName = "",

51

52

54

56

57private:

60 bool doInitialization(Module &M) override;

61 void getAnalysisUsage(AnalysisUsage &AU) const override;

62

63 std::unique_ptr MIRSampleLoader;

64

66};

67

68}

69

70#endif

This file defines the RefCountedBase, ThreadSafeRefCountedBase, and IntrusiveRefCntPtr classes.

Represent the analysis usage information of a pass.

A smart pointer to a reference-counted object that inherits from RefCountedBase or ThreadSafeRefCount...

static char ID

Definition MIRSampleProfile.h:45

const MachineFunction * getMachineFunction() const

getMachineFunction - Return the last machine function computed.

Definition MIRSampleProfile.h:53

MIRProfileLoaderPass(std::string FileName="", std::string RemappingFileName="", FSDiscriminatorPass P=FSDiscriminatorPass::Pass1, IntrusiveRefCntPtr< vfs::FileSystem > FS=nullptr)

FS bits will only use the '1' bits in the Mask.

StringRef getPassName() const override

getPassName - Return a nice clean name for a pass.

Definition MIRSampleProfile.h:55

MachineBlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate machine basic b...

MachineFunctionPass(char &ID)

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

StringRef - Represent a constant reference to a string, i.e.

The virtual file system interface.

This is an optimization pass for GlobalISel generic memory operations.