Lines Matching defs:ARMLoadStoreOpt
101 struct ARMLoadStoreOpt : public MachineFunctionPass { struct
102 static char ID;
104 const MachineFunction *MF;
105 const TargetInstrInfo *TII;
106 const TargetRegisterInfo *TRI;
107 const ARMSubtarget *STI;
108 const TargetLowering *TL;
109 ARMFunctionInfo *AFI;
110 LivePhysRegs LiveRegs;
111 RegisterClassInfo RegClassInfo;
112 MachineBasicBlock::const_iterator LiveRegPos;
113 bool LiveRegsValid;
114 bool RegClassInfoValid;
115 bool isThumb1, isThumb2;
117 ARMLoadStoreOpt() : MachineFunctionPass(ID) {} in ARMLoadStoreOpt() argument
121 MachineFunctionProperties getRequiredProperties() const override { in getRequiredProperties()
126 StringRef getPassName() const override { return ARM_LOAD_STORE_OPT_NAME; } in getPassName()
131 struct MemOpQueueEntry {
139 using MemOpQueue = SmallVector<MemOpQueueEntry, 8>;
143 struct MergeCandidate {
163 SpecificBumpPtrAllocator<MergeCandidate> Allocator;
164 SmallVector<const MergeCandidate*,4> Candidates;
165 SmallVector<MachineInstr*,4> MergeBaseCandidates;