[all-commits] [llvm/llvm-project] b5149f: [LTO] Fix assertion failed when flushing bitcode i...
Enna1 via All-commits
all-commits at lists.llvm.org
Tue Jan 4 21:40:37 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b5149f4e66a49a98b67e8e2de4e24a4af8e2781b
https://github.com/llvm/llvm-project/commit/b5149f4e66a49a98b67e8e2de4e24a4af8e2781b
Author: Xu Mingjie <xumingjie.enna1 at bytedance.com>
Date: 2022-01-04 (Tue, 04 Jan 2022)
Changed paths:
M lld/test/ELF/lto/emit-llvm.ll
M llvm/include/llvm/Support/raw_ostream.h
M llvm/lib/Support/raw_ostream.cpp
Log Message:
-----------
[LTO] Fix assertion failed when flushing bitcode incrementally for LTO output.
In https://reviews.llvm.org/D86905, we introduce an optimization, when lld emits LLVM bitcode,
we allow bitcode writer flush data to disk early when buffered data size is above some threshold.
But when `--plugin-opt=emit-llvm` and `-o /dev/null` are used,
lld will trigger assertion `BytesRead >= 0 && static_cast<size_t>(BytesRead) == BytesFromDisk`.
When we write output to /dev/null, BytesRead is zero, but at this program point BytesFromDisk is always non-zero.
Reviewed By: stephan.yichao.zhao, MaskRay
Differential Revision: https://reviews.llvm.org/D112297
More information about the All-commits
mailing list