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

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_CODEGEN_MACHINECYCLEANALYSIS_H

15#define LLVM_CODEGEN_MACHINECYCLEANALYSIS_H

16

22

23namespace llvm {

24

27

28

32

33public:

34 static char ID;

35

37

40

42 void getAnalysisUsage(AnalysisUsage &AU) const override;

43 void releaseMemory() override;

45};

46

47

48

50

61

63 : public PassInfoMixin {

65

66public:

71};

72

73}

74

75#endif

static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)

Find all cycles in a control-flow graph, including irreducible loops.

This file declares a specialization of the GenericSSAContext template class for Machine IR.

Represent the analysis usage information of a pass.

Cycle information for a function.

GenericCycle< MachineSSAContext > CycleT

MachineCycleInfo Result

Definition MachineCycleAnalysis.h:56

LLVM_ABI Result run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)

LLVM_ABI PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)

MachineCycleInfoPrinterPass(raw_ostream &OS)

Definition MachineCycleAnalysis.h:67

static bool isRequired()

Definition MachineCycleAnalysis.h:70

MachineCycleInfoWrapperPass()

const MachineCycleInfo & getCycleInfo() const

Definition MachineCycleAnalysis.h:39

MachineCycleInfo & getCycleInfo()

Definition MachineCycleAnalysis.h:38

static char ID

Definition MachineCycleAnalysis.h:34

MachineFunctionPass(char &ID)

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

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 bool isCycleInvariant(const MachineCycle *Cycle, MachineInstr &I)

AnalysisManager< MachineFunction > MachineFunctionAnalysisManager

GenericCycleInfo< MachineSSAContext > MachineCycleInfo

Definition MachineCycleAnalysis.h:25

MachineCycleInfo::CycleT MachineCycle

Definition MachineCycleAnalysis.h:26

A CRTP mix-in that provides informational APIs needed for analysis passes.

A special type used by analysis passes to provide an address that identifies that particular analysis...

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