Displaying 11 results from an estimated 11 matches for "gc_relocate".
2013 Oct 24
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
...he safepoint at the back-edge of a loop might
look like:
; <label>: body
%a = phi i32 [ %a.relocated, %body ] [ %a.initial_value, %pred ]
%b = phi i32 [ %b.relocated, %body ] [ %b.initial_value, %pred ]
;; Use %a and %b
;; The safepoint starts here
%a.relocated = @llvm.gc_relocate(%a)
%b.relocated = @llvm.gc_relocate(%b)
br %body
This allows us to not bother with relocating derived pointers pointing
inside %a and %b, since it is semantically incorrect for llvm to reuse
them in the next iteration of the loop. We lower gc_relocate to a
pseudo opcode which lowered int...
2013 Oct 24
3
[LLVMdev] Interfacing llvm with a precise, relocating GC
On Oct 24, 2013, at 2:50 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
> On 24 October 2013 17:32, Sanjoy Das <sanjoy at azulsystems.com> wrote:
>> Hello llvm-dev!
>>
>> My colleages and I are currently evaluating llvm's suitability as a
>> JIT compiler interfacing with a precise, relocating garbage collector.
>> While we
2013 Oct 25
3
[LLVMdev] Interfacing llvm with a precise, relocating GC
...ht
> look like:
>
> ; <label>: body
> %a = phi i32 [ %a.relocated, %body ] [ %a.initial_value, %pred ]
> %b = phi i32 [ %b.relocated, %body ] [ %b.initial_value, %pred ]
> ;; Use %a and %b
>
> ;; The safepoint starts here
> %a.relocated = @llvm.gc_relocate(%a)
> %b.relocated = @llvm.gc_relocate(%b)
> br %body
>
> This allows us to not bother with relocating derived pointers pointing
> inside %a and %b, since it is semantically incorrect for llvm to reuse
> them in the next iteration of the loop.
This is the right general i...
2013 Oct 26
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
...> ; <label>: body
> %a = phi i32 [ %a.relocated, %body ] [ %a.initial_value, %pred ]
> %b = phi i32 [ %b.relocated, %body ] [ %b.initial_value, %pred ]
> ;; Use %a and %b
>
> ;; The safepoint starts here
> %a.relocated = @llvm.gc_relocate(%a)
> %b.relocated = @llvm.gc_relocate(%b)
> br %body
>
> This allows us to not bother with relocating derived pointers pointing
> inside %a and %b, since it is semantically incorrect for llvm to reuse
> them in the next iteration of the loop.
>
>...
2013 Oct 26
1
[LLVMdev] Interfacing llvm with a precise, relocating GC
...> ; <label>: body
>> %a = phi i32 [ %a.relocated, %body ] [ %a.initial_value, %pred ]
>> %b = phi i32 [ %b.relocated, %body ] [ %b.initial_value, %pred ]
>> ;; Use %a and %b
>>
>> ;; The safepoint starts here
>> %a.relocated = @llvm.gc_relocate(%a)
>> %b.relocated = @llvm.gc_relocate(%b)
>> br %body
>>
>> This allows us to not bother with relocating derived pointers pointing
>> inside %a and %b, since it is semantically incorrect for llvm to reuse
>> them in the next iteration of the loop.
>...
2013 Oct 26
3
[LLVMdev] Interfacing llvm with a precise, relocating GC
...> ; <label>: body
>> %a = phi i32 [ %a.relocated, %body ] [ %a.initial_value, %pred ]
>> %b = phi i32 [ %b.relocated, %body ] [ %b.initial_value, %pred ]
>> ;; Use %a and %b
>>
>> ;; The safepoint starts here
>> %a.relocated = @llvm.gc_relocate(%a)
>> %b.relocated = @llvm.gc_relocate(%b)
>> br %body
>>
>> This allows us to not bother with relocating derived pointers pointing
>> inside %a and %b, since it is semantically incorrect for llvm to reuse
>> them in the next iteration of the loop.
>...
2013 Oct 26
0
[LLVMdev] Interfacing llvm with a precise, relocating GC
...%a = phi i32 [ %a.relocated, %body ] [ %a.initial_value, %pred ]
>>>> %b = phi i32 [ %b.relocated, %body ] [ %b.initial_value, %pred ]
>>>> ;; Use %a and %b
>>>>
>>>> ;; The safepoint starts here
>>>> %a.relocated = @llvm.gc_relocate(%a)
>>>> %b.relocated = @llvm.gc_relocate(%b)
>>>> br %body
>>>>
>>>> This allows us to not bother with relocating derived pointers pointing
>>>> inside %a and %b, since it is semantically incorrect for llvm to reuse
>>>&...
2012 Feb 21
5
[LLVMdev] buildbot failure in LLVM on clang-x86_64-debian-fnt
...ome/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1133:1:
current parser token 'LISP'
2. /home/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1097:6:
LLVM IR generation of declaration 'gc_relocate'
3. /home/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1097:6:
Generating code for declaration 'gc_relocate'
4. /home/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1098:1:
LLVM IR ge...
2012 Feb 21
0
[LLVMdev] buildbot failure in LLVM on clang-x86_64-debian-fnt
...lave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1133:1:
> current parser token 'LISP'
> 2.
> /home/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1097:6:
> LLVM IR generation of declaration 'gc_relocate'
> 3.
> /home/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/siod/slib.c:1097:6:
> Generating code for declaration 'gc_relocate'
> 4.
> /home/baldrick/osuosl/slave/clang-x86_64-debian-fnt/test-suite.src/MultiSource/Applications/sio...
2014 Jun 04
4
[LLVMdev] Code for late safepoint placement available
...er
we simply deprecate the existing gcroot support and target it for
complete removal a couple of releases down the road..
* What programmatic interface should we present at the IR level and
where should it live? We're moving towards a CallSite like
interface for statepoints, gc_relocates, and gc_results call sites.
Is this the right approach? If so, should it live in the IR
subtree, or Support? (Note: The current code is only about 40%
migrated to the new interface.)
* To support invokable calls with safepoints, we need to make the
statepoint intrinsic invokab...
2014 Jun 05
2
[LLVMdev] Code for late safepoint placement available
...uld prefer we simply deprecate the existing gcroot support and target it for complete removal a couple of releases down the road..
>> • What programmatic interface should we present at the IR level and where should it live? We're moving towards a CallSite like interface for statepoints, gc_relocates, and gc_results call sites. Is this the right approach? If so, should it live in the IR subtree, or Support? (Note: The current code is only about 40% migrated to the new interface.)
>> • To support invokable calls with safepoints, we need to make the statepoint intrinsic invokable. Thi...