aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorAlex Zinenko <zinenko@google.com>2020-03-03 10:58:33 +0100
committerAlex Zinenko <zinenko@google.com>2020-03-03 17:10:54 +0100
commitd7fbfbb171492fd1dfa1a0d131faf84facb6f356 (patch)
treef73da3a743f5e8870b581289a0bf406f7446b6d1 /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parentefa2d533773163fafa182bd66003cf4527d46a0f (diff)
downloadllvm-d7fbfbb171492fd1dfa1a0d131faf84facb6f356.zip
llvm-d7fbfbb171492fd1dfa1a0d131faf84facb6f356.tar.gz
llvm-d7fbfbb171492fd1dfa1a0d131faf84facb6f356.tar.bz2
[mlir] ExecutionEngine: fix assertion on the error path
MLIR ExecutionEngine and derived tools (e.g., mlir-cpu-runner) would trigger an assertion inside ORC JIT while ExecutionEngine is being destructed after a failed linking due to a missing function definition. The reason for this is the JIT lookup that may return an Error referring to strings stored internally by the JIT. If the Error outlives the ExecutionEngine, it would want have a dangling reference, which is currently caught by an assertion inside JIT thanks to hand-rolled reference counting. Rewrap the error message into a string before returning. Differential Revision: https://reviews.llvm.org/D75508
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions