You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now we have ModeledBlock (a modeled basic block) and ModeledInstruction (a single instruction) as two similar, but distinct types. ModeledBlock has the extra constraint that it will only be constructed if the block terminates in non-fallthrough branches.
This isn't ideal for a few situations:
This isn't really guaranteed to be a basic block in the program graph, so it's less useful for actual analysis
If you want a function to be more generally usable, you pay the price with a bunch of noisy trait bounds; often things just don't bother and choose one.
This is confusing
Should consider removing this separation and just calling it what it is: a trace of pcode operations. A single trace structure could represent an instruction or our poor-man's basic block. Could also implement Add and friends on it to allow easily manipulating traces.
We should definitely have something for basic blocks eventually, but that will require a more thorough treatment of the program graph. And maybe we can just piggy-back on some of the higher analysis that sleigh performs.
The text was updated successfully, but these errors were encountered:
Right now we have
ModeledBlock
(a modeled basic block) andModeledInstruction
(a single instruction) as two similar, but distinct types.ModeledBlock
has the extra constraint that it will only be constructed if the block terminates in non-fallthrough branches.This isn't ideal for a few situations:
Should consider removing this separation and just calling it what it is: a trace of pcode operations. A single trace structure could represent an instruction or our poor-man's basic block. Could also implement
Add
and friends on it to allow easily manipulating traces.We should definitely have something for basic blocks eventually, but that will require a more thorough treatment of the program graph. And maybe we can just piggy-back on some of the higher analysis that sleigh performs.
The text was updated successfully, but these errors were encountered: