julia
715c50d8 - codegen: make gcroots for argument-derived values (#53501)

Commit
1 year ago
codegen: make gcroots for argument-derived values (#53501) This function might previously refuse to make gc roots for any of the function's arguments (i.e. it potentially assumed everything was in an alloca), which was only valid if we could guarantee that no IPO passes run. This commit aims to make that safe, but deferring such decisions about their source until llvm-late-gc-lowering can make them valid. This should make inlining-safe gc annotations for code_llvm(raw=true, optimize=false, (Some{Int},)) do x; GC.@preserve x GC.safepoint(); end and also better annotations even without inlining for code_llvm(raw=true, optimize=false, (Some{Any},)) do x; GC.@preserve x GC.safepoint(); end
Author
Parents
Loading