[LLVMdev] Create target with alternate syntax for globals?
ryanrbaird at gmail.com
Sun Sep 9 07:20:02 PDT 2012
I'm working on 3.1. For now I added a custom AsmStreamer, but it's nice
to know that this will be fixed in 3.2.
On Sat, Sep 8, 2012 at 6:50 PM, NAKAMURA Takumi <geek4civic at gmail.com>wrote:
> 2012/9/9 ryan baird <ryanrbaird at gmail.com>:
> > I'm working on building a target for llvm that's the intermediate
> > of another compiler, so that the other compiler can benifit from llvm's
> > optimization passes.
> > I essentially made a copy of the mips backend, and then started changing
> > output to match the intermediate language of the compiler. Most of the
> > output can be overriden, but I haven't figured out how to change the way
> > globals are emitted.
> > The AsmPrinter::EmitGlobalVariable function in the
> > llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp file is not virtual; if I try
> > override it, I get a "multiple definitions" error. To emit the global,
> > just calls the OutputStreamer.EmitCommonSymbol method. Again, this has
> > become a problem because I don't want the default output for global
> > If I can't override this method, how can I change the way that my target
> > outputs globals variables?
> On which version are you working? I can see, since r93858;
> Author: Chris Lattner <sabre at nondot.org>
> Date: Tue Jan 19 14:38:33 2010
> + virtual void EmitGlobalVariable(const GlobalVariable *GV);
> It seems XCoreAsmPrinter overrides some methods.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev