[LLVMbugs] [Bug 2116] New: Add support for 'transactions' in the pass manager

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Mar 1 01:23:59 PST 2008


http://llvm.org/bugs/show_bug.cgi?id=2116

           Summary: Add support for 'transactions' in the pass manager
           Product: libraries
           Version: 2.2
          Platform: PC
        OS/Version: All
            Status: NEW
          Keywords: new-feature
          Severity: normal
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: sabre at nondot.org
                CC: llvmbugs at cs.uiuc.edu


Lots of passes operate by making incremental changes to a function: instcombine
iterates through a worklist, mem2reg promotes allocas one at a time, and the
inliner inlines a function one at a time.  Before and after each
transformation, the IR is valid, and could be snapshotted.  It would be really
awesome to expose this behavior through to the passmanager to allow the
verifier to be run after each transaction and for bugpoint to be able to reduce
bugs down to the level of a single transaction.

I haven't thought fully about how this would work, but it seems that a pass
should be able to opt-in to the transaction system.  Each time it does
something, it should bump the per-pass counter (which is owned/maintained by
the passmgr) and before it does a transaction it checks some counter or
something.  If the counter is reaches zero, then it stops making
transformations.

This is a fairly large and open ended project, but would be incredibly valuable
for tracking down nasty bugs, particularly miscompilations.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list