llvm-6502/lib
Owen Anderson b0ba0f4170 LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to.
Splitting critical edges at the merge point only addressed part of the issue; it is also possible for non-post-domination
to occur when the path from the load to the merge has branches in it.  Unfortunately, full anticipation analysis is
time-consuming, so for now approximate it.  This is strictly more conservative than real anticipation, so we will miss
some cases that real PRE would allow, but we also no longer insert loads into paths where they didn't exist before. :-)

This is a very slight net positive on SPEC for me (0.5% on average).  Most of the benchmarks are largely unaffected, but
when it pays off it pays off decently: 181.mcf improves by 4.5% on my machine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114785 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25 05:26:18 +00:00
..
Analysis Teach memdep about TBAA tags. 2010-09-22 21:41:02 +00:00
Archive Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
AsmParser Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
Bitcode Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
CodeGen Remove SlotIndex::PHI_BIT. It is no longer used by anything. 2010-09-25 00:45:18 +00:00
CompilerDriver llvmc: Allow multiple output languages. 2010-09-21 14:59:42 +00:00
ExecutionEngine Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
Linker Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
MC Reapply 114678 and 114667. Reverting them did not fix the bot: 2010-09-24 21:19:03 +00:00
Support Add better support for environment portion of triple. Original patch by 2010-09-16 08:25:48 +00:00
System CrashRecovery/Darwin: Override raise() as well so that crash recovery doesn't 2010-09-22 17:46:10 +00:00
Target Fix IIC_iEXTAr itinerary class of Cortex-A9. 2010-09-25 01:09:28 +00:00
Transforms LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to. 2010-09-25 05:26:18 +00:00
VMCore Allow the PassRegistry mutex to be lazily initialized, and clean up the global namespace at the same time. 2010-09-16 23:44:50 +00:00
Makefile