[llvm-dev] Statepoint GC: query about non-relocating statepoints and instcombine

Philip Reames via llvm-dev llvm-dev at lists.llvm.org
Fri Nov 12 11:25:38 PST 2021


The values are assumed to be relocated if live at the safepoint. Thus, 
even with a non-relocating GC, we decide the values aren't live.

You can fix this by generating the gc.relocates.

Philip

On 11/7/21 3:38 PM, Colm Ó hIcí via llvm-dev wrote:
> Hi,
>
> I'm using the statepoint GC infra, but without RS4GC. I'm manually emitting
> statepoints and not currently doing relocations.
>
> I ran into an issue when updating from 11 to 12 (or 13, or ToT): my gc-live
> operand bundles were being wiped.
>
> I tracked this down to https://reviews.llvm.org/D85959, but this just has
> me more confused. If InstCombine removes any gc-live entries that aren't
> relocated, how are you meant to emit the explicit statepoints?
>
> I might just be missing something obvious here- the documentation for explicit
> statepoints seems sparse and out of date.
>
> Hopefully someone has some insight. :)
>
> Thanks!
> Colm
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list