diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-12-09 23:56:39 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-12-09 23:56:39 +0000 |
commit | 22600ff32878d72edf4eeb2c52139760fd443656 (patch) | |
tree | 01cbab831f32a58d215df1afef9fc57a4524a642 /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | |
parent | 4cea5b4954e557c2e4c0ff5444952619d17defbd (diff) | |
download | bcm5719-llvm-22600ff32878d72edf4eeb2c52139760fd443656.tar.gz bcm5719-llvm-22600ff32878d72edf4eeb2c52139760fd443656.zip |
IR: Fix memory corruption in MDNode new/delete
There were two major problems with `MDNode` memory management.
1. `MDNode::operator new()` called a placement array constructor for
`MDOperand`. What? Each operand needs to be placed individually.
2. `MDNode::operator delete()` failed to destruct the `MDOperand`s at
all.
Frankly it's hard to understand how this worked locally, how this
survived an LTO bootstrap, or how it worked on most of the bots.
llvm-svn: 223858
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
0 files changed, 0 insertions, 0 deletions