Fix the MSVC 2010 build: disable the optimizer for a problematic function.
authorFrancois Pichet <pichet2000@gmail.com>
Thu, 17 May 2012 03:38:19 +0000 (03:38 +0000)
committerFrancois Pichet <pichet2000@gmail.com>
Thu, 17 May 2012 03:38:19 +0000 (03:38 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156973 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/IntrinsicEmitter.cpp

index d487c276080469c64ec4cfce7ab8aa64fcc4a699..0642f59ace5e7fc816a75cc67d2ab0b182da2e73 100644 (file)
@@ -466,6 +466,7 @@ static void EncodeFixedValueType(MVT::SimpleValueType VT,
   Sig.push_back(~0U);
 }
 
+#pragma optimize("",off) // MSVC 2010 optimizer can't deal with this function.
 
 static void EncodeFixedType(Record *R, SmallVectorImpl<unsigned> &Sig) {
   
@@ -531,6 +532,7 @@ static void EncodeFixedType(Record *R, SmallVectorImpl<unsigned> &Sig) {
   assert(VT != MVT::isVoid);
   EncodeFixedValueType(VT, Sig);
 }
+#pragma optimize("",on)
 
 /// ComputeFixedEncoding - If we can encode the type signature for this
 /// intrinsic into 32 bits, return it.  If not, return ~0U.