summaryrefslogtreecommitdiffstats
path: root/llvm/utils
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-02-26 21:34:11 +0000
committerReid Kleckner <reid@kleckner.net>2015-02-26 21:34:11 +0000
commitf3c8209c77615bc6c28da14edd9bcb7383246e0c (patch)
tree77272efecc78405ce7e4f5f5f39604b0b7cfa4f2 /llvm/utils
parent3011680752a006d39335a9275813d38853f8bb46 (diff)
downloadbcm5719-llvm-f3c8209c77615bc6c28da14edd9bcb7383246e0c.tar.gz
bcm5719-llvm-f3c8209c77615bc6c28da14edd9bcb7383246e0c.zip
Re-instate the pragma optimize hack for MSVC, but not clang-cl
Reverts commit r230686 with define modifications. llvm-svn: 230692
Diffstat (limited to 'llvm/utils')
-rw-r--r--llvm/utils/TableGen/IntrinsicEmitter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/IntrinsicEmitter.cpp b/llvm/utils/TableGen/IntrinsicEmitter.cpp
index 2fb78b0334c..e71c695c25d 100644
--- a/llvm/utils/TableGen/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/IntrinsicEmitter.cpp
@@ -292,6 +292,10 @@ static void EncodeFixedValueType(MVT::SimpleValueType VT,
}
}
+#if defined(_MSC_VER) && !defined(__clang__)
+#pragma optimize("",off) // MSVC 2010 optimizer can't deal with this function.
+#endif
+
static void EncodeFixedType(Record *R, std::vector<unsigned char> &ArgCodes,
std::vector<unsigned char> &Sig) {
@@ -377,6 +381,10 @@ static void EncodeFixedType(Record *R, std::vector<unsigned char> &ArgCodes,
EncodeFixedValueType(VT, Sig);
}
+#if defined(_MSC_VER) && !defined(__clang__)
+#pragma optimize("",on)
+#endif
+
/// ComputeFixedEncoding - If we can encode the type signature for this
/// intrinsic into 32 bits, return it. If not, return ~0U.
static void ComputeFixedEncoding(const CodeGenIntrinsic &Int,
OpenPOWER on IntegriCloud