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

Michael Spencer bigcheesegs at gmail.com
Sat Jul 28 00:22:47 PDT 2012


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



More information about the llvm-dev mailing list