88 assert(PT !=
nullptr &&
"unexpected MemSDNode");
99 assert(PT !=
nullptr &&
"unexpected MemSDNode");
100 unsigned AS = PT->getAddressSpace();
107 auto *
V =
N->getMemOperand()->getValue();
118 auto *
V =
N->getMemOperand()->getValue();
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This header defines various interfaces for pass management in LLVM.
FunctionAnalysisManager FAM
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
AVRISelDAGToDAGPass(AVRTargetMachine &TM, CodeGenOptLevel OptLevel)
PreservedAnalyses run(Function &F, FunctionAnalysisManager &FAM)
A generic AVR implementation.
FunctionPass class - This class is used to implement most global optimizations.
This is an abstract virtual class for memory operations.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
Pass interface - Implemented by all 'passes'.
A set of analyses that are preserved following a run of a transformation pass.
SelectionDAGISelPass(std::unique_ptr< SelectionDAGISel > Selector)
Pass manager infrastructure for declaring and invalidating analyses.
Contains the AVR backend.
bool isProgramMemoryAccess(MemSDNode const *N)
AddressSpace getAddressSpace(T *V)
int getProgramMemoryBank(MemSDNode const *N)
bool isProgramMemoryAddress(T *V)
Checks if a given type is a pointer to program memory.
AddressSpace
An integer that identifies all of the supported AVR address spaces.
This is an optimization pass for GlobalISel generic memory operations.
FunctionPass * createAVRISelDagLegacyPass(AVRTargetMachine &TM, CodeGenOptLevel OptLevel)
FunctionPass * createAVRExpandPseudoLegacyPass()
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
void initializeAVRExpandPseudoLegacyPass(PassRegistry &)
Pass * createAVRShiftExpandLegacyPass()
void initializeAVRDAGToDAGISelLegacyPass(PassRegistry &)
CodeGenOptLevel
Code generation optimization level.
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.
void initializeAVRShiftExpandLegacyPass(PassRegistry &)
void initializeAVRAsmPrinterPass(PassRegistry &)
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
FunctionPass * createAVRFrameAnalyzerLegacyPass()
Creates instance of the frame analyzer pass.
A CRTP mix-in for passes that should not be skipped.