Displaying 4 results from an estimated 4 matches for "localrecover".
2018 Apr 03
2
llvm.localsescape/recover
...= alloca i8*, align 4
store i8* %0, i8** %1
%2 = alloca i32
store i32 0, i32* %2
call void (...) @llvm.localescape(i8** %1, i32* %2)
call my finaly like:
%loctmp = call i8* @llvm.localaddress()
call void @"TEST$Fin0"(i8 0, i8* %loctmp)
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 %...
2018 Apr 03
0
llvm.localsescape/recover
...= alloca i32
> store i32 0, i32* %2
> call void (...) @llvm.localescape(i8** %1, i32* %2)
>
> call my finaly like:
>
> %loctmp = call i8* @llvm.localaddress()
> call void @"TEST$Fin0"(i8 0, i8* %loctmp)
>
> 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:
&...
2015 Dec 01
10
[RFC] Intrinsic naming convention (words with dots)
...rnally-defined terms (e.g. llvm.va_start):
No separators (except for the initial namespace prefix):
@llvm.gcroot
@llvm.gcread
@llvm.gcwrite
@llvm.experimental.stackmap
@llvm.experimental.patchpoint
@llvm.experimental.gc.statepoint
@llvm.returnaddress
@llvm.frameaddress
@llvm.localescape
@llvm.localrecover
@llvm.stacksave
@llvm.stackrestore
@llvm.pcmarker
@llvm.readcyclecounter
@llvm.bitreverse
@llvm.eh.begincatch
@llvm.eh.endcatch
@llvm.eh.padparam
@llvm.stackprotector
@llvm.stackprotectorcheck
@llvm.objectsize
@llvm.donothing
Words with dots:
@llvm.sadd.with.overflow
@llvm.uadd.with.overfl...
2018 Apr 04
2
llvm.localsescape/recover
...l void (...) @llvm.localescape(i8** %1, i32* %2)
>>
>> call my finaly like:
>>
>> %loctmp = call i8* @llvm.localaddress()
>> call void @"TEST$Fin0"(i8 0, i8* %loctmp)
>>
>> 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 loc...