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