This patch makes CorrelatedValuePropagation preserve LazyValueInfo by adding LazyValueInfo::eraseValue & calling it whenever an instruction is erased.
Passes make check , test-suite, and SPECrate 2017.
Patch by aqjune (Juneyoung Lee)
Differential D59349
Let CorrelatedValuePropagation preserve LazyValueInfo aqjune on Mar 14 2019, 1:35 AM. Authored by
Details This patch makes CorrelatedValuePropagation preserve LazyValueInfo by adding LazyValueInfo::eraseValue & calling it whenever an instruction is erased. Passes make check , test-suite, and SPECrate 2017. Patch by aqjune (Juneyoung Lee)
Diff Detail Event Timeline
Comment Actions Marking to remove from review queue. When replying to questions, please mark as ready for review.
Comment Actions I couldn't find ready for review option from anywhere :( 'Add Action...' dropdown menu contains Plan Changes and Abandon Revision only. Comment Actions LGTM. This may be slightly imprecise - for instance, when we fold an operand which allows further LVI analysis - but the preservation is conservatively correct. p.s. Updating a review resets the status. Comment Actions Thanks! :) |
I'm confused why we need this. LVI uses ValueHandles, which should delete the entry from the cache once it's destroyed. Do you have a test case where that is not happening?