Lines Matching refs:Insts
641 bool isMacroOpFusionPair(ArrayRef<MCInst> Insts) const override { in isMacroOpFusionPair()
642 const auto *I = Insts.begin(); in isMacroOpFusionPair()
643 while (I != Insts.end() && isPrefix(*I)) in isMacroOpFusionPair()
645 if (I == Insts.end()) in isMacroOpFusionPair()
650 while (I != Insts.end() && isPrefix(*I)) in isMacroOpFusionPair()
652 if (I == Insts.end()) in isMacroOpFusionPair()
2495 bool createIJmp32Frag(SmallVectorImpl<MCInst> &Insts, in createIJmp32Frag() argument
2517 Insts.push_back(Load); in createIJmp32Frag()
2518 Insts.push_back(IJmp); in createIJmp32Frag()
3263 InstructionListType Insts; in createInstrumentedIndirectCall() local
3274 Insts.emplace_back(); in createInstrumentedIndirectCall()
3275 createPushRegister(Insts.back(), TempReg, 8); in createInstrumentedIndirectCall()
3277 Insts.emplace_back(); in createInstrumentedIndirectCall()
3278 createStackPointerDecrement(Insts.back(), 8, /*NoFlagsClobber=*/false); in createInstrumentedIndirectCall()
3280 Insts.emplace_back(CallInst); in createInstrumentedIndirectCall()
3283 stripAnnotations(Insts.back(), /*KeepTC=*/true); in createInstrumentedIndirectCall()
3284 convertIndirectCallToLoad(Insts.back(), TempReg); in createInstrumentedIndirectCall()
3286 Insts.emplace_back(); in createInstrumentedIndirectCall()
3287 createStackPointerIncrement(Insts.back(), 8, /*NoFlagsClobber=*/false); in createInstrumentedIndirectCall()
3289 Insts.emplace_back(); in createInstrumentedIndirectCall()
3290 createPushRegister(Insts.back(), TempReg, 8); in createInstrumentedIndirectCall()
3291 Insts.emplace_back(); in createInstrumentedIndirectCall()
3292 createLoadImmediate(Insts.back(), TempReg, CallSiteID); in createInstrumentedIndirectCall()
3293 Insts.emplace_back(); in createInstrumentedIndirectCall()
3294 createPushRegister(Insts.back(), TempReg, 8); in createInstrumentedIndirectCall()
3295 Insts.emplace_back(); in createInstrumentedIndirectCall()
3296 createDirectCall(Insts.back(), HandlerFuncAddr, Ctx, in createInstrumentedIndirectCall()
3302 Insts.back().addOperand(CallInst.getOperand(I)); in createInstrumentedIndirectCall()
3304 return Insts; in createInstrumentedIndirectCall()
3316 InstructionListType Insts(5); in createInstrumentedIndCallHandlerExitBB() local
3317 createPopFlags(Insts[0], 8); in createInstrumentedIndCallHandlerExitBB()
3318 createPopRegister(Insts[1], TempReg, 8); in createInstrumentedIndCallHandlerExitBB()
3319 createStackPointerDecrement(Insts[2], 16, /*NoFlagsClobber=*/false); in createInstrumentedIndCallHandlerExitBB()
3320 createSwap(Insts[3], TempReg, X86::RSP, 0); in createInstrumentedIndCallHandlerExitBB()
3321 createIndirectBranch(Insts[4], X86::RSP, -8); in createInstrumentedIndCallHandlerExitBB()
3322 return Insts; in createInstrumentedIndCallHandlerExitBB()
3333 InstructionListType Insts(4); in createInstrumentedIndTailCallHandlerExitBB() local
3334 createPopFlags(Insts[0], 8); in createInstrumentedIndTailCallHandlerExitBB()
3335 createStackPointerDecrement(Insts[1], 16, /*NoFlagsClobber=*/false); in createInstrumentedIndTailCallHandlerExitBB()
3336 createPopRegister(Insts[2], TempReg, 8); in createInstrumentedIndTailCallHandlerExitBB()
3337 createIndirectBranch(Insts[3], X86::RSP, -16); in createInstrumentedIndTailCallHandlerExitBB()
3338 return Insts; in createInstrumentedIndTailCallHandlerExitBB()
3354 InstructionListType Insts; in createInstrumentedIndCallHandlerEntryBB() local
3355 Insts.emplace_back(); in createInstrumentedIndCallHandlerEntryBB()
3356 createPushFlags(Insts.back(), 8); in createInstrumentedIndCallHandlerEntryBB()
3357 Insts.emplace_back(); in createInstrumentedIndCallHandlerEntryBB()
3358 createMove(Insts.back(), InstrTrampoline, TempReg, Ctx); in createInstrumentedIndCallHandlerEntryBB()
3360 Insts.insert(Insts.end(), cmpJmp.begin(), cmpJmp.end()); in createInstrumentedIndCallHandlerEntryBB()
3361 Insts.emplace_back(); in createInstrumentedIndCallHandlerEntryBB()
3362 Insts.back().setOpcode(X86::CALL64r); in createInstrumentedIndCallHandlerEntryBB()
3363 Insts.back().addOperand(MCOperand::createReg(TempReg)); in createInstrumentedIndCallHandlerEntryBB()
3364 Insts.emplace_back(); in createInstrumentedIndCallHandlerEntryBB()
3365 createDirectCall(Insts.back(), IndCallHandler, Ctx, /*IsTailCall*/ true); in createInstrumentedIndCallHandlerEntryBB()
3366 return Insts; in createInstrumentedIndCallHandlerEntryBB()
3370 InstructionListType Insts(2); in createNumCountersGetter() local
3372 createMove(Insts[0], NumLocs, X86::EAX, Ctx); in createNumCountersGetter()
3373 createReturn(Insts[1]); in createNumCountersGetter()
3374 return Insts; in createNumCountersGetter()
3379 InstructionListType Insts(2); in createInstrLocationsGetter() local
3381 createLea(Insts[0], Locs, X86::EAX, Ctx); in createInstrLocationsGetter()
3382 createReturn(Insts[1]); in createInstrLocationsGetter()
3383 return Insts; in createInstrLocationsGetter()
3387 InstructionListType Insts(2); in createInstrTablesGetter() local
3389 createLea(Insts[0], Locs, X86::EAX, Ctx); in createInstrTablesGetter()
3390 createReturn(Insts[1]); in createInstrTablesGetter()
3391 return Insts; in createInstrTablesGetter()
3395 InstructionListType Insts(2); in createInstrNumFuncsGetter() local
3397 createMove(Insts[0], NumFuncs, X86::EAX, Ctx); in createInstrNumFuncsGetter()
3398 createReturn(Insts[1]); in createInstrNumFuncsGetter()
3399 return Insts; in createInstrNumFuncsGetter()
3404 InstructionListType Insts(1); in createSymbolTrampoline() local
3405 createUncondBranch(Insts[0], TgtSym, Ctx); in createSymbolTrampoline()
3406 return Insts; in createSymbolTrampoline()
3410 InstructionListType Insts(1); in createDummyReturnFunction() local
3411 createReturn(Insts[0]); in createDummyReturnFunction()
3412 return Insts; in createDummyReturnFunction()