reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1774 assert(!(HardenLoadAddr.count(&MI) && HardenPostLoad.count(&MI)) && 1774 assert(!(HardenLoadAddr.count(&MI) && HardenPostLoad.count(&MI)) && 1778 if (HardenLoadAddr.erase(&MI)) { 1779 const MCInstrDesc &Desc = MI.getDesc(); 1786 MI.getOperand(MemRefBeginIdx + X86::AddrBaseReg); 1788 MI.getOperand(MemRefBeginIdx + X86::AddrIndexReg); 1789 hardenLoadAddr(MI, BaseMO, IndexMO, AddrRegToHardenedReg); 1795 if (HardenPostLoad.erase(&MI)) { 1796 assert(!MI.isCall() && "Must not try to post-load harden a call!"); 1800 if (isDataInvariantLoad(MI)) { 1803 MachineInstr *SunkMI = sinkPostLoadHardenedInst(MI, HardenPostLoad); 1808 if (SunkMI != &MI) { 1820 unsigned HardenedReg = hardenPostLoad(MI); 1833 if ((MI.isCall() || MI.isBranch()) && HardenIndirectCallsAndJumps) 1833 if ((MI.isCall() || MI.isBranch()) && HardenIndirectCallsAndJumps) 1834 hardenIndirectCallOrJumpInstr(MI, AddrRegToHardenedReg); 1841 if (!MI.isCall() && !MI.isReturn()) 1841 if (!MI.isCall() && !MI.isReturn()) 1846 if (MI.isReturn() && !MI.isCall()) { 1846 if (MI.isReturn() && !MI.isCall()) { 1847 hardenReturnInstr(MI); 1854 assert(MI.isCall() && "Should only reach here for calls!"); 1855 tracePredStateThroughCall(MI);