search for: retaddr1

Displaying 7 results from an estimated 7 matches for "retaddr1".

Did you mean: retaddr
2017 Apr 17
9
[RFC] Adding CPS call support
...ss(@foo, %retpt) store i8* %retAddr, i8** %sp ; jump to @bar tail call void @bar(i8** %sp, ...) retpt: ; <- how can @bar "call" %retpt? %sp2 = ??? %val = ??? ; ... } define void @bar (i8** %sp, ...) { ; perform a return %retAddr0 = load i8*, i8** %sp %retAddr1 = bitcast i8* %retAddr0 to void (i8**, i64)* %val = bitcast i64 1 to i64 ; jump back to %retpt in @foo, passing %sp and %val tail call void %retAddr1(i8** %sp, i64 %val) } ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; There is currently no way to jump back to %retpt from another func...
2017 Apr 17
2
[RFC] Adding CPS call support
...tail call void @bar(i8** %sp, ...) >> retpt: ; <- how can @bar "call" %retpt? >> %sp2 = ??? >> %val = ??? >> ; ... >> } >> define void @bar (i8** %sp, ...) { >> ; perform a return >> %retAddr0 = load i8*, i8** %sp >> %retAddr1 = bitcast i8* %retAddr0 to void (i8**, i64)* >> %val = bitcast i64 1 to i64 >> ; jump back to %retpt in @foo, passing %sp and %val >> tail call void %retAddr1(i8** %sp, i64 %val) >> } >> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >> There is currently...
2017 Apr 19
3
[RFC] Adding CPS call support
...> >> retpt: ; <- how can @bar "call" %retpt? >> %sp2 = ??? >> %val = ??? >> ; ... >> >> } >> >> define void @bar (i8** %sp, ...) { >> ; perform a return >> %retAddr0 = load i8*, i8** %sp >> %retAddr1 = bitcast i8* %retAddr0 to void (i8**, i64)* >> %val = bitcast i64 1 to i64 >> ; jump back to %retpt in @foo, passing %sp and %val >> tail call void %retAddr1(i8** %sp, i64 %val) >> } >> >> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >> >...
2013 Nov 19
2
[LLVMdev] [3.4 branch] PPC64 regressions
...7s] <stdin>:40:2: note: with variable "REGSP" equal to "1" [ 3467s] lwzx r6, r7, r6 [ 3467s] ^ [ 3467s] <stdin>:65:3: note: possible intended match here [ 3467s] stw r9, 48(r1) [ 3467s] ^ [ 3466s] /home/abuild/rpmbuild/BUILD/llvm/test/CodeGen/PowerPC/2010-05-03-retaddr1.ll:22:10: error: expected string not found in input [ 3466s] ; CHECK: lwz r3, 8(r2) [ 3466s] ^ [ 3466s] <stdin>:20:2: note: scanning from here [ 3466s] lwzx r3, r2, r3 [ 3466s] ^ [ 3466s] <stdin>:21:2: note: possible intended match here [ 3466s] lwz r0, 8(r1) [ 3466s] ^ ---...
2013 Nov 19
0
[LLVMdev] [3.4 branch] PPC64 regressions
...ot;REGSP" equal to "1" > [ 3467s] lwzx r6, r7, r6 > [ 3467s] ^ > [ 3467s] <stdin>:65:3: note: possible intended match here > [ 3467s] stw r9, 48(r1) > [ 3467s] ^ > > > > [ 3466s] > /home/abuild/rpmbuild/BUILD/llvm/test/CodeGen/PowerPC/2010-05-03-retaddr1.ll:22:10: > error: expected string not found in input > [ 3466s] ; CHECK: lwz r3, 8(r2) > [ 3466s] ^ > [ 3466s] <stdin>:20:2: note: scanning from here > [ 3466s] lwzx r3, r2, r3 > [ 3466s] ^ > [ 3466s] <stdin>:21:2: note: possible intended match here > [ 3466s] l...
2017 Apr 17
2
[RFC] Adding CPS call support
...> >> retpt: ; <- how can @bar "call" %retpt? >> %sp2 = ??? >> %val = ??? >> ; ... >> >> } >> >> define void @bar (i8** %sp, ...) { >> ; perform a return >> %retAddr0 = load i8*, i8** %sp >> %retAddr1 = bitcast i8* %retAddr0 to void (i8**, i64)* >> %val = bitcast i64 1 to i64 >> ; jump back to %retpt in @foo, passing %sp and %val >> tail call void %retAddr1(i8** %sp, i64 %val) >> } >> >> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >> >...
2017 Apr 18
2
[RFC] Adding CPS call support
> Most architectures have a call instruction which does not push anything onto the stack; e.g. on ARM, the "BL" instruction saves the return address in LR. On other architectures, you can emulate this (for example, you could lower an IR "call" to LEA+JMP on x86-64). This is similar to what I was originally thinking, since the end goal of all of this is the following