[LLVMdev] Making a pass available to llc?

Reid Spencer reid at x10sys.com
Wed Jul 27 19:26:58 PDT 2005


Patch looks good. I've committed it here:

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050725/027257.html

I ran the deja-gnu tests and a few of the llvm-tests on this and all seems well.

Thanks for the patch!

Reid

On Wed, 2005-07-27 at 15:05 -0700, Michael McCracken wrote:
> Attached is my patch that adds a (debug build only) verifier pass and
> support for creating passes specified on the command line to llc.
> 
> Let me know if it needs changes to be acceptable. One thing I noticed
> is that (eg.) opt and analyze have their options and globals in an
> anonymous namespace while llc doesn't. I just used llc's convention -
> which is preferable?
> 
> As to testing - It works as expected with my loadable analysis pass,
> but I'm not set up to run llvm-test. I should really get that going.
> 
> I didn't add any pass printing code like what opt and analyze have
> (under "-p" in opt) because it didn't seem like llc needs to be
> printing its passes.
> 
> -mike
> 
> On 7/26/05, Chris Lattner <sabre at nondot.org> wrote:
> > On Tue, 26 Jul 2005, Michael McCracken wrote:
> > >> I can't see any harm in that. However, please make sure that it really
> > >> isn't being run. The verifier can be hidden by various levels of
> > >> abstraction.
> > >
> > > Assuming that I get everything with -debug-pass=Structure, then it isn't:
> > 
> > -debug-pass=Structure does list everything.  If you add it, please add it
> > in an "#ifndef NDEBUG" block so that it does not penalize the release
> > build.
> > 
> > Thanks!
> > 
> > -Chris
> > 
> > > % llc -march=x86 -stats -f tests/IS/npbis.bc -debug-pass=Structure
> > > Pass Arguments:  -lowergc -lowerinvoke -lowerswitch -unreachableblockelim
> > > Target Data Layout
> > > Module Pass Manager
> > >  Function Pass Manager
> > >    Lower GC intrinsics, for GCless code generators
> > > --  Lower GC intrinsics, for GCless code generators
> > >    Lower invoke and unwind, for unwindless code generators
> > > --  Lower invoke and unwind, for unwindless code generators
> > >    Lower SwitchInst's to branches
> > > --  Lower SwitchInst's to branches
> > >    Remove unreachable blocks from the CFG
> > > --  Remove unreachable blocks from the CFG
> > >    X86 Pattern Instruction Selection
> > > --  X86 Pattern Instruction Selection
> > >    Live Variable Analysis
> > >    Eliminate PHI nodes for register allocation
> > >    Two-Address instruction pass
> > >    Immediate Dominators Construction
> > >    Dominator Set Construction
> > > --  Immediate Dominators Construction
> > >    Natural Loop Construction
> > > --  Dominator Set Construction
> > >    Live Interval Analysis
> > > --  Natural Loop Construction
> > > --  Live Variable Analysis
> > > --  Eliminate PHI nodes for register allocation
> > > --  Two-Address instruction pass
> > >    Linear Scan Register Allocator
> > > --  Live Interval Analysis
> > > --  Linear Scan Register Allocator
> > >    Live Variable Analysis
> > >    X86 FP Stackifier
> > > --  Live Variable Analysis
> > > --  X86 FP Stackifier
> > >    Prolog/Epilog Insertion & Frame Finalization
> > > --  Prolog/Epilog Insertion & Frame Finalization
> > >    X86 Peephole Optimizer
> > > --  X86 Peephole Optimizer
> > >    X86 AT&T-Style Assembly Printer
> > > --  X86 AT&T-Style Assembly Printer
> > >    Machine Code Deleter
> > > --  Machine Code Deleter
> > >
> > >
> > > I'll add it. I managed to uncover a bug in my own code with my new
> > > version of llc, though, so I might not have a patch to send tonight,
> > > but I will soon.
> > >
> > > Thanks,
> > > -mike
> > >
> > >
> > 
> > -Chris
> > 
> > --
> > http://nondot.org/sabre/
> > http://llvm.org/
> > 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20050727/f5bee5fe/attachment.sig>


More information about the llvm-dev mailing list