[LLVMdev] Roundtrip clang -> llc -> clang fails

Kai kai at redstar.de
Sat Jul 28 10:53:35 PDT 2012


On 28.07.2012 09:22, Michael Spencer wrote:
> On Fri, Jul 27, 2012 at 3:36 PM, Kai <kai at redstar.de> wrote:
>> Hi!
>>
>> I am not sure if this is a bug or not.
>>
>> I have the following non-sense C module exc_alloc.c:
>>
>> #include <windows.h>
>>
>> void *AllocMem() {
>>       HANDLE heap = GetProcessHeap();
>>       void *p = HeapAlloc(heap, HEAP_GENERATE_EXCEPTIONS |
>> HEAP_ZERO_MEMORY, 16*1024*1014*1024);
>>       return p;
>> }
>>
>> If I execute the following commands
>>
>> clang -S -emit-llvm -o exc_alloc.ll exc_alloc.c
>> llc -filetype=asm exc_alloc.ll
>> clang -c exc_alloc.s
>>
>> then I get the error messages
>>
>> exc_alloc.s:11:31: error: invalid variant '0'
>>           callq   *__imp_GetProcessHeap at 0(%rip)
>>                                          ^
>> exc_alloc.s:16:27: error: invalid variant '20'
>>           callq   *__imp_HeapAlloc at 20(%rip)
>>
>>
>> Do I miss something here?
>>
>> Regards
>> Kai
>
> MC (the part of LLVM that does asm parsing) can't parse COFF asm yet.
> So yes it's a bug, but expected.
>
> - Michael Spencer
>

Thanks for the explanation. I thought the asm parser were finished....

Kai




More information about the llvm-dev mailing list