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 | 57b946c94be7a225e61e9ad2c4b9cae45881e1a2 (patch) | |
| tree | 6bb64e066fb54847cb344c5c9f5f6f06bc096567 /llvm/utils/TableGen/CodeGenDAGPatterns.h | |
| parent | 705539441b467c089fcba17ab58317af7982cdaa (diff) | |
| download | bcm5719-llvm-57b946c94be7a225e61e9ad2c4b9cae45881e1a2.tar.gz bcm5719-llvm-57b946c94be7a225e61e9ad2c4b9cae45881e1a2.zip | |
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.
llvm-svn: 80423
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.h b/llvm/utils/TableGen/CodeGenDAGPatterns.h index ba398093de2..9b53ecc5db9 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.h +++ b/llvm/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); } |

