[LLVMbugs] [Bug 21732] New: [Statepoint] Forward nullness of pointers through statepoints

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Dec 3 11:30:03 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=21732

            Bug ID: 21732
           Summary: [Statepoint] Forward nullness of pointers through
                    statepoints
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedbugs at nondot.org
          Reporter: listmail at philipreames.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The nullness of a pointer does not change when it's relocated by a safepoint. 
As a result, it is sound to forward nullness facts from before a statepoint to
the relocated value after the safepoint.

There are two sub-cases:
- isKnownNonNull(pointer) should set the nonnull attribute on the gc.relocate
representing the relocation of 'pointer'.
- The gc.relocate representing the relocation of a constant 'null' should be
replaced with the constant 'null'.  This should probably be placed under an
option parameterized by the GC type.  While every relocating collector I'm
aware of preserves the same bit pattern for the 'null' constant when
relocating, there could be some collector out there that doesn't.  


Doing this in the code inserting the relocations will be strictly more powerful
than doing it post insertion, but given these should be fairly straight forward
to implement, there's no reason not to do it post insertion as well.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141203/6651dc28/attachment.html>


More information about the llvm-bugs mailing list