[InstCombine] remove uses before deleting instructions (PR43723)
This is a less ambitious alternative to previous attempts to fix this bug with: rG56b2aee1 rGef02831f rG56b2aee1 ...because those all failed bot testing with use-after-free or other problems. The original crashing/assert problem is still showing up on various fuzzers, so I've added a new minimal test based on another one of those failures. Instead of trying to manage and coordinate the logic in isAllocSiteRemovable() with the deletion loops, just loosen the existing code that handles casts and GEP by replacing with undef to allow other opcodes. That means that no instructions with uses should assert on deletion, and there are hopefully no non-obvious sanitizer bugs induced.
parent
324fd590
Please register or sign in to comment