summaryrefslogtreecommitdiff
path: root/utils/TableGen/IntrinsicEmitter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/TableGen/IntrinsicEmitter.cpp')
-rw-r--r--utils/TableGen/IntrinsicEmitter.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/utils/TableGen/IntrinsicEmitter.cpp b/utils/TableGen/IntrinsicEmitter.cpp
index 0642f59ace..9630c926ac 100644
--- a/utils/TableGen/IntrinsicEmitter.cpp
+++ b/utils/TableGen/IntrinsicEmitter.cpp
@@ -466,7 +466,9 @@ static void EncodeFixedValueType(MVT::SimpleValueType VT,
Sig.push_back(~0U);
}
+#ifdef _MSC_VER
#pragma optimize("",off) // MSVC 2010 optimizer can't deal with this function.
+#endif
static void EncodeFixedType(Record *R, SmallVectorImpl<unsigned> &Sig) {
@@ -532,7 +534,10 @@ static void EncodeFixedType(Record *R, SmallVectorImpl<unsigned> &Sig) {
assert(VT != MVT::isVoid);
EncodeFixedValueType(VT, Sig);
}
+
+#ifdef _MSC_VER
#pragma optimize("",on)
+#endif
/// ComputeFixedEncoding - If we can encode the type signature for this
/// intrinsic into 32 bits, return it. If not, return ~0U.