[LLVMdev] Fwd: help with llvm-convert

Andrew Lenharth alenhar2 at cs.uiuc.edu
Tue Mar 9 09:59:15 PST 2010


On alpha, I am seeing a problem with Emiting va_copy.  valists are
structs and allocated by alloca, unlike x86.  EmitBuiltinVACopy is
therefore using the second branch of the if (~llvm-convert.cpp:6538)
to emit the second argument.  The second argument is the result of an
alloca.  TreeToLLVM::Emit is hitting the first assertion (~929).

The exp being passed is:

 <var_decl 0x20000b44240 ap
   type <record_type 0x200008f96b0 va_list sizes-gimplified no-force-blk BLK
       size <integer_cst 0x20000820ea0 constant invariant 128>
       unit size <integer_cst 0x20000820ed0 constant invariant 16>
       align 64 symtab 0 alias set -1
       fields <field_decl 0x20000846180 __base type <pointer_type
0x20000833130>
           unsigned asm-frame-size 0 DI file <built-in> line 0
           size <integer_cst 0x20000820b70 constant invariant 64>
           unit size <integer_cst 0x20000820ba0 constant invariant 8>
           align 64 offset_align 128
           offset <integer_cst 0x20000820510 constant invariant 0>
           bit offset <integer_cst 0x20000821530 constant invariant
0> context <record_type 0x200008440b0 __va_list_tag> chain <field_decl
0x200008460c0 __offset>>
       pointer_to_this <pointer_type 0x20000b4c210>>
   addressable used asm-frame-size 0 BLK file
../../source/gcc/libgcov.c line 818 size <integer_cst 0x20000820ea0
128> unit size <integer_cst 0x20000820ed0 16>
   align 64 context <function_decl 0x20000b08300 __gcov_execl>
   LLVM: %struct.va_list* %ap chain <var_decl 0x20000b44300 aq>>

DestLoc is 0.

Anyone have a suggestion on how to fix this?

Thanks,

Andrew




More information about the llvm-dev mailing list