A minor iteration enabling more efficient VPT Block code generation: consecutive VPT
predicated statements, predicated on the same condition, will be placed within
the same VPT Block. This essentially is an exercise to write some more tests
for the next step, which should be more generic also merging instructions when
they are not consecutive.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp | ||
---|---|---|
408–409 | I think I see what you mean, you want to see: finalizeBundle(Block, VPSTInsertPos.getInstrIterator(), MBIter); But they are different iterators:
I didn't really investigate the difference to be honest, but must be related to iterating over instructions of blocks or bundles. |
Do we need to keep track of LastMI? Looks like it's only used to get an iterator once out of the loop, but it is derived from MBIter anyway...