OSDN Git Service

Assume lane masks are always precise
authorMatthias Braun <matze@braunis.de>
Tue, 17 Nov 2015 00:50:55 +0000 (00:50 +0000)
committerMatthias Braun <matze@braunis.de>
Tue, 17 Nov 2015 00:50:55 +0000 (00:50 +0000)
commit0b897129c1e1bb5da8f8eb62d7c91f8cfbe6b4be
tree60b58a82b232fc983cc77c42c81f0567e7078bbb
parent0f6bba93deaf65b8a9ea8d3d1747fde9a4ce88b3
Assume lane masks are always precise

Allowing imprecise lane masks in case of more than 32 sub register lanes
lead to some tricky corner cases, and I need another bugfix for another
one. Instead I rather declare lane masks as precise and let tablegen
abort if we do not have enough bits.

This does not affect any in-tree target, even AMDGPU only needs 16 lanes
at the moment. If the 32 lanes turn out to be a problem in the future,
then we can easily change the LaneBitmask typedef to uint64_t.

Differential Revision: http://reviews.llvm.org/D14557

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253279 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetRegisterInfo.h
lib/CodeGen/RegisterCoalescer.cpp
lib/CodeGen/VirtRegMap.cpp
utils/TableGen/CodeGenRegisters.cpp