llvm-project/llvm/test
Chen Li c0f3a158f0 [LoopUnswitch] Code refactoring to separate trivial loop unswitch and non-trivial loop unswitch in processCurrentLoop()
Summary: The current code in LoopUnswtich::processCurrentLoop() mixes trivial loop unswitch and non-trivial loop unswitch together. It goes over all basic blocks in the loop and checks if a condition is trivial or non-trivial unswitch condition. However, trivial unswitch condition can only occur in the loop header basic block (where it controls whether or not the loop does something at all). This refactoring separate trivial loop unswitch and non-trivial loop unswitch. Before going over all basic blocks in the loop, it checks if the loop header contains a trivial unswitch condition. If so, unswitch it. Otherwise, go over all blocks like before but don't check trivial condition any more since they are not possible to be in the other blocks. This code has no functionality change.

Reviewers: meheff, reames, broune

Subscribers: llvm-commits

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

llvm-svn: 242873
2015-07-22 05:26:29 +00:00
..
Analysis [MDA] change BlockScanLimit into a command line option. 2015-07-21 21:50:39 +00:00
Assembler Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
Bindings [OCaml] Do not use -warn-error in tests. 2015-07-17 17:33:23 +00:00
Bitcode Add argmemonly attribute. 2015-07-11 10:30:36 +00:00
BugPoint IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
CodeGen [BranchFolding] do not iterate the aliases of virtual registers 2015-07-22 04:16:52 +00:00
DebugInfo Add a "debugger tuning" concept that allows us to fine-tune how we 2015-07-15 22:04:54 +00:00
ExecutionEngine [Mips] Add support for MCJIT for MIPS32r6 2015-07-06 12:50:55 +00:00
Feature Revert the new EH instructions 2015-07-10 07:15:17 +00:00
FileCheck
Instrumentation Re-land 242726 to use RAII to do cleanup 2015-07-21 17:40:14 +00:00
Integer [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
JitListener IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LTO Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
LibDriver Add support for producing thin archives in llvm-lib. 2015-07-17 16:01:11 +00:00
Linker Linker: Do not expect comdat to exist in source module. 2015-06-22 21:46:51 +00:00
MC [AsmPrinter] Check for valid constants in handleIndirectSymViaGOTPCRel 2015-07-21 21:45:42 +00:00
Object [Object][ELF] Handle files with no section header string table. 2015-07-21 21:40:33 +00:00
Other [llvm-extract] Drop comdats from declarations 2015-07-06 18:48:02 +00:00
SymbolRewriter
TableGen [TableGen] Improve decoding options for non-orthogonal instructions 2015-07-15 08:04:27 +00:00
Transforms [LoopUnswitch] Code refactoring to separate trivial loop unswitch and non-trivial loop unswitch in processCurrentLoop() 2015-07-22 05:26:29 +00:00
Unit
Verifier Revert the new EH instructions 2015-07-10 07:15:17 +00:00
YAMLParser YAML: Implement block scalar parsing. 2015-05-13 23:10:51 +00:00
tools [dsymutil] Implement ODR uniquing for C++ code. 2015-07-21 22:41:43 +00:00
.clang-format
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
Makefile
Makefile.tests
TestRunner.sh
lit.cfg LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
lit.site.cfg.in