[LLVMdev] LiveIntervals::handlePhysicalRegisterDef, unreachable MBBs
Vladimir Prus
ghost at cs.msu.su
Fri Jul 9 05:06:01 PDT 2004
I've just spend some time looking at the above function, and while I
understood what it does, a comment would have helped a lot.
Maybe, something like:
// Determine the end of the live interval for this register
// For physical register, all internvals are within basic blocks so
// we look for the instruction in this basic block which last uses it.
The first loop might have a comment like:
// If the register is dead at instruction which sets it (i.e. not used later)
// the live interval ends at the next instruction
The second loop might have a comment like:
// If the register is not dead at the defining instruction, it must be used
// and killed by some subsequent instruction. Find that instruction now, which
// always exists
Finally, why I've started all this. I forgot to add machine CFG edge and got
misterious crash. I've applied the attached patch, which checks that all
basic blocks are reachable from function entry. Any comments on:
- whether this check is reasonable?
- what's the right place for the check? LiveVariables.cpp is the simplest I
could find, but does not seem right.
- Volodya
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LiveVariables.diff
Type: text/x-diff
Size: 608 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040709/e0fcec25/attachment.diff>
More information about the llvm-dev
mailing list