From 57b946c94be7a225e61e9ad2c4b9cae45881e1a2 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Sat, 29 Aug 2009 05:53:25 +0000 Subject: 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 --- llvm/utils/TableGen/CodeGenDAGPatterns.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h') 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 &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 &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 &EVTs); } -- cgit v1.2.3