24class AVRTargetMachine;
55 auto *PT = cast<PointerType>(V->getType());
56 assert(PT !=
nullptr &&
"unexpected MemSDNode");
66 auto *PT = cast<PointerType>(V->getType());
67 assert(PT !=
nullptr &&
"unexpected MemSDNode");
68 unsigned AS = PT->getAddressSpace();
75 auto *V =
N->getMemOperand()->getValue();
86 auto *V =
N->getMemOperand()->getValue();
const char LLVMTargetMachineRef TM
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
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'.
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.
void initializeAVRShiftExpandPass(PassRegistry &)
void initializeAVRExpandPseudoPass(PassRegistry &)
FunctionPass * createAVRFrameAnalyzerPass()
Creates instance of the frame analyzer pass.
FunctionPass * createAVRISelDag(AVRTargetMachine &TM, CodeGenOptLevel OptLevel)
FunctionPass * createAVRExpandPseudoPass()
void initializeAVRDAGToDAGISelLegacyPass(PassRegistry &)
CodeGenOptLevel
Code generation optimization level.
Pass * createAVRShiftExpandPass()
FunctionPass * createAVRBranchSelectionPass()