From 138aa39eac18b71caf5154245d627fdaba0c3f9d Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Thu, 26 Feb 2015 21:34:11 +0000 Subject: [PATCH] Re-instate the pragma optimize hack for MSVC, but not clang-cl Reverts commit r230686 with define modifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230692 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/IntrinsicEmitter.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/utils/TableGen/IntrinsicEmitter.cpp b/utils/TableGen/IntrinsicEmitter.cpp index 2fb78b0334c..e71c695c25d 100644 --- a/utils/TableGen/IntrinsicEmitter.cpp +++ b/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 &ArgCodes, std::vector &Sig) { @@ -377,6 +381,10 @@ static void EncodeFixedType(Record *R, std::vector &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, -- 2.34.1