[LLVMbugs] [Bug 1917] New: Use address space markers to improve GC
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Mon Jan 14 11:30:52 PST 2008
http://llvm.org/bugs/show_bug.cgi?id=1917
Summary: Use address space markers to improve GC
Product: libraries
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Keywords: code-quality
Severity: enhancement
Priority: P2
Component: Common Code Generator Code
AssignedTo: unassignedbugs at nondot.org
ReportedBy: sabre at nondot.org
CC: gordonhenriksen at mac.com, llvmbugs at cs.uiuc.edu
One of the big bad things about the llvm.gcroot intrinsic is that it implicitly
pins the variable on the stack, preventing optimization and analysis from being
effective. Instead of marking GC'd pointers with llvm.gcroot, it would be
really cool to:
1. Mark 'GC pointers' as such, and allow mem2reg to promote them.
2. Have the code generator insert spills and reloads of the registers when they
are live across safe points (i.e. calls).
I've long resisted having a flag on pointers to do this, but now that we have
support for alternate address spaces, it seems like a reasonable thing to
define one address space as being the "GC address space" or something, and use
this mechanism to mark our pointers.
This should lead to significantly better codegen for languages that use GC.
-Chris
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list