LLVM: lib/CodeGen/MachineFunctionAnalysis.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

19

20using namespace llvm;

21

23

27

29 return !PAC.preservedWhenStateless();

30}

31

34 auto &Context = F.getContext();

37 .getCachedResult(*F.getParent())

38 ->getMMI();

39 auto MF = std::make_unique(

40 F, *TM, STI, MMI.getContext(), Context.generateMachineFunctionNum(F));

41 MF->initTargetMachineFunctionInfo(STI);

42

43

45

46 return Result(std::move(MF));

47}

FunctionAnalysisManager FAM

API to communicate dependencies between analyses during invalidation.

A container for analyses that lazily runs them and caches their results.

PassT::Result & getResult(IRUnitT &IR, ExtraArgTs... ExtraArgs)

Get the result of an analysis pass for a given IR unit.

bool invalidate(Function &, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &)

This analysis create MachineFunction for given Function.

Result run(Function &F, FunctionAnalysisManager &FAM)

An analysis over an "inner" IR unit that provides access to an analysis manager over a "outer" IR uni...

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

PreservedAnalysisChecker getChecker() const

Build a checker for this PreservedAnalyses and the specified analysis type.

virtual const TargetSubtargetInfo * getSubtargetImpl(const Function &) const

Virtual method implemented by subclasses that returns a reference to that target's TargetSubtargetInf...

virtual void registerMachineRegisterInfoCallback(MachineFunction &MF) const

TargetSubtargetInfo - Generic base class for all target subtargets.

This is an optimization pass for GlobalISel generic memory operations.

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