search for: threedoubles

Displaying 4 results from an estimated 4 matches for "threedoubles".

2018 Apr 03
2
llvm.localsescape/recover
...8* @llvm.localrecover(i8* bitcast (void (i8*)* @TEST to i8*), i8* %1, i32 0) %3 = bitcast i8* %2 to i8** %4 = load i8*, i8** %3 I get the right value passed to my original function (ie %1) If I however *just* add a struct with 3 doubles alloca in it and localsescape those too: %3 = alloca %threedoubles store %threedoubles zeroinitializer, %threedoubles* %3 call void (...) @llvm.localescape(i8** %1, i32* %2, %threedoubles* %3) I get a different value (full testcase here) https://gist.github.com/carlokok/e1c9aef9c8a382afdb280385a422f913 What am I doing wrong here?
2018 Apr 03
0
llvm.localsescape/recover
I would guess that %threedoubles has a large alignment and that is making things go wrong. I thought we fixed this bug, though. I can't find it in the tracker, but it's in there. Someone used __try with local variables of type 'double' on 32-bit and things didn't work out. I'm pretty sure we fixed it though...
2018 Apr 04
2
llvm.localsescape/recover
That's quite likely. I can reproduce this issue with llvm 6.0 though. I'll try with svn HEAD. On Tue, Apr 3, 2018, at 19:22, Reid Kleckner wrote: > I would guess that %threedoubles has a large alignment and that is making things go wrong. I thought we fixed this bug, though. I can't find it in the tracker, but it's in there. Someone used __try with local variables of type 'double' on 32-bit and things didn't work out. I'm pretty sure we fixed it though...
2018 Apr 04
0
llvm.localsescape/recover
On Wed, Apr 4, 2018, at 08:58, Carlo Kok via llvm-dev wrote: > That's quite likely. I can reproduce this issue with llvm 6.0 though. > I'll try with svn HEAD. > > On Tue, Apr 3, 2018, at 19:22, Reid Kleckner wrote: > > I would guess that %threedoubles has a large alignment and that is making things go wrong. I thought we fixed this bug, though. I can't find it in the tracker, but it's in there. Someone used __try with local variables of type 'double' on 32-bit and things didn't work out. I'm pretty sure we fixed it though...