llvm-mirror/lib
Benjamin Kramer d473cfcfb4 LoopRotate: Also rotate loops with multiple exits.
The old PHI updating code in loop-rotate was replaced with SSAUpdater a while
ago, it has no problems with comples PHIs. What had to be fixed is detecting
whether a loop was already rotated and updating dominators when multiple exits
were present.

This change increases overall code size a bit, mostly due to additional loop
unrolling opportunities. Passes test-suite and selfhost with -verify-dom-info.
Fixes PR7447.

Thanks to Andy for the input on the domtree updating code.

llvm-svn: 162912
2012-08-30 15:39:42 +00:00
..
Analysis Make MemoryBuiltins aware of TargetLibraryInfo. 2012-08-29 15:32:21 +00:00
Archive
AsmParser Change the linker_private_weak_def_auto' linkage to linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
Bitcode Change the linker_private_weak_def_auto' linkage to linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
CodeGen Don't use MCInstrDesc flags for implicit operands. 2012-08-30 14:39:06 +00:00
DebugInfo Refactor fetching file/line info from DWARFContext to simplify the 2012-08-30 07:49:50 +00:00
ExecutionEngine Fix comment for function RuntimeDyldImpl.resolveRelocation() 2012-08-27 15:34:01 +00:00
Linker
MC Allow targets to specify a minimum supported NOP size when performing NOP padding. If the desired padding is smaller than the supported NOP size, 2012-08-29 22:18:56 +00:00
Object
Support Add some __builtin_expect magic to StringMap. 2012-08-29 22:57:04 +00:00
TableGen Tristate mayLoad, mayStore, and hasSideEffects. 2012-08-23 19:34:46 +00:00
Target Add support for moving pure S-register to NEON pipeline if desired 2012-08-30 10:17:45 +00:00
Transforms LoopRotate: Also rotate loops with multiple exits. 2012-08-30 15:39:42 +00:00
VMCore Make atomic load and store of pointers work. Tighten verification of atomic operations 2012-08-17 23:24:29 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile