aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/TestModuleFileExtension.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2021-03-04 23:05:30 -0800
committerCraig Topper <craig.topper@sifive.com>2021-03-04 23:05:32 -0800
commitad532be01251c3593616d7ede29bc43a87e30726 (patch)
treed704efc0a5ad2bbb9471a2e2a9a60397be4868d8 /clang/lib/Frontend/TestModuleFileExtension.cpp
parent74e6030bcbcc8e628f9a99a424342a0c656456f9 (diff)
downloadllvm-ad532be01251c3593616d7ede29bc43a87e30726.zip
llvm-ad532be01251c3593616d7ede29bc43a87e30726.tar.gz
llvm-ad532be01251c3593616d7ede29bc43a87e30726.tar.bz2
[SelectionDAG] Assert that operands to SelectionDAG::getNode are not DELETED_NODE to catch issues like PR49393 earlier.
I'm not sure this would catch all such issues, but it would catch some. The problem for PR49393 was that we were holding a reference to a node that wasn't connect edto the DAG across a function that could delete unused nodes. In this particular case we managed to try to use the deleted node while it was in the deleted state before its memory got recycled. It could also happen that we delete the node, something allocates a new node which recycles the memory. Then we try to use the reference we were holding and it is now a completely different node with different valid opcode. This patch would not catch that. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D97969
Diffstat (limited to 'clang/lib/Frontend/TestModuleFileExtension.cpp')
0 files changed, 0 insertions, 0 deletions