LLVM: include/llvm/CodeGen/MIRFSDiscriminator.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

16

17#ifndef LLVM_CODEGEN_MIRFSDISCRIMINATOR_H

18#define LLVM_CODEGEN_MIRFSDISCRIMINATOR_H

19

24

25#include

26#include

27

28namespace llvm {

30

35 unsigned LowBit;

36 unsigned HighBit;

37

38public:

39 static char ID;

40

45 assert(LowBit < HighBit && "HighBit needs to be greater than Lowbit");

46 }

47

49 return "Add FS discriminators in MIR";

50 }

51

52

54

55

56

58

59

61

62private:

64};

65

66}

67

68#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

unsigned getNumFSBBs()

getNumFSBBs() - Return the number of machine BBs that have FS samples.

const MachineFunction * getMachineFunction() const

getMachineFunction - Return the current machine function.

Definition MIRFSDiscriminator.h:60

StringRef getPassName() const override

getPassName - Return a nice clean name for a pass.

Definition MIRFSDiscriminator.h:48

uint64_t getNumFSSamples()

getNumFSSamples() - Return the number of samples that have flow sensitive values.

MIRAddFSDiscriminators(FSDiscriminatorPass P=FSDiscriminatorPass::Pass1)

PassNum is the sequence number this pass is called, start from 1.

Definition MIRFSDiscriminator.h:41

static char ID

Definition MIRFSDiscriminator.h:39

MachineFunctionPass(char &ID)

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

This is an optimization pass for GlobalISel generic memory operations.

static unsigned getFSPassBitBegin(sampleprof::FSDiscriminatorPass P)

static unsigned getFSPassBitEnd(sampleprof::FSDiscriminatorPass P)