Lines Matching refs:LEAs
281 void findLEAs(const MachineBasicBlock &MBB, MemOpMap &LEAs);
284 bool removeRedundantAddrCalc(MemOpMap &LEAs);
293 bool removeRedundantLEAs(MemOpMap &LEAs);
471 void OptimizeLEAPass::findLEAs(const MachineBasicBlock &MBB, MemOpMap &LEAs) { in findLEAs() argument
482 LEAs[getMemOpKey(MI, 1)].push_back(const_cast<MachineInstr *>(&MI)); in findLEAs()
489 bool OptimizeLEAPass::removeRedundantAddrCalc(MemOpMap &LEAs) { in removeRedundantAddrCalc() argument
492 assert(!LEAs.empty()); in removeRedundantAddrCalc()
493 MachineBasicBlock *MBB = (*LEAs.begin()->second.begin())->getParent(); in removeRedundantAddrCalc()
514 auto Insns = LEAs.find(getMemOpKey(MI, MemOpNo)); in removeRedundantAddrCalc()
515 if (Insns == LEAs.end()) in removeRedundantAddrCalc()
590 bool OptimizeLEAPass::removeRedundantLEAs(MemOpMap &LEAs) { in removeRedundantLEAs() argument
594 for (auto &E : LEAs) { in removeRedundantLEAs()
689 MemOpMap LEAs; in runOnMachineFunction() local
693 findLEAs(MBB, LEAs); in runOnMachineFunction()
696 if (LEAs.empty()) in runOnMachineFunction()
700 Changed |= removeRedundantLEAs(LEAs); in runOnMachineFunction()
705 Changed |= removeRedundantAddrCalc(LEAs); in runOnMachineFunction()