Displaying 4 results from an estimated 4 matches for "localsescape".
Did you mean:
localescape
2018 Apr 03
2
llvm.localsescape/recover
...octmp)
and recover it with:
%2 = call i8* @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...
2018 Apr 03
0
llvm.localsescape/recover
...ll i8* @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/e1c9aef9c8a382...
2018 Apr 04
2
llvm.localsescape/recover
...ver(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)
>>
>> http...
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