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

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9#ifndef LLVM_CODEGEN_MACHINEMODULESLOTTRACKER_H

10#define LLVM_CODEGEN_MACHINEMODULESLOTTRACKER_H

11

14

15namespace llvm {

16

22

26 unsigned MDNStartSlot = 0, MDNEndSlot = 0;

27

31 bool ShouldInitializeAllMetadata);

34 bool ShouldInitializeAllMetadata);

35

36public:

39 bool ShouldInitializeAllMetadata = true);

41

43};

44

45}

46

47#endif

Abstract interface of slot tracker storage.

This class contains meta information specific to a module.

~MachineModuleSlotTracker() override

void collectMachineMDNodes(MachineMDNodeListType &L) const

MachineModuleSlotTracker(const MachineModuleInfo &MMI, const MachineFunction *MF, bool ShouldInitializeAllMetadata=true)

ModuleSlotTracker(SlotTracker &Machine, const Module *M, const Function *F=nullptr)

Wrap a preinitialized SlotTracker.

std::vector< std::pair< unsigned, const MDNode * > > MachineMDNodeListType

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

This is an optimization pass for GlobalISel generic memory operations.