forked from OSchip/llvm-project
60d3947922
For IR input files, we currently use LLVM diagnostic handler even the compilation is from clang. As a result, we are not able to use -Rpass to get the transformation reports. Some warnings are not handled properly either: We found many mysterious warnings in our ThinLTO backend compilations in SamplePGO and CSPGO. An example of the warning: "warning: net/proto2/public/metadata_lite.h:51:21: 0.02% (1 / 4999)" This turns out to be a warning by Wmisexpect, which is supposed to be filtered out by default. But since the filter is in clang's diagnostic hander, we emit these incomplete warnings from LLVM's diagnostic handler. This patch uses clang diagnostic handler for IR input files. We create a fake backendconsumer just to install the diagnostic handler. With this change, we will have proper handling of all the warnings and we can use -Rpass* options in IR input files compilation. Also note that with is patch, LLVM's diagnostic options, like "-mllvm -pass-remarks=*", are no longer be able to get optimization remarks. Differential Revision: https://reviews.llvm.org/D72523 |
||
---|---|---|
.. | ||
code-coverage-filter1.h | ||
code-coverage-filter2.h | ||
debug-info-embed-source.c | ||
debug-info-file-checksum-line.cpp | ||
debug-info-file-checksum-pre.cpp | ||
debug-info-file-checksum.c | ||
debug-info-macro.h | ||
opt-record.proftext | ||
pgo-sample-thinlto-summary.prof | ||
pgo-sample.prof | ||
pgotestclang.profraw | ||
pgotestir.profraw | ||
pgotestir.proftext | ||
pgotestir_cs.proftext | ||
sanitizer-blacklist-vfsoverlay.yaml | ||
sanitizer-special-case-list.sanitized.txt | ||
sanitizer-special-case-list.unsanitized1.txt | ||
sanitizer-special-case-list.unsanitized2.txt | ||
sanitizer-special-case-list.unsanitized3.txt | ||
sanitizer-special-case-list.unsanitized4.txt | ||
stdio.h | ||
thinlto-distributed-backend-skip.bc | ||
thinlto-multi-module.ll | ||
thinlto_backend.ll | ||
thinlto_backend_local_name_conflict1.ll | ||
thinlto_backend_local_name_conflict2.ll | ||
thinlto_expect1.proftext | ||
thinlto_expect2.proftext |