diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-08-29 05:53:25 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-08-29 05:53:25 +0000 |
commit | cdfa01bf0fd4fd9228e8cf32eae9205d067e147a (patch) | |
tree | 7f6fb1bc27e09199241004cee240da39f60d633a /utils/TableGen/CodeGenDAGPatterns.h | |
parent | 6fefcebc4f92b944664b7b26042bc21e57aefe43 (diff) |
PR4795: Remove EEVT::isFP, isInt and isVec types used by TableGen's type
inferencing. As far as I can tell, these are equivalent to the existing
MVT::fAny, iAny and vAny types, and having both of them makes it harder
to reason about and modify the type inferencing code.
The specific problem in PR4795 occurs when updating a vAny type to be fAny
or iAny, or vice versa. Both iAny and fAny include vector types -- they
intersect with the set of types represented by vAny. When merging them,
choose fAny/iAny to represent the intersection. This is not perfect, since
fAny/iAny also include scalar types, but it is good enough for TableGen's
type inferencing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80423 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenDAGPatterns.h')
-rw-r--r-- | utils/TableGen/CodeGenDAGPatterns.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/utils/TableGen/CodeGenDAGPatterns.h b/utils/TableGen/CodeGenDAGPatterns.h index ba398093de..9b53ecc5db 100644 --- a/utils/TableGen/CodeGenDAGPatterns.h +++ b/utils/TableGen/CodeGenDAGPatterns.h @@ -35,24 +35,24 @@ namespace llvm { /// EEVT::DAGISelGenValueType - These are some extended forms of /// MVT::SimpleValueType that we use as lattice values during type inference. +/// The existing MVT iAny, fAny and vAny types suffice to represent +/// arbitrary integer, floating-point, and vector types, so only an unknown +/// value is needed. namespace EEVT { enum DAGISelGenValueType { - isFP = MVT::LAST_VALUETYPE, - isInt, - isVec, - isUnknown + isUnknown = MVT::LAST_VALUETYPE }; /// isExtIntegerInVTs - Return true if the specified extended value type - /// vector contains isInt or an integer value type. + /// vector contains iAny or an integer value type. bool isExtIntegerInVTs(const std::vector<unsigned char> &EVTs); /// isExtFloatingPointInVTs - Return true if the specified extended value - /// type vector contains isFP or a FP value type. + /// type vector contains fAny or a FP value type. bool isExtFloatingPointInVTs(const std::vector<unsigned char> &EVTs); /// isExtVectorinVTs - Return true if the specified extended value type - /// vector contains isVec or a vector value type. + /// vector contains vAny or a vector value type. bool isExtVectorInVTs(const std::vector<unsigned char> &EVTs); } |