[LLVMdev] Duplicate assignment in LLVM?
Reid Spencer
reid at x10sys.com
Wed Jul 7 11:20:04 PDT 2004
Okay, I've replicated your results, but I don't think there's an error here,
its just not nice output from the disassembler. The first %tmp.ll is of type
long. The second one is of type short. I think that's valid for LLVM. That
is, the SSA form depends on both the type and name of the virtual register.
In any event, llvm-as seems to compile the llvm-dis output just fine.
Make sense?
Reid.
On Wed, 07 Jul 2004 12:01:15 -0400
"Reid Spencer" <reid at x10sys.com> wrote:
> Okay, let me test with exactly your options and I'll let you know what I
>get.
>
> Reid.
>
> On Wed, 7 Jul 2004 19:53:15 +0400
> Vladimir Prus <ghost at cs.msu.su> wrote:
>> Reid Spencer wrote:
>>> Volodya,
>>>
>>> I think you may need to update your CFE and rebuild. I compiled the test
>>> using my local build and I didn't get the results you see below. I'm
>>> also very surprised to see this output. The first %tmp.11 should have
>>> been %tmp.1 .. not sure how it got corrupted. In any event, the
>>> attachment is obviously generated by code that runs quite differently
>>> because the virtual register names used are quite different from what
>>> you have below. If you updated last week sometime, is it possible you
>>> got caught between some of Chris' "determinism" changes?
>>>
>>> Anyway, try an update and let us know how it goes.
>>
>> This still happens after update and rebuild:
>>
>> $ /home/ghost/build/llvm-gcc/install/bin/gcc -g -S -fno-inline -o
>>test.llvm
>> tests/2003-05-26-Shorts.c
>> $ gccas -disable-inlining test.llvm -o test.bc
>> $ llvm-dis -f test.bc
>> $ less test.ll
>> ........
>> int %main(int %argc, sbyte** %argv) {
>> entry:
>> call void %__main( )
>> %tmp.11 = call ulong %getL( ) ; <ulong> [#uses=16]
>> %tmp.3 = cast ulong %tmp.11 to long ; <long> [#uses=
>> 6]
>> %tmp.5 = cast ulong %tmp.11 to uint ; <uint> [#uses=
>> 6]
>> %tmp.7 = cast ulong %tmp.11 to int ; <int> [#uses=7
>> ]
>> %tmp.9 = cast ulong %tmp.11 to ushort ; <ushort> [#use
>> s=3]
>> %tmp.11 = cast ulong %tmp.11 to short
>>
>>
>> - Volodya
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list