Lines Matching defs:ARMLoadStoreOpt
103 struct ARMLoadStoreOpt : public MachineFunctionPass { struct
104 static char ID;
106 const MachineFunction *MF;
107 const TargetInstrInfo *TII;
108 const TargetRegisterInfo *TRI;
109 const ARMSubtarget *STI;
110 const TargetLowering *TL;
111 ARMFunctionInfo *AFI;
112 LiveRegUnits LiveRegs;
113 RegisterClassInfo RegClassInfo;
114 MachineBasicBlock::const_iterator LiveRegPos;
115 bool LiveRegsValid;
116 bool RegClassInfoValid;
117 bool isThumb1, isThumb2;
119 ARMLoadStoreOpt() : MachineFunctionPass(ID) {} in ARMLoadStoreOpt() argument
123 MachineFunctionProperties getRequiredProperties() const override { in getRequiredProperties()
128 StringRef getPassName() const override { return ARM_LOAD_STORE_OPT_NAME; } in getPassName()
133 struct MemOpQueueEntry {
141 using MemOpQueue = SmallVector<MemOpQueueEntry, 8>;
145 struct MergeCandidate {
165 SpecificBumpPtrAllocator<MergeCandidate> Allocator;
166 SmallVector<const MergeCandidate*,4> Candidates;
167 SmallVector<MachineInstr*,4> MergeBaseCandidates;