mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 10:49:34 +02:00
Allow splitting of free varnodes
This commit is contained in:
parent
ce0ab31576
commit
babc6d4d9b
2 changed files with 12 additions and 6 deletions
|
@ -1937,18 +1937,21 @@ TransformVar *LaneDivide::setReplacement(Varnode *vn,int4 numLanes,int4 skipLane
|
|||
return newSplit(vn,description, numLanes, skipLanes);
|
||||
}
|
||||
|
||||
if (vn->isFree())
|
||||
return (TransformVar *)0; // Abort
|
||||
// Allow free varnodes to be split
|
||||
// if (vn->isFree())
|
||||
// return (TransformVar *)0;
|
||||
|
||||
if (vn->isTypeLock())
|
||||
return (TransformVar *)0;
|
||||
|
||||
vn->setMark();
|
||||
TransformVar *res = newSplit(vn, description, numLanes, skipLanes);
|
||||
workList.push_back(WorkNode());
|
||||
workList.back().lanes = res;
|
||||
workList.back().numLanes = numLanes;
|
||||
workList.back().skipLanes = skipLanes;
|
||||
if (!vn->isFree()) {
|
||||
workList.push_back(WorkNode());
|
||||
workList.back().lanes = res;
|
||||
workList.back().numLanes = numLanes;
|
||||
workList.back().skipLanes = skipLanes;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue