diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-05-16 18:03:08 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2013-05-16 18:03:08 +0000 |
commit | 997fa623fc14122153c58ddda8c90aa30f192cc8 (patch) | |
tree | c9417309d692437447d0ce7c29125b5733149b4c /utils/TableGen/CodeGenRegisters.h | |
parent | 347a5079e18278803bc05b197d325b8580e95610 (diff) | |
download | llvm-997fa623fc14122153c58ddda8c90aa30f192cc8.tar.gz llvm-997fa623fc14122153c58ddda8c90aa30f192cc8.tar.bz2 llvm-997fa623fc14122153c58ddda8c90aa30f192cc8.tar.xz |
Add TargetRegisterInfo::getCoveringLanes().
This lane mask provides information about which register lanes
completely cover super-registers. See the block comment before
getCoveringLanes().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182034 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenRegisters.h')
-rw-r--r-- | utils/TableGen/CodeGenRegisters.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenRegisters.h b/utils/TableGen/CodeGenRegisters.h index 4f2cc28d49..b56555dade 100644 --- a/utils/TableGen/CodeGenRegisters.h +++ b/utils/TableGen/CodeGenRegisters.h @@ -42,6 +42,10 @@ namespace llvm { const unsigned EnumValue; unsigned LaneMask; + // Are all super-registers containing this SubRegIndex covered by their + // sub-registers? + bool AllSuperRegsCovered; + CodeGenSubRegIndex(Record *R, unsigned Enum); CodeGenSubRegIndex(StringRef N, StringRef Nspace, unsigned Enum); @@ -649,6 +653,11 @@ namespace llvm { // This is used to compute the mask of call-preserved registers from a list // of callee-saves. BitVector computeCoveredRegisters(ArrayRef<Record*> Regs); + + // Bit mask of lanes that cover their registers. A sub-register index whose + // LaneMask is contained in CoveringLanes will be completely covered by + // another sub-register with the same or larger lane mask. + unsigned CoveringLanes; }; } |