[llvm] r230692 - Re-instate the pragma optimize hack for MSVC, but not clang-cl

Reid Kleckner reid at kleckner.net
Thu Feb 26 13:34:11 PST 2015


Author: rnk
Date: Thu Feb 26 15:34:11 2015
New Revision: 230692

URL: http://llvm.org/viewvc/llvm-project?rev=230692&view=rev
Log:
Re-instate the pragma optimize hack for MSVC, but not clang-cl

Reverts commit r230686 with define modifications.

Modified:
    llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp

Modified: llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp?rev=230692&r1=230691&r2=230692&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp Thu Feb 26 15:34:11 2015
@@ -292,6 +292,10 @@ static void EncodeFixedValueType(MVT::Si
   }
 }
 
+#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, s
   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,





More information about the llvm-commits mailing list