1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/lib/Transforms
Michael Zolotukhin cb26e1de36 [LoopUnroll] Avoid unnecessary DT recomputation.
Summary:
When we completely unroll a loop, it's pretty easy to update DT in-place and
thus avoid rebuilding it. DT recalculation is one of the most time-consuming
tasks in loop-unroll, so avoiding it at least in case of full unroll should be
beneficial.

On some extreme (but still real-world) tests this patch improves compile time by
~2x.

Reviewers: escha, jmolloy, hfinkel, sanjoy, chandlerc

Subscribers: joker.eph, sanjoy, llvm-commits

Differential Revision: http://reviews.llvm.org/D17473

llvm-svn: 261595
2016-02-23 00:30:50 +00:00
..
Hello Remove autoconf support 2016-01-26 21:29:08 +00:00
InstCombine Revert "[attrs] Handle convergent CallSites." 2016-02-22 18:24:43 +00:00
Instrumentation [sanitizer-coverage] implement -fsanitize-coverage=trace-pc. This is similar to trace-bb, but has a different API. We already use the equivalent flag in GCC for Linux kernel fuzzing. We may be able to use this flag with AFL too 2016-02-17 21:34:43 +00:00
IPO Set function entry count as 0 if sample profile is not found for the function. 2016-02-22 22:46:21 +00:00
ObjCARC ADT: Remove == and != comparisons between ilist iterators and pointers 2016-02-21 20:39:50 +00:00
Scalar [LoopDataPrefetch] Make it testable with opt 2016-02-22 21:41:22 +00:00
Utils [LoopUnroll] Avoid unnecessary DT recomputation. 2016-02-23 00:30:50 +00:00
Vectorize ADT: Remove == and != comparisons between ilist iterators and pointers 2016-02-21 20:39:50 +00:00
CMakeLists.txt
LLVMBuild.txt