Re: r281401 - Temporary fix for MS _Interlocked intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
Buildbot failure -
http://lab.llvm.org:8011/builders/clang-x86-windows-msvc2015/builds/323

On Tue, Sep 13, 2016 at 3:05 PM, David Majnemer 
wrote:

> What issue is this addressing?
>
> On Tue, Sep 13, 2016 at 2:51 PM, Albert Gutowski via cfe-commits <
> cfe-commits@lists.llvm.org> wrote:
>
>> Author: agutowski
>> Date: Tue Sep 13 16:51:37 2016
>> New Revision: 281401
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=281401=rev
>> Log:
>> Temporary fix for MS _Interlocked intrinsics
>>
>> Modified:
>> cfe/trunk/include/clang/Basic/Builtins.def
>> cfe/trunk/lib/CodeGen/CGBuiltin.cpp
>> cfe/trunk/lib/Headers/intrin.h
>> cfe/trunk/test/CodeGen/ms-intrinsics.c
>>
>> Modified: cfe/trunk/include/clang/Basic/Builtins.def
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/
>> Basic/Builtins.def?rev=281401=281400=281401=diff
>> 
>> ==
>> --- cfe/trunk/include/clang/Basic/Builtins.def (original)
>> +++ cfe/trunk/include/clang/Basic/Builtins.def Tue Sep 13 16:51:37 2016
>> @@ -719,7 +719,6 @@ LANGBUILTIN(__GetExceptionInfo, "v*.", "
>>  LANGBUILTIN(_InterlockedAnd8,   "ccD*c","n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedAnd16,  "ssD*s","n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedAnd,"LiLiD*Li", "n", ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedAnd64,  "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedCompareExchange8,   "ccD*cc", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedCompareExchange16,  "ssD*ss", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedCompareExchange,"LiLiD*LiLi", "n",
>> ALL_MS_LANGUAGES)
>> @@ -727,31 +726,24 @@ LANGBUILTIN(_InterlockedCompareExchange6
>>  LANGBUILTIN(_InterlockedCompareExchangePointer, "v*v*D*v*v*", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedDecrement16,"ssD*", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedDecrement,  "LiLiD*",   "n",
>> ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedDecrement64,"LLiLLiD*", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchange,   "LiLiD*Li", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchange8,  "ccD*c","n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchange16, "ssD*s","n",
>> ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedExchange64, "LLiLLiD*LLi",  "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangeAdd8,   "ccD*c",  "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangeAdd16,  "ssD*s",  "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangeAdd,"LiLiD*Li",   "n",
>> ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedExchangeAdd64,  "LLiLLiD*LLi","n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangePointer,"v*v*D*v*",   "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangeSub8,   "ccD*c","n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangeSub16,  "ssD*s","n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedExchangeSub,"LiLiD*Li", "n",
>> ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedExchangeSub64,  "LLiLLiD*LLi",  "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedIncrement16,"ssD*", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedIncrement,  "LiLiD*",   "n",
>> ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedIncrement64,"LLiLLiD*", "n",
>> ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedOr8,  "ccD*c","n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedOr16, "ssD*s","n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedOr,   "LiLiD*Li", "n", ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedOr64, "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedXor8,  "ccD*c",   "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedXor16, "ssD*s",   "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_InterlockedXor,   "LiLiD*Li","n", ALL_MS_LANGUAGES)
>> -LANGBUILTIN(_InterlockedXor64, "LLiLLiD*LLi", "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(__noop,   "i.",  "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(__readfsdword,"ULiULi", "n", ALL_MS_LANGUAGES)
>>  LANGBUILTIN(_rotl8,  "UcUcUc","n", ALL_MS_LANGUAGES)
>>
>> Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CG
>> Builtin.cpp?rev=281401=281400=281401=diff
>> 
>> ==
>> --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
>> +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Tue Sep 13 16:51:37 2016
>> @@ -1963,7 +1963,6 @@ RValue CodeGenFunction::EmitBuiltinExpr(
>>case Builtin::BI_InterlockedExchange8:
>>case Builtin::BI_InterlockedExchange16:
>>case Builtin::BI_InterlockedExchange:
>> -  case Builtin::BI_InterlockedExchange64:
>>case 

Re: r281401 - Temporary fix for MS _Interlocked intrinsics

2016-09-13 Thread David Majnemer via cfe-commits
What issue is this addressing?

On Tue, Sep 13, 2016 at 2:51 PM, Albert Gutowski via cfe-commits <
cfe-commits@lists.llvm.org> wrote:

> Author: agutowski
> Date: Tue Sep 13 16:51:37 2016
> New Revision: 281401
>
> URL: http://llvm.org/viewvc/llvm-project?rev=281401=rev
> Log:
> Temporary fix for MS _Interlocked intrinsics
>
> Modified:
> cfe/trunk/include/clang/Basic/Builtins.def
> cfe/trunk/lib/CodeGen/CGBuiltin.cpp
> cfe/trunk/lib/Headers/intrin.h
> cfe/trunk/test/CodeGen/ms-intrinsics.c
>
> Modified: cfe/trunk/include/clang/Basic/Builtins.def
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/
> clang/Basic/Builtins.def?rev=281401=281400=281401=diff
> 
> ==
> --- cfe/trunk/include/clang/Basic/Builtins.def (original)
> +++ cfe/trunk/include/clang/Basic/Builtins.def Tue Sep 13 16:51:37 2016
> @@ -719,7 +719,6 @@ LANGBUILTIN(__GetExceptionInfo, "v*.", "
>  LANGBUILTIN(_InterlockedAnd8,   "ccD*c","n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedAnd16,  "ssD*s","n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedAnd,"LiLiD*Li", "n", ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedAnd64,  "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedCompareExchange8,   "ccD*cc", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedCompareExchange16,  "ssD*ss", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedCompareExchange,"LiLiD*LiLi", "n",
> ALL_MS_LANGUAGES)
> @@ -727,31 +726,24 @@ LANGBUILTIN(_InterlockedCompareExchange6
>  LANGBUILTIN(_InterlockedCompareExchangePointer, "v*v*D*v*v*", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedDecrement16,"ssD*", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedDecrement,  "LiLiD*",   "n",
> ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedDecrement64,"LLiLLiD*", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchange,   "LiLiD*Li", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchange8,  "ccD*c","n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchange16, "ssD*s","n",
> ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedExchange64, "LLiLLiD*LLi",  "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangeAdd8,   "ccD*c",  "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangeAdd16,  "ssD*s",  "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangeAdd,"LiLiD*Li",   "n",
> ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedExchangeAdd64,  "LLiLLiD*LLi","n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangePointer,"v*v*D*v*",   "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangeSub8,   "ccD*c","n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangeSub16,  "ssD*s","n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedExchangeSub,"LiLiD*Li", "n",
> ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedExchangeSub64,  "LLiLLiD*LLi",  "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedIncrement16,"ssD*", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedIncrement,  "LiLiD*",   "n",
> ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedIncrement64,"LLiLLiD*", "n",
> ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedOr8,  "ccD*c","n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedOr16, "ssD*s","n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedOr,   "LiLiD*Li", "n", ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedOr64, "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedXor8,  "ccD*c",   "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedXor16, "ssD*s",   "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_InterlockedXor,   "LiLiD*Li","n", ALL_MS_LANGUAGES)
> -LANGBUILTIN(_InterlockedXor64, "LLiLLiD*LLi", "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(__noop,   "i.",  "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(__readfsdword,"ULiULi", "n", ALL_MS_LANGUAGES)
>  LANGBUILTIN(_rotl8,  "UcUcUc","n", ALL_MS_LANGUAGES)
>
> Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/
> CGBuiltin.cpp?rev=281401=281400=281401=diff
> 
> ==
> --- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Tue Sep 13 16:51:37 2016
> @@ -1963,7 +1963,6 @@ RValue CodeGenFunction::EmitBuiltinExpr(
>case Builtin::BI_InterlockedExchange8:
>case Builtin::BI_InterlockedExchange16:
>case Builtin::BI_InterlockedExchange:
> -  case Builtin::BI_InterlockedExchange64:
>case Builtin::BI_InterlockedExchangePointer:
>  return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Xchg, E);
>case Builtin::BI_InterlockedCompareExchangePointer: {
> @@ -2007,8 +2006,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(
>return 

r281401 - Temporary fix for MS _Interlocked intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
Author: agutowski
Date: Tue Sep 13 16:51:37 2016
New Revision: 281401

URL: http://llvm.org/viewvc/llvm-project?rev=281401=rev
Log:
Temporary fix for MS _Interlocked intrinsics

Modified:
cfe/trunk/include/clang/Basic/Builtins.def
cfe/trunk/lib/CodeGen/CGBuiltin.cpp
cfe/trunk/lib/Headers/intrin.h
cfe/trunk/test/CodeGen/ms-intrinsics.c

Modified: cfe/trunk/include/clang/Basic/Builtins.def
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Builtins.def?rev=281401=281400=281401=diff
==
--- cfe/trunk/include/clang/Basic/Builtins.def (original)
+++ cfe/trunk/include/clang/Basic/Builtins.def Tue Sep 13 16:51:37 2016
@@ -719,7 +719,6 @@ LANGBUILTIN(__GetExceptionInfo, "v*.", "
 LANGBUILTIN(_InterlockedAnd8,   "ccD*c","n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedAnd16,  "ssD*s","n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedAnd,"LiLiD*Li", "n", ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedAnd64,  "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedCompareExchange8,   "ccD*cc", "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedCompareExchange16,  "ssD*ss", "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedCompareExchange,"LiLiD*LiLi", "n", 
ALL_MS_LANGUAGES)
@@ -727,31 +726,24 @@ LANGBUILTIN(_InterlockedCompareExchange6
 LANGBUILTIN(_InterlockedCompareExchangePointer, "v*v*D*v*v*", "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedDecrement16,"ssD*", "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedDecrement,  "LiLiD*",   "n", ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedDecrement64,"LLiLLiD*", "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchange,   "LiLiD*Li", "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchange8,  "ccD*c","n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchange16, "ssD*s","n", 
ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedExchange64, "LLiLLiD*LLi",  "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangeAdd8,   "ccD*c",  "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangeAdd16,  "ssD*s",  "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangeAdd,"LiLiD*Li",   "n", 
ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedExchangeAdd64,  "LLiLLiD*LLi","n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangePointer,"v*v*D*v*",   "n", 
ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangeSub8,   "ccD*c","n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangeSub16,  "ssD*s","n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedExchangeSub,"LiLiD*Li", "n", ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedExchangeSub64,  "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedIncrement16,"ssD*", "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedIncrement,  "LiLiD*",   "n", ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedIncrement64,"LLiLLiD*", "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedOr8,  "ccD*c","n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedOr16, "ssD*s","n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedOr,   "LiLiD*Li", "n", ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedOr64, "LLiLLiD*LLi",  "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedXor8,  "ccD*c",   "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedXor16, "ssD*s",   "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_InterlockedXor,   "LiLiD*Li","n", ALL_MS_LANGUAGES)
-LANGBUILTIN(_InterlockedXor64, "LLiLLiD*LLi", "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(__noop,   "i.",  "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(__readfsdword,"ULiULi", "n", ALL_MS_LANGUAGES)
 LANGBUILTIN(_rotl8,  "UcUcUc","n", ALL_MS_LANGUAGES)

Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=281401=281400=281401=diff
==
--- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Tue Sep 13 16:51:37 2016
@@ -1963,7 +1963,6 @@ RValue CodeGenFunction::EmitBuiltinExpr(
   case Builtin::BI_InterlockedExchange8:
   case Builtin::BI_InterlockedExchange16:
   case Builtin::BI_InterlockedExchange:
-  case Builtin::BI_InterlockedExchange64:
   case Builtin::BI_InterlockedExchangePointer:
 return EmitBinaryAtomic(*this, llvm::AtomicRMWInst::Xchg, E);
   case Builtin::BI_InterlockedCompareExchangePointer: {
@@ -2007,8 +2006,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(
   return RValue::get(Builder.CreateExtractValue(CXI, 0));
   }
   case Builtin::BI_InterlockedIncrement16:
-  case Builtin::BI_InterlockedIncrement:
-  case Builtin::BI_InterlockedIncrement64: {
+  case Builtin::BI_InterlockedIncrement: {
 llvm::Type *IntTy = ConvertType(E->getType());
 AtomicRMWInst *RMWI = Builder.CreateAtomicRMW(
   AtomicRMWInst::Add,