llvm-6502/lib
Evan Cheng c4af4638df Remove ARM isel hacks that fold large immediates into a pair of add, sub, and,
and xor. The 32-bit move immediates can be hoisted out of loops by machine
LICM but the isel hacks were preventing them.

Instead, let peephole optimization pass recognize registers that are defined by
immediates and the ARM target hook will fold the immediates in.

Other changes include 1) do not fold and / xor into cmp to isel TST / TEQ
instructions if there are multiple uses. This happens when the 'and' is live
out, machine sink would have sinked the computation and that ends up pessimizing
code. The peephole pass would recognize situations where the 'and' can be
toggled to define CPSR and eliminate the comparison anyway.

2) Move peephole pass to after machine LICM, sink, and CSE to avoid blocking
important optimizations.

rdar://8663787, rdar://8241368


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119548 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 20:13:28 +00:00
..
Analysis Move some those Xor simplifications which don't require creating new 2010-11-17 18:52:15 +00:00
Archive Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally." 2010-09-13 23:59:48 +00:00
AsmParser Add a new 'hotpatch' attribute. This attribute will insert a two-byte no-op 2010-10-25 15:37:09 +00:00
Bitcode Fix PR8494: when reading invalid bitcode, getTypeByID may return 2010-10-28 15:47:26 +00:00
CodeGen Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
CompilerDriver Rename FindExecutable to PrependMainExecutablePath. 2010-11-03 16:14:16 +00:00
ExecutionEngine MCJIT: Stub out MCJIT implementation, still doesn't do anything useful. 2010-11-17 16:06:43 +00:00
Linker GetDLLSuffix: Remove the leading dot from LTDL_SHLIB_EXT. 2010-11-02 20:32:59 +00:00
MC make isVirtualSection a virtual method on MCSection. Chris' suggestion. 2010-11-17 20:03:54 +00:00
Object Fix typo: Exectuable -> Executable 2010-11-17 00:43:43 +00:00
Support now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the 2010-11-17 08:13:01 +00:00
System Fix typo: Exectuable -> Executable 2010-11-17 00:43:43 +00:00
Target Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
Transforms InstCombine: Add a missing irem identity (X % X -> 0). 2010-11-17 19:11:46 +00:00
VMCore Now that hasConstantValue has been made simpler, it may return the 2010-11-17 10:23:23 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00