aboutsummaryrefslogtreecommitdiffstats
path: root/utils/TableGen/CodeGenIntrinsics.h
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-06-06 12:08:01 +0000
committerDuncan Sands <baldrick@free.fr>2008-06-06 12:08:01 +0000
commit83ec4b6711980242ef3c55a4fa36b2d7a39c1bfb (patch)
tree318323f012863299f9ae063e79a47985c2e8dc4b /utils/TableGen/CodeGenIntrinsics.h
parentcc41940dff771c98321d601e04e60dc8c67b6e87 (diff)
downloadexternal_llvm-83ec4b6711980242ef3c55a4fa36b2d7a39c1bfb.tar.gz
external_llvm-83ec4b6711980242ef3c55a4fa36b2d7a39c1bfb.tar.bz2
external_llvm-83ec4b6711980242ef3c55a4fa36b2d7a39c1bfb.zip
Wrap MVT::ValueType in a struct to get type safety
and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52044 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenIntrinsics.h')
-rw-r--r--utils/TableGen/CodeGenIntrinsics.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/utils/TableGen/CodeGenIntrinsics.h b/utils/TableGen/CodeGenIntrinsics.h
index 4515ebcdc6..a66c30b6cb 100644
--- a/utils/TableGen/CodeGenIntrinsics.h
+++ b/utils/TableGen/CodeGenIntrinsics.h
@@ -29,13 +29,13 @@ namespace llvm {
std::string EnumName; // The name of the enum "bswap_i32"
std::string GCCBuiltinName;// Name of the corresponding GCC builtin, or "".
std::string TargetPrefix; // Target prefix, e.g. "ppc" for t-s intrinsics.
-
- /// ArgVTs - The MVT::ValueType for each argument type. Note that this list
- /// is only populated when in the context of a target .td file. When
- /// building Intrinsics.td, this isn't available, because we don't know the
- /// target pointer size.
- std::vector<MVT::ValueType> ArgVTs;
-
+
+ /// ArgVTs - The MVT::SimpleValueType for each argument type. Note that
+ /// this list is only populated when in the context of a target .td file.
+ /// When building Intrinsics.td, this isn't available, because we don't know
+ /// the target pointer size.
+ std::vector<MVT::SimpleValueType> ArgVTs;
+
/// ArgTypeDefs - The records for each argument type.
///
std::vector<Record*> ArgTypeDefs;