[llvm-dev] HelloWorldPass ?

Arthur Eubanks via llvm-dev llvm-dev at lists.llvm.org
Tue Feb 2 14:41:34 PST 2021


This was added in https://reviews.llvm.org/D86979. My goal was to show how
to write an in-tree NPM pass. It didn't really fit into any of the existing
directories/libraries, so I created a similar one to the legacy HelloWorld
example. Since it's unconditionally added to PassRegistry.def, I followed
the CMake from something like llvm/lib/Transforms/Scalar. TBH I'm not super
familiar with the various CMake machinery, so any suggestions are welcome.

In hindsight, perhaps adding it to llvm/lib/Transforms/Scalar would be
cleaner and would still properly show how to write an in-tree pass. I can
go ahead and do that if you'd like.

On Tue, Feb 2, 2021 at 2:32 PM Tom Stellard via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 2/2/21 1:32 PM, via llvm-dev wrote:
> > My team is packaging up our next release, and this new pass popped
> > up.  It has its own library and everything (LLVMHelloWorld.lib),
> > but it appears to be mandatory when linking against LLVM in general.
> > I can see it's an example pass regarding the new pass manager, but
> > I can also see the equivalent example for the legacy pass manager
> > wasn't mandatory and we don't have it in our package.
> >
> > It seems like kind of a trivial thing to worry about--it's clearly
> > harmless and doesn't take up a lot of space--but it's how the thing
> > is packaged differently than the old Hello pass that bothers me.
> >
> > - I see it's listed in lib/Passes/Registry.def; the old one wasn't.
> >
> > - I see its CMakeLists.txt uses add_llvm_component_library where the
> > old one uses add_llvm_library.
> >
>
> Arthur, was the use of add_llvm_component_library() here intentional?
>
> -Tom
>
> > I can't say I understand these things but just being different
> > raises my eyebrow.  Is there a good reason they're different?
> > And just for my own curiosity, what's the simplest way to avoid
> > needing it in our package?
> >
> > Thanks,
> > --paulr
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> >
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210202/2b53a307/attachment.html>


More information about the llvm-dev mailing list