Convergent instrs shouldn't be made control-dependent on other values,
but this is basically the whole point of tail duplication. So just bail
if we see a convergent instruction.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Small comment nit, but other than that it looks good.
For your todo, I'd prefer to see that logic inside of MI.isConvergent() rather than scattered.
| lib/CodeGen/TailDuplication.cpp | ||
|---|---|---|
| 593 ↗ | (On Diff #48136) | I think one of your TODOs is done. |
Comment Actions
Move TODO into MachineInstr.h.
| lib/CodeGen/TailDuplication.cpp | ||
|---|---|---|
| 593 ↗ | (On Diff #48136) | Yeah, thanks. I nuked this and moved the one about convergent MIs into MachineInstr::isConvergent, where it belongs. |
Comment Actions
Remove comment in MachineInstr.h.
I have a different way of attacking this, see D17423.