summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenTarget.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-15 06:00:16 +0000
committerChris Lattner <sabre@nondot.org>2010-03-15 06:00:16 +0000
commitcabe037b2d98d4d9796828b0e31f531affe1e54f (patch)
tree86776802d024ebe17462e223115a8367c0b72cbf /llvm/utils/TableGen/CodeGenTarget.h
parent227aa3595b50be335a03876a6f93696134e49395 (diff)
downloadbcm5719-llvm-cabe037b2d98d4d9796828b0e31f531affe1e54f.tar.gz
bcm5719-llvm-cabe037b2d98d4d9796828b0e31f531affe1e54f.zip
Completely rewrite tblgen's type inference mechanism,
changing the primary datastructure from being a "std::vector<unsigned char>" to being a new TypeSet class that actually has (gasp) invariants! This changes more things than I remember, but one major innovation here is that it enforces that named input values agree in type with their output values. This also eliminates code that transparently assumes (in some cases) that SDNodeXForm input/output types are the same, because this is wrong in many case. This also eliminates a bug which caused a lot of ambiguous patterns to go undetected, where a register class would sometimes pick the first possible type, causing an ambiguous pattern to get arbitrary results. With all the recent target changes, this causes no functionality change! llvm-svn: 98534
Diffstat (limited to 'llvm/utils/TableGen/CodeGenTarget.h')
-rw-r--r--llvm/utils/TableGen/CodeGenTarget.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.h b/llvm/utils/TableGen/CodeGenTarget.h
index 07bc54d28da..1df74af3622 100644
--- a/llvm/utils/TableGen/CodeGenTarget.h
+++ b/llvm/utils/TableGen/CodeGenTarget.h
@@ -167,7 +167,7 @@ public:
/// getRegisterVTs - Find the union of all possible SimpleValueTypes for the
/// specified physical register.
- std::vector<unsigned char> getRegisterVTs(Record *R) const;
+ std::vector<MVT::SimpleValueType> getRegisterVTs(Record *R) const;
const std::vector<MVT::SimpleValueType> &getLegalValueTypes() const {
if (LegalValueTypes.empty()) ReadLegalValueTypes();
OpenPOWER on IntegriCloud