llvm-project/llvm/utils
Jakob Stoklund Olesen 757f0e37ea Introduce TargetRegisterInfo::getOverlaps(Reg), returning a list of all
registers that alias Reg, including itself. This is almost the same as the
existing getAliasSet() method, except for the inclusion of Reg.

The name matches the reflexive TRI::regsOverlap(x, y) relation.

It is very common to do stuff to a register and all its aliases:

  stuff(Reg)
  for (const unsigned *Alias = TRI->getAliasSet(Reg); *Alias; ++Alias)
    stuff(*Alias);

That can now be written as the simpler:

  for (const unsigned *Alias = TRI->getOverlaps(Reg); *Alias; ++Alias)
    stuff(*Alias);

This change requires a bit more constant space for the alias lists because Reg
is included and because the empty alias list cannot be shared any longer.

If the getAliasSet method is eventually removed, this space can be reclaimed by
sharing overlap lists. For instance, %rax and %eax have identical overlap sets.

llvm-svn: 121800
2010-12-14 23:03:42 +00:00
..
FileCheck Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with error_code &ec. And fix clients. 2010-12-09 17:36:48 +00:00
FileUpdate Missed FileUpdate because CMake doesn't build it yet :(. 2010-12-09 17:48:55 +00:00
KillTheDoctor KillTheDoctor: Cleanup error_code usage. 2010-12-06 04:28:01 +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 Introduce TargetRegisterInfo::getOverlaps(Reg), returning a list of all 2010-12-14 23:03:42 +00:00
bugpoint
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 Merge System into Support. 2010-11-29 18:16:10 +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 utils/lit/lit/TestFormats.py: [PR8438] unittests: Seek *Tests (not BUILD_MODE/*Tests) under whole unittests/ if BUILD_MODE == '.' 2010-12-07 07:41:32 +00:00
llvm-lit CMake: Add llvm-lit to CMake build. 2010-09-13 17:52:38 +00:00
not Merge System into Support. 2010-11-29 18:16:10 +00:00
release Release-Asserts no longer exists. 2010-09-15 12:30:35 +00:00
unittest Merge System into Support. 2010-11-29 18:16:10 +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
CollectDebugInfoUsingLLDB.py Add initial support to measure local variables. 2010-12-09 23:18:58 +00:00
CompareDebugInfo.py Add initial support to measure local variables. 2010-12-09 23:18:58 +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