[LLVMdev] Register Machine Pass

Ryan Taylor ryta1203 at gmail.com
Mon Jul 14 10:20:04 PDT 2014


Justin,

 Yes, I had/have this:

bool MyTargetPassConfig::addPreRegAlloc() {
    outs()<<"PreRegAllocPass\n";
    addPass(createMyPass());
    return true;
}

I do not see this being printed.


On Mon, Jul 14, 2014 at 1:07 PM, Justin Holewinski <jholewinski at nvidia.com>
wrote:

> On Mon, 2014-07-14 at 10:00 -0700, Ryan Taylor wrote:
> > It's not being executed. I'm both trying to print via outs() and add
> > info via STATISTIC, neither is occurring.
>
> Did you try running in a debugger to make sure addPass() is called?  Or
> if a debugger is unavailable, putting an outs() statement with the
> addPass() call?  That would at least rule out addPass() not being
> called.
>
> >
> > On Mon, Jul 14, 2014 at 12:22 PM, Justin Holewinski
> > <jholewinski at nvidia.com> wrote:
> >         On Mon, 2014-07-14 at 08:31 -0700, Ryan Taylor wrote:
> >         > Where is the documentation about registering a machine pass?
> >         I'm
> >         > unable to find it.
> >         >
> >         >
> >         > I have built a machine function pass similar to the one
> >         found in
> >         > HexagonHardwareLoops.cpp. So I have generated a machine
> >         pass.cpp file,
> >         > modified 'Target'.h and 'Target'TargetMachine.cpp (to add
> >         pass via
> >         > addPass() in the addPreRegAlloc()). All this builds/compiles
> >         fine.
> >         >
> >         >
> >         > When running llc the pass does not get executed.
> >         >
> >         >
> >         > I seem to be missing some steps? Potentially registration of
> >         the
> >         > machine pass?
> >
> >
> >         That should be all you need to do.    Are you running in a
> >         debugger and
> >         making sure your added addPass() call is actually being
> >         executed?
> >         >
> >         >
> >         > Thanks.
> >
> >
> -----------------------------------------------------------------------------------
> >         This email message is for the sole use of the intended
> >         recipient(s) and may contain
> >         confidential information.  Any unauthorized review, use,
> >         disclosure or distribution
> >         is prohibited.  If you are not the intended recipient, please
> >         contact the sender by
> >         reply email and destroy all copies of the original message.
> >
> -----------------------------------------------------------------------------------
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140714/25de1ccd/attachment.html>


More information about the llvm-dev mailing list