[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