OSDN Git Service

Keep Optimization Remark Yaml in NewPM
authorSam Elliott <ashe2@cs.washington.edu>
Sun, 20 Aug 2017 01:30:45 +0000 (01:30 +0000)
committerSam Elliott <ashe2@cs.washington.edu>
Sun, 20 Aug 2017 01:30:45 +0000 (01:30 +0000)
commit74a34d9193e1d5027785b1fed7a30a2f18c731a6
tree16bcef0926855af32bca6fab753c001db005ac96
parente12236f216fd10580c830e4cd5c7ec7cd283ee03
Keep Optimization Remark Yaml in NewPM

Summary:
The New Pass Manager infrastructure was forgetting to keep around the optimization remark yaml file that the compiler might have been producing. This meant setting the option to '-' for stdout worked, but setting it to a filename didn't give file output (presumably it was deleted because compilation didn't explicitly keep it). This change just ensures that the file is kept if compilation succeeds.

So far I have updated one of the optimization remark output tests to add a version with the new pass manager. It is my intention for this patch to also include changes to all tests that use `-opt-remark-output=` but I wanted to get the code patch ready for review while I was making all those changes.

Fixes https://bugs.llvm.org/show_bug.cgi?id=33951

Reviewers: anemet, chandlerc

Reviewed By: anemet, chandlerc

Subscribers: javed.absar, chandlerc, fhahn, llvm-commits

Differential Revision: https://reviews.llvm.org/D36906

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311271 91177308-0d34-0410-b5e6-96231b3b80d8
test/Transforms/GVN/opt-remarks.ll
test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
test/Transforms/NewGVN/opt-remarks.ll
test/Transforms/PGOProfile/memop_size_opt.ll
test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
test/Transforms/SLPVectorizer/AArch64/horizontal.ll
test/Transforms/SampleProfile/remarks.ll
test/Transforms/Util/libcalls-opt-remarks.ll
tools/opt/NewPMDriver.cpp
tools/opt/NewPMDriver.h
tools/opt/opt.cpp