[PATCH] D49337: Skip debuginfo intrinsic in markLiveBlocks.
Xin Tong via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 13 21:38:39 PDT 2018
trentxintong created this revision.
trentxintong added a reviewer: davide.
Herald added subscribers: JDevlieghere, aprantl.
The optimizer is 10%+ slower with vs without debuginfo. I started checking where
the difference is coming from.
I compiled sqlite3.c with and without debug info from CTMark and compare the time difference.
I use Xcode Instrument to find where time is spent. This brings about 20ms, out of ~20s.
Repository:
rL LLVM
https://reviews.llvm.org/D49337
Files:
lib/Transforms/Utils/Local.cpp
Index: lib/Transforms/Utils/Local.cpp
===================================================================
--- lib/Transforms/Utils/Local.cpp
+++ lib/Transforms/Utils/Local.cpp
@@ -2016,6 +2016,9 @@
// instructions into LLVM unreachable insts. The instruction combining pass
// canonicalizes unreachable insts into stores to null or undef.
for (Instruction &I : *BB) {
+ // Skip debug info.
+ if (isa<DbgInfoIntrinsic>(I))
+ continue;
// Assumptions that are known to be false are equivalent to unreachable.
// Also, if the condition is undefined, then we make the choice most
// beneficial to the optimizer, and choose that to also be unreachable.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49337.155548.patch
Type: text/x-patch
Size: 702 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180714/f44ce2ae/attachment.bin>
More information about the llvm-commits
mailing list