[PATCH] D16835: InstCombine: Restrict computeKnownBits() on everyValue to OptLevel > 2
Matthias Braun via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 2 18:14:48 PST 2016
MatzeB created this revision.
MatzeB added a reviewer: hfinkel.
MatzeB added subscribers: sanjoy, llvm-commits.
MatzeB set the repository for this revision to rL LLVM.
Herald added subscribers: mcrosier, joker.eph.
As part of r251146 InstCombine was extended to call computeKnownBits on
every value in the function to determine whether it happens to be
constant. This increases typical compiletime by 1-3% (5% in irgen+opt
time) in my measurements. On the other hand this case did not trigger
once in the whole llvm-testsuite.
This patch introduces the notion of ExpensiveCombines which are only
enabled for OptLevel > 2. I removed the check in InstructionSimplify as
that is called from various places where the OptLevel is not known but
given the rarity of the situation I think a check in InstCombine is
enough.
Repository:
rL LLVM
http://reviews.llvm.org/D16835
Files:
include/llvm/Transforms/IPO/PassManagerBuilder.h
include/llvm/Transforms/InstCombine/InstCombine.h
include/llvm/Transforms/Scalar.h
lib/Transforms/IPO/PassManagerBuilder.cpp
lib/Transforms/InstCombine/InstCombineInternal.h
lib/Transforms/InstCombine/InstructionCombining.cpp
test/Analysis/ValueTracking/known-bits-from-range-md.ll
test/Transforms/InstCombine/all-bits-shift.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16835.46732.patch
Type: text/x-patch
Size: 13562 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160203/f533f97f/attachment.bin>
More information about the llvm-commits
mailing list