summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenDAGPatterns.h
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2009-08-29 05:53:25 +0000
committerBob Wilson <bob.wilson@apple.com>2009-08-29 05:53:25 +0000
commit57b946c94be7a225e61e9ad2c4b9cae45881e1a2 (patch)
tree6bb64e066fb54847cb344c5c9f5f6f06bc096567 /llvm/utils/TableGen/CodeGenDAGPatterns.h
parent705539441b467c089fcba17ab58317af7982cdaa (diff)
downloadbcm5719-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.h14
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);
}
OpenPOWER on IntegriCloud