[LLVMdev] Create target with alternate syntax for globals?

ryan baird ryanrbaird at gmail.com
Sat Sep 8 08:07:59 PDT 2012


I'm working on building a target for llvm that's the intermediate language
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
the 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 to
override it, I get a "multiple definitions" error.  To emit the global, it
just calls the OutputStreamer.EmitCommonSymbol method.  Again, this has
become a problem because I don't want the default output for global
symbols. If I can't override this method, how can I change the way that my
target outputs globals variables?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120908/bbbd2613/attachment.html>


More information about the llvm-dev mailing list