1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/utils
Jakob Stoklund Olesen 6d4ef2b65f 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.

llvm-svn: 156763
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
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
fpcmp
git
jedit
kate
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
PerfectShuffle
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
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
findmisopt Remove llvm-ld and llvm-stub (which is only used by llvm-ld). 2012-04-19 19:27:54 +00:00
findoptdiff
findsym.pl
GenLibDeps.pl Remove the C backend. 2012-03-23 05:50:46 +00:00
GetRepositoryPath
GetSourceVersion
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
llvm-native-gxx
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
test_debuginfo.pl
UpdateCMakeLists.pl