[LLVMdev] AsmPrinter behavior

Chris Lattner clattner at apple.com
Fri May 7 00:03:42 PDT 2010


On May 6, 2010, at 10:01 PM, Nathan Jeffords wrote:

> I compile these two lines in llc
> 
> @tst1 = internal global [4 x i8] zeroinitializer;
> @tst2 = internal global [4 x i8] [i8 0, i8 1, i8 2, i8 3];
> 
> @tst1 is emited via MCStreamer::EmitCommonSymbol
> while the other is emited via MCStreamer::EmitLabel followed by MCStreamer::EmitBytes
> 
> from what I can tell, only symbols with common linkage should me emitted by MCStreamer::EmitCommonSymbol,
> 
> is this the expected behavior or should I fix it?

This is expected behavior.  tst1 should be emitted with something like:

.local _tst1
.comm _tst1, ...

based on the exact syntax of your target.  If your target supports .lcomm, you can also enable that.

-Chris



More information about the llvm-dev mailing list