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...