MCPcopy Create free account
hub / github.com/beefytech/Beef / MarkRegsUsed

Method MarkRegsUsed

IDEHelper/X86.cpp:360–380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

358}
359
360void X86Instr::MarkRegsUsed(Array<RegForm>& regsUsed, bool overrideForm)
361{
362 const MCInstrDesc &instDesc = mX86->mInstrInfo->get(mMCInst.getOpcode());
363
364 int checkIdx = instDesc.getOpcode() * 3;
365
366 for (int opIdx = 0; opIdx < (int)instDesc.getNumOperands(); opIdx++)
367 {
368 auto operand = mMCInst.getOperand(opIdx);
369 int regNum = ConvertRegNum(operand);
370 if (regNum != -1)
371 {
372 while (regNum >= (int)regsUsed.size())
373 regsUsed.push_back(RegForm_Invalid);
374
375 if ((regsUsed[regNum] <= RegForm_Unknown) || (overrideForm))
376 regsUsed[regNum] = (RegForm)sRegForm[checkIdx];
377 checkIdx++;
378 }
379 }
380}
381
382uint32 X86Instr::GetTarget(Debugger* debugger, X86CPURegisters* registers)
383{

Callers 1

UpdateRegisterUsageMethod · 0.45

Calls 4

ConvertRegNumFunction · 0.70
getMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected