llvm-project/llvm/utils
Evan Cheng 7f8ab6ee8b 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

llvm-svn: 119548
2010-11-17 20:13:28 +00:00
..
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
KillTheDoctor This is the first step in adding sane error handling support to LLVMSystem. 2010-11-16 18:31:52 +00:00
Misc Add a 'zkill' script, which is more-or-less a fancy (although not necessarily 2009-11-08 21:51:53 +00:00
PerfectShuffle Teach PerfectShuffle to not generate files with embedded tab characters. 2010-10-14 00:12:49 +00:00
TableGen Remove ARM isel hacks that fold large immediates into a pair of add, sub, and, 2010-11-17 20:13:28 +00:00
bugpoint Require a remote command to exit with the exit status of the test program or with 255 if an error occurred. 2009-07-18 18:39:24 +00:00
buildit Do not install libBugpointPasses.dylib for Apple builds. Radar 8585383. 2010-10-22 23:04:17 +00:00
count Fix extra fread after EOF, non-wires-crossed version. 2010-06-01 14:09:29 +00:00
crosstool * Use "svn export" instead of "svn co" and avoid cleaning up .svn dirs 2009-08-04 15:47:18 +00:00
emacs Using regexp-opt for keyword regex declarations makes the word lists more 2010-09-19 03:44:22 +00:00
fpcmp Remove unnecessary uses of <iostream>. 2010-04-15 03:47:24 +00:00
git Add simple script for finding most-recent-rev-before-N in a git-svn repo; useful 2010-02-25 18:07:07 +00:00
jedit
kate syntax-highlighting: Fix module asm keyword. 2010-10-09 15:44:36 +00:00
lint
lit lit: Fix a subtle resource usage bug when executing tests using the internal 2010-09-29 15:59:37 +00:00
llvm-lit CMake: Add llvm-lit to CMake build. 2010-09-13 17:52:38 +00:00
not Apply a patch from Frits van Bommel to fix the CMake build. 2010-10-29 22:36:50 +00:00
release Release-Asserts no longer exists. 2010-09-15 12:30:35 +00:00
unittest Fix VC2010 build. 2010-10-19 18:04:06 +00:00
valgrind buildbot/valgrind: Ignore leaks in /usr/bin/as. 2010-08-25 03:40:20 +00:00
vim Enable clang autocompletion by default. 2010-10-26 23:24:54 +00:00
DSAclean.py
DSAextract.py
GenLibDeps.pl Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if 2010-10-11 05:44:40 +00:00
GetRepositoryPath utils: Add GetRepositoryPath script, patch by Jonathan Mulder! 2010-09-29 17:57:01 +00:00
GetSourceVersion GetSourceVersion: Strip off svninfo extra markers, which aren't really part of the version. 2010-09-29 19:30:17 +00:00
Makefile remove reference to dead script. 2010-10-02 18:49:27 +00:00
NLT.schema
NewNightlyTest.pl Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts" 2010-07-07 07:48:00 +00:00
NightlyTest.gnuplot
NightlyTestTemplate.html
UpdateCMakeLists.pl Recognize 'add_executable' when analyzing CMake files. 2010-01-29 01:10:55 +00:00
cgiplotNLT.pl
check-each-file
codegen-diff
countloc.sh
findmisopt Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
findoptdiff Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
findsym.pl
getsrcs.sh
importNLT.pl
llvm-native-gcc Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
llvm-native-gxx Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
llvm.grm Don't worry about union types. 2010-08-29 14:50:21 +00:00
llvmdo Remove CVS artifacts. 2010-08-04 16:11:24 +00:00
llvmgrep search unittests. 2009-08-24 03:44:02 +00:00
makellvm
parseNLT.pl
plotNLT.pl
profile.pl Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
test_debuginfo.pl Fix typo in temp. script file name. 2010-09-13 21:23:17 +00:00
webNLT.pl