If deleteDeadLoop() is called on such a loop, that has "bad" exit block,
one that e.g. has no terminator instruction, the DIBuilder::insertDbgValueIntrinsic()
will be told to insert the Dbg Value Intrinsic after nullptr
(since there is no first non-PHI instruction), which will cause it to not insert
those instructions into any basic block. The instructions will be parent-less,
and IR verifier will complain. It is rather obvious to track down the root cause
when that happens, so let's just assert it never happens.
Details
Details
- Reviewers
sanjoy davide vsk - Commits
- rZORGffb2f436accd: [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI…
rZORG16ade7168e1f: [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI…
rGffb2f436accd: [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI…
rG16ade7168e1f: [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI…
rGe5be660e2577: [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI…
rL359993: [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI…
Diff Detail
Diff Detail
- Repository
- rL LLVM