[LLVMdev] Making a pass available to llc?

Michael McCracken michael.mccracken at gmail.com
Tue Jul 26 19:31:26 PDT 2005


On 7/26/05, Reid Spencer <reid at x10sys.com> wrote:
> On Tue, 2005-07-26 at 17:25 -0700, Michael McCracken wrote:
> 
> > Since I'm modifying llc, I have a couple small questions about that code:
> >
> > opt and analyze (and a couple of other places) add a verifier pass,
> > but llc doesn't.
> > This would seem to make sense for llc as well - should I add it, with
> > the corresponding
> > hidden -no-verify option?
> 
> 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:

% 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

-- 
Michael McCracken
UCSD CSE PhD Candidate
research: http://www.cse.ucsd.edu/~mmccrack/
misc: http://michael-mccracken.net/blog/




More information about the llvm-dev mailing list