mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 17:59:46 +02:00
Extending incidental copy
This commit is contained in:
parent
4fc507f711
commit
00ac31c788
8 changed files with 39 additions and 12 deletions
|
@ -765,6 +765,24 @@ void PcodeOpBank::moveSequenceDead(PcodeOp *firstop,PcodeOp *lastop,PcodeOp *pre
|
|||
deadlist.splice(previter,deadlist,firstop->insertiter,enditer);
|
||||
}
|
||||
|
||||
/// Incidental COPYs are not considered active use of parameter passing Varnodes by
|
||||
/// parameter analysis algorithms.
|
||||
/// \param firstop is the start of the range of incidental COPY ops
|
||||
/// \param lastop is the end of the range of incidental COPY ops
|
||||
void PcodeOpBank::markIncidentalCopy(PcodeOp *firstop,PcodeOp *lastop)
|
||||
|
||||
{
|
||||
list<PcodeOp *>::iterator iter = firstop->insertiter;
|
||||
list<PcodeOp *>::iterator enditer = lastop->insertiter;
|
||||
++enditer;
|
||||
while(iter != enditer) {
|
||||
PcodeOp *op = *iter;
|
||||
++iter;
|
||||
if (op->code() == CPUI_COPY)
|
||||
op->setAdditionalFlag(PcodeOp::incidental_copy);
|
||||
}
|
||||
}
|
||||
|
||||
/// Find the first PcodeOp at or after the given Address assuming they have not
|
||||
/// yet been broken up into basic blocks. Take into account delay slots.
|
||||
/// \param addr is the given Address
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue