llvm-6502/utils
Jakob Stoklund Olesen f402602199 Consider ad hoc aliasing when building RegUnits.
Register units can be used to compute if two registers overlap:

  A overlaps B iff units(A) intersects units(B).

With this change, the above holds true even on targets that use ad hoc
aliasing (currently only ARM). This means that register units can be
used to implement regsOverlap() more efficiently, and the register
allocator can use the concept to model interference.

When there is no ad hoc aliasing, the register units correspond to the
maximal cliques in the register overlap graph. This is optimal, no other
register unit assignment can have fewer units.

With ad hoc aliasing, weird things are possible, and we don't try too
hard to compute the maximal cliques. The current approach is always
correct, and it works very well (probably optimally) as long as the ad
hoc aliasing doesn't have cliques larger than pairs. It seems unlikely
that any target would need more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156763 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-14 15:20:39 +00:00
..
bugpoint
buildit Remove old code to strip out unwanted PPC slices for Apple llvmCore. 2012-04-13 22:58:53 +00:00
count Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
crosstool
emacs Remove bad comma from .el file. 2012-02-22 19:38:03 +00:00
FileCheck Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a 2011-10-16 05:43:57 +00:00
FileUpdate Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
fpcmp Merge System into Support. 2010-11-29 18:16:10 +00:00
git
jedit
kate syntax-highlighting: Fix module asm keyword. 2010-10-09 15:44:36 +00:00
KillTheDoctor Remove dead code. Improve llvm_unreachable text. Simplify some control flow. 2012-02-19 11:37:01 +00:00
lint
lit Lit: rewind WinWaitReleased() stuff in TestRunner. 2012-05-08 14:31:52 +00:00
llvm-build Make IntelJITEvents and OProfileJIT as optional libraries and add 2012-05-07 19:38:40 +00:00
llvm-lit llvm-lit: Inject the lit module path at the beginning of sys.path, just in case 2012-04-19 16:31:08 +00:00
Misc
not Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
PerfectShuffle In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. 2011-05-18 06:42:21 +00:00
release Modify the sh-bang to run out-of-the-box for FreeBSDes. 2012-04-20 20:31:44 +00:00
TableGen Consider ad hoc aliasing when building RegUnits. 2012-05-14 15:20:39 +00:00
Target/ARM McARM: Write a silly Python script to compute some hard coded info from the 2011-01-11 19:06:26 +00:00
unittest Help GCC along with code that's actually unreachable. 2012-01-22 01:17:04 +00:00
valgrind valgrind: Suppress glibc's optiized strcasecmp harder. 2011-09-03 17:59:31 +00:00
vim Add the half type to the LLVM IR vim syntax highlighting. 2012-05-03 17:24:12 +00:00
yaml-bench Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
check-each-file
clang-parse-diagnostics-file Rename show-diagnostics to something less ambiguous. 2011-11-02 00:44:16 +00:00
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
findmisopt Remove llvm-ld and llvm-stub (which is only used by llvm-ld). 2012-04-19 19:27:54 +00:00
findoptdiff Convert a bunch of uses of 'bytecode' into 'bitcode'. This 2010-09-29 20:09:55 +00:00
findsym.pl
GenLibDeps.pl Remove the C backend. 2012-03-23 05:50:46 +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
getsrcs.sh
lldbDataFormatters.py Add an LLDB data formatter script for llvm::SmallVector, maybe this is helpful to someone else. 2012-01-17 14:52:12 +00:00
llvm-compilers-check Replace the old --with-cxx-* configure options with a single --with-gcc-toolchain 2012-02-03 00:59:30 +00:00
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 Extend Attributes to 64 bits 2012-01-20 17:56:17 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
llvmdo
llvmgrep Use -H on darwin as well. 2012-01-26 22:06:23 +00:00
Makefile Goodbye, JSONParser... 2012-04-17 17:21:17 +00:00
makellvm
profile.pl Rename profile_rt.so to libprofile_rt.so under configure+make (it already was 2011-04-29 02:12:06 +00:00
test_debuginfo.pl Fix typo in temp. script file name. 2010-09-13 21:23:17 +00:00
UpdateCMakeLists.pl