Runtime for ARM
Paolo Invernizzi
pinver at pinver.com
Tue May 14 20:30:11 PDT 2013
On Sunday, 17 February 2013 at 14:15:57 UTC, Kai Nacke wrote:
> Hi Paolo!
>
> It is a LLVM bug. I used bugpoint and a bit of editing to
> derive this IR file:
>
> ; ModuleID = 'bugpoint-reduced-simplified.bc'
> target datalayout =
> "e-p:32:32:32-S64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f16:16:16-f32:32:32-f64:64:64-f128:128:128-v64:64:64-v128:64:128-a0:0:64-n32"
> target triple = "arm--linux-gnueabihf"
>
> %"armbug.Rebindable!(TimeZone).Rebindable" = type <{ i8 }>
> %armbug.SysTime = type <{
> %"armbug.Rebindable!(TimeZone).Rebindable" }>
> %armbug.TimeZone = type { i8* }
>
> declare fastcc void
> @opAssign(%"armbug.Rebindable!(TimeZone).Rebindable"*,
> %"armbug.Rebindable!(TimeZone).Rebindable"* byval)
>
> define fastcc %armbug.SysTime* @doOpAssign(%armbug.SysTime*
> %.this_arg, %armbug.SysTime* byval %p_arg) {
> entry:
> br i1 undef, label %noassert, label %assert
>
> assert: ; preds =
> %entry
> unreachable
>
> noassert: ; preds =
> %entry
> call fastcc void
> @opAssign(%"armbug.Rebindable!(TimeZone).Rebindable"* undef,
> %"armbug.Rebindable!(TimeZone).Rebindable"* byval undef)
> ret %armbug.SysTime* %.this_arg
> }
>
> You get the assertion failure if you use llc to compile this
> file. This does not happen on X86_64 - it is a bug!
>
> Please, could you file a bug report for LLVM:
> http://llvm.org/bugs/
>
> BTW: This is quite natural. LDC uses LLVM in some other way
> then clang. This may raise otherwise unnoticed bugs. For PPC64,
> I currently work on the 3rd LLVM bug...
>
> Regards
> Kai
Hi Kai,
I'll post a bug report for LLVM...
Thank you for your help in this!
Regards,
Paolo
More information about the digitalmars-d-ldc
mailing list