This is an archive of the discontinued LLVM Phabricator instance.

Fix AliasSetTracker bug
AbandonedPublic

Authored by Prazek on Apr 28 2017, 12:11 PM.

Details

Summary

AliasSetTracker was crashing when the UnknownInstruction
was reduced to Value (llvm.invariant.group.barrier(null) to null)

Event Timeline

Prazek created this revision.Apr 28 2017, 12:11 PM
Prazek retitled this revision from Fix AliasSetTracker to Fix AliasSetTracker bug.Apr 28 2017, 12:13 PM
sanjoy edited edge metadata.Apr 28 2017, 12:18 PM

Hi Piotr,

I've been looking at this bug too. Unfortunately changing the cast to dyn_cast_or_null is not sufficient -- once the ValueHandle has been RAUW'ed to something else, you've lost the instruction, and so you have an incomplete list of UnknownInsts.

Hi Piotr,

I've been looking at this bug too. Unfortunately changing the cast to dyn_cast_or_null is not sufficient -- once the ValueHandle has been RAUW'ed to something else, you've lost the instruction, and so you have an incomplete list of UnknownInsts.

I haven't got that deep into that. Are you working on it right now, or do you have some ideas how to fix it?

Yes, we need a VH that does not track RAUW but nulls itself out on deletion. I had a fix that I had to revert and I'm currently working on figuring out a way to reland it.

Yes, we need a VH that does not track RAUW but nulls itself out on deletion. I had a fix that I had to revert and I'm currently working on figuring out a way to reland it.

Awesome, I will wait with the ConstantFolder patch that breaks then

Prazek abandoned this revision.Apr 28 2017, 12:29 PM

If you will have fix, please add this patch as dependency https://reviews.llvm.org/D32423