[LLVMdev] Using llvm Metadata inside llc
michael.dhont at ugent.be
Sat Apr 13 06:32:28 PDT 2013
The project I am working on is to use the llvm toolchain for embedded CGRA
This however poses some restrictions on the block formation, because modulo
scheduling is applied in a later stage.
For this reason the idea was to create custom pragma's to generate metadata
and attach it to de branches of loops we wanted to map on a cgra module.
It is a lot similar to the loop parallell metadata discussed previously on
the mailing list.
I was able to made the metadata survive opt passes by extending LoopInfo to
remove/restore metadata as needed but once at the backend I get stuck.
I was thinking to add some custom fields to SDNode and afterwards MI but
that doesn't seem efficient (or a good idea) for many reason's.
For example not each instruction has metadata attached (in my case it's
only branching instructions inside a loop) and also during the
pattern matching nodes are replaced/combined/etc. and thus the data also
I need the information within the metadata to force if-conversion on
specific parts of the code for hyperblock formation.
2013/4/12 Eric Christopher <echristo at gmail.com>
> There's some support for metadata on MI and definitely on the IR. What
> do you have in mind and what are you doing?
> On Fri, Apr 12, 2013 at 7:37 AM, Michael D'Hont <michael.dhont at ugent.be>
> > Is there any way to work with the metadata inside llc? Or is there a
> > specific reason why metadata is not supported inside llc? Because as I
> > it the metadata get's completely removed during instruction selection.
> > I would like to use the metadata to influence Loop Specific
> > and if-conversion.
> > Kind Regards
> > Michael D'hont
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev