OSDN Git Service

[PM] Fix a bad invalid densemap iterator bug in the new invalidation
authorChandler Carruth <chandlerc@gmail.com>
Tue, 29 Nov 2016 12:54:34 +0000 (12:54 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 29 Nov 2016 12:54:34 +0000 (12:54 +0000)
commite1b9ddfe20525e529f824396c22456db18c1d68b
treedd787fbcd48c91da1e33c2c6135eded7cf6881a5
parent15bd6737cfc01bda6baddfd850ae9ef5ed2cf7fd
[PM] Fix a bad invalid densemap iterator bug in the new invalidation
logic.

Yup, the invalidation logic has an invalid iterator bug. Can't make this
stuff up.

We can recursively insert things into the map so we can't cache the
iterator into that map across those recursive calls. We did this
differently in two places. I have an end-to-end test that triggers at
least one of them. I'm going to work on a nice minimal test case that
triggers these, but I didn't want to leave the bug in the tree while
I tried to trigger it.

Also, the dense map iterator checking stuff we have now is awesome. =D

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288135 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/PassManager.h