reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86SpeculativeLoadHardening.cpp
 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);