OSDN Git Service

Avoid calling TRI->getAllocatableSet in RAFast.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 2 Jun 2011 23:41:40 +0000 (23:41 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Thu, 2 Jun 2011 23:41:40 +0000 (23:41 +0000)
commit448ab3ab395ffc9e7fc04d2d6afb41fcac74070d
tree4cab1448a7870e9870b8695477d93fe9b9335e58
parent100c83341676d8aae8fc34b5452563ed08b14f3e
Avoid calling TRI->getAllocatableSet in RAFast.

When compiling a program with lots of small functions like
483.xalancbmk, this makes RAFast 11% faster.

Add some comments to clarify the difference between unallocatable and
reserved registers. It's quite subtle.

The fast register allocator depends on EFLAGS' not being allocatable on
x86. That way it can completely avoid tracking liveness, and it won't
mind when there are multiple uses of a single def.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132514 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegAllocFast.cpp
lib/CodeGen/RegisterClassInfo.h