[llvm-commits] [PATCH] Preserve DebugInfo during LICM

Török Edwin edwintorok at gmail.com
Thu Oct 8 02:23:28 PDT 2009


LICM currently sinks, and deletes debug stoppoints as dead instructions.

The attached patch disables sink/hoist of debuginfo (simplifycfg should
already knows to ignore debuginfo when checking if it can merge blocks),
and also updates the debug info when sinking/hoisting instructions (by
copying the stoppoints as needed).

Before committing I'll also add a testcase, and run TEST.dbgopt on a
part of the test suite.

I think that we'd need another TEST.dbgquality that tests whether each
basicblock has at least one stoppoint (if original did),
and also outputs how many instructions have a stoppoint in same BB, how
many have a stoppoint
foundable by findStopPointInst, and how many don't have at all. The test
would pass if each BB has at least one stoppoint,
and output an overall quality for each test, and for the entire testsuite.
What do you think?

Best regards,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: licm-dbginfo.patch
Type: text/x-diff
Size: 6792 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20091008/18bc4678/attachment.patch>

More information about the llvm-commits mailing list