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: [email protected]
Reporter: [email protected]
CC: [email protected]
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs