llvm/lib
Michael Zolotukhin 7da6d8d393 [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261595 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 00:30:50 +00:00
..
Analysis [PM] Improve the API and comments around the analysis manager proxies. 2016-02-23 00:05:00 +00:00
AsmParser [IR] Extend cmpxchg to allow pointer type operands 2016-02-19 00:06:41 +00:00
Bitcode Bitcode writer: fix a typo, using getName() instead of getSourceFileName() 2016-02-16 22:07:03 +00:00
CodeGen Include ProfileData as CodeGen's required library. 2016-02-22 22:54:14 +00:00
DebugInfo [DebugInfoPDB] Add source / line number accessors for PDB. 2016-02-18 18:47:29 +00:00
ExecutionEngine [Orc] Add stack-realignment code to the i386 resolver function. 2016-02-21 22:50:26 +00:00
Fuzzer [libFuzzer] only read MaxLen bytes from every file in the corpus to speedup loading the corpus 2016-02-18 21:49:10 +00:00
IR [PM] Improve the API and comments around the analysis manager proxies. 2016-02-23 00:05:00 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Pass a std::unique_ptr to IRMover::move. 2016-02-16 18:50:12 +00:00
LTO [PM] Port the PostOrderFunctionAttrs pass to the new pass manager and 2016-02-18 11:03:11 +00:00
MC [X86] Create mergeable constant pool entries for AVX 2016-02-22 22:23:11 +00:00
Object Represent the dynamic table itself with a DynRegionInfo. 2016-02-17 16:48:00 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes [PM/AA] Wire up TBAA to the new pass manager's registry and test it. 2016-02-20 04:04:52 +00:00
ProfileData Add prefix based function layout when profile is available. 2016-02-22 22:14:14 +00:00
Support Fix LLVM's handling and detection of skylake and cannonlake CPUs 2016-02-21 17:12:03 +00:00
TableGen Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Target [X86] Create mergeable constant pool entries for AVX 2016-02-22 22:23:11 +00:00
Transforms [LoopUnroll] Avoid unnecessary DT recomputation. 2016-02-23 00:30:50 +00:00
CMakeLists.txt
LLVMBuild.txt