llvm-6502/utils
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
..
bugpoint
buildit Do not install libBugpointPasses.dylib for Apple builds. Radar 8585383. 2010-10-22 23:04:17 +00:00
count
crosstool
emacs
FileCheck FileCheck: Eliminate DOSish \r from input file. 2010-11-14 03:28:22 +00:00
FileUpdate Move tool_output_file into its own file. 2010-10-07 20:32:40 +00:00
fpcmp
git
jedit
kate syntax-highlighting: Fix module asm keyword. 2010-10-09 15:44:36 +00:00
KillTheDoctor This is the first step in adding sane error handling support to LLVMSystem. 2010-11-16 18:31:52 +00:00
lint
lit
llvm-lit
Misc
not Apply a patch from Frits van Bommel to fix the CMake build. 2010-10-29 22:36:50 +00:00
PerfectShuffle Teach PerfectShuffle to not generate files with embedded tab characters. 2010-10-14 00:12:49 +00:00
release
TableGen Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
unittest Fix VC2010 build. 2010-10-19 18:04:06 +00:00
valgrind
vim Enable clang autocompletion by default. 2010-10-26 23:24:54 +00:00
cgiplotNLT.pl
check-each-file
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if 2010-10-11 05:44:40 +00:00
GetRepositoryPath
GetSourceVersion
getsrcs.sh
importNLT.pl
llvm-native-gcc
llvm-native-gxx
llvm.grm
llvmdo
llvmgrep
Makefile
makellvm
NewNightlyTest.pl
NightlyTest.gnuplot
NightlyTestTemplate.html
NLT.schema
parseNLT.pl
plotNLT.pl
profile.pl
test_debuginfo.pl
UpdateCMakeLists.pl
webNLT.pl