[LLVMdev] VMKIT: Error while producing LLVMruntime.inc (using llvm-as and llc)
Nicolas Geoffray
nicolas.geoffray at gmail.com
Tue May 29 13:52:45 PDT 2012
Hi Foivos,
Thank you for reporting the error! I have fixed the problem on svn trunk,
so if you update and compile llvm and vmkit again, you should have things
compile again.
Nicolas
On Mon, May 28, 2012 at 9:01 PM, Foivos Zakkak <foivos at zakkak.net> wrote:
> vmkit fails to build because llvm-as with llc -march=cpp generate wrong
> code for
> AttrListPtr AttrListPtr::get(ArrayRef< AttributeWithIndex >Attrs)
>
> http://llvm.org/doxygen/classllvm_1_1AttrListPtr.html#a3a19622d131e9f0d981398f54cf6acfc
>
> bellow you can see the faulty generated code
>
> llvm-as ./vmkit/lib/vmkit/Compiler/LLVMRuntime.ll -o - | llc -march=cpp
> -cppgen=contents -o - | grep 'AttrListPtr::get'
> func_llvm_sqrt_f64_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_sin_f64_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_cos_f64_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_memcpy_i32_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_memset_i32_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_frameaddress_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_atomic_cmp_swap_i8_p0i8_PAL =
> AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_atomic_cmp_swap_i16_p0i16_PAL =
> AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_atomic_cmp_swap_i32_p0i32_PAL =
> AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_llvm_atomic_cmp_swap_i64_p0i64_PAL =
> AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_unconditionalSafePoint_PAL = AttrListPtr::get(Attrs.begin(),
> Attrs.end());
> func_conditionalSafePoint_PAL = AttrListPtr::get(Attrs.begin(),
> Attrs.end());
> func_llvm_gcroot_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func__setjmp_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_registerSetjmp_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
> func_unregisterSetjmp_PAL = AttrListPtr::get(Attrs.begin(), Attrs.end());
>
> One would expect to see AttrListPtr::get(Attrs.begin(), Attrs.end())
>
> Thank you
> Foivos
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120529/b965f8fb/attachment.html>
More information about the llvm-dev
mailing list