diff options
author | Justin Bogner <mail@justinbogner.com> | 2016-04-12 21:34:24 +0000 |
---|---|---|
committer | Justin Bogner <mail@justinbogner.com> | 2016-04-12 21:34:24 +0000 |
commit | 32ad24d4efae1484a73e91257f8fe3d1c8bcf7be (patch) | |
tree | c833d7a95790e485208d48491625c13abf2db7a6 /llvm/tools/llvm-as/llvm-as.cpp | |
parent | d09ae3bfc5a49a384f283544d43f542aac0ba7b5 (diff) | |
download | bcm5719-llvm-32ad24d4efae1484a73e91257f8fe3d1c8bcf7be.tar.gz bcm5719-llvm-32ad24d4efae1484a73e91257f8fe3d1c8bcf7be.zip |
X86: Avoid accessing SDValues after they've been RAUW'd
This fixes two use-after-frees in selectLEA64_32Addr. If matchAddress
matches an ADD with an AND as an operand, and that AND hits one of the
"heroic transforms" that folds masks and shifts, we end up with N
pointing to an SDNode that was deleted. Make sure we're done accessing
it before that.
Found by ASan with the recycling allocator changes in llvm.org/PR26808.
llvm-svn: 266130
Diffstat (limited to 'llvm/tools/llvm-as/llvm-as.cpp')
0 files changed, 0 insertions, 0 deletions