r284253 - Implement __stosb intrinsic as a volatile memset

2016-10-14 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Fri Oct 14 12:33:05 2016 New Revision: 284253 URL: http://llvm.org/viewvc/llvm-project?rev=284253&view=rev Log: Implement __stosb intrinsic as a volatile memset Summary: We need `__stosb` to be an intrinsic, because SecureZeroMemory function uses it without including intr

[PATCH] D25458: Don't create builtin declaration when looking for typo corrections in C++

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski abandoned this revision. agutowski added a comment. It's part of a bigger problem (Clang shows warnings about functions guessed by typo-fixing in other cases as well), but it's not that important and I can't see any straighforward solution that would do more good than harm, so I'm clo

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74603. agutowski added a comment. force the alignment to 1 https://reviews.llvm.org/D25334 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics.c test/Headers/ms-intrin.cpp Index:

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74596. agutowski added a comment. rebase https://reviews.llvm.org/D25334 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics.c test/Headers/ms-intrin.cpp Index: lib/Headers/intri

r284172 - Add 64-bit MS _Interlocked functions as builtins again

2016-10-13 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Thu Oct 13 17:35:07 2016 New Revision: 284172 URL: http://llvm.org/viewvc/llvm-project?rev=284172&view=rev Log: Add 64-bit MS _Interlocked functions as builtins again Summary: Previously global 64-bit versions of _Interlocked functions broke buildbots on i386, so now I'm

r284167 - fix _BitScan intrinsics missing header warnings; fix some line endings

2016-10-13 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Thu Oct 13 16:55:16 2016 New Revision: 284167 URL: http://llvm.org/viewvc/llvm-project?rev=284167&view=rev Log: fix _BitScan intrinsics missing header warnings; fix some line endings Modified: cfe/trunk/include/clang/Basic/BuiltinsARM.def cfe/trunk/include/clang/Ba

[PATCH] D25576: Add 64-bit MS _Interlocked functions as builtins again

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74586. agutowski added a comment. make target-independent Interlocked builtins use EmitMSVCBuiltinExpr https://reviews.llvm.org/D25576 Files: include/clang/Basic/BuiltinsARM.def include/clang/Basic/BuiltinsX86_64.def lib/CodeGen/CGBuiltin.cpp lib/

[PATCH] D25576: Add 64-bit MS _Interlocked functions as builtins again

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. Comment at: lib/CodeGen/CGBuiltin.cpp:2730 +llvm::AtomicOrdering::SequentiallyConsistent); +return Builder.CreateSub(RMWI, ConstantInt::get(IntTy, 1)); } rnk wrote: > Can you make a helper similar to MakeBinaryAtomi

[PATCH] D25576: Add 64-bit MS _Interlocked functions as builtins again

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, hans, majnemer, mstorsjo. agutowski added a subscriber: cfe-commits. Herald added a subscriber: aemerson. Previously global 64-bit versions of _Interlocked functions broke buildbots on i386, so now I'm adding them as builtins for x8

r284131 - Implement MS _ReturnAddress and _AddressOfReturnAddress intrinsics

2016-10-13 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Thu Oct 13 11:03:42 2016 New Revision: 284131 URL: http://llvm.org/viewvc/llvm-project?rev=284131&view=rev Log: Implement MS _ReturnAddress and _AddressOfReturnAddress intrinsics Reviewers: rnk, thakis, majnemer, hans Subscribers: cfe-commits Differential Revision: https

[PATCH] D25540: Implement MS _ReturnAddress and _AddressOfReturnAddress intrinsics

2016-10-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74533. agutowski added a comment. change checking prefix for x86 tests; use Int32 instead of UnsignedIntTy https://reviews.llvm.org/D25540 Files: include/clang/Basic/Builtins.def include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/He

[PATCH] D25540: Implement MS _ReturnAddress and _AddressOfReturnAddress intrinsics

2016-10-12 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, hans, thakis, majnemer. agutowski added a subscriber: cfe-commits. https://reviews.llvm.org/D25540 Files: include/clang/Basic/Builtins.def include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h

r284083 - fix ms-intrinsics labels code to work with builds with assertions

2016-10-12 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Wed Oct 12 18:52:38 2016 New Revision: 284083 URL: http://llvm.org/viewvc/llvm-project?rev=284083&view=rev Log: fix ms-intrinsics labels code to work with builds with assertions Modified: cfe/trunk/test/CodeGen/ms-intrinsics.c Modified: cfe/trunk/test/CodeGen/ms-intri

r284062 - fix regexes for label names in ms-intrinsics test

2016-10-12 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Wed Oct 12 17:22:34 2016 New Revision: 284062 URL: http://llvm.org/viewvc/llvm-project?rev=284062&view=rev Log: fix regexes for label names in ms-intrinsics test Modified: cfe/trunk/test/CodeGen/ms-intrinsics.c Modified: cfe/trunk/test/CodeGen/ms-intrinsics.c URL: ht

r284060 - Implement MS _BitScan intrinsics

2016-10-12 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Wed Oct 12 17:01:05 2016 New Revision: 284060 URL: http://llvm.org/viewvc/llvm-project?rev=284060&view=rev Log: Implement MS _BitScan intrinsics Summary: _BitScan intrinsics (and some others, for example _Interlocked and _bittest) are supposed to work on both ARM and x86.

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-12 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74435. agutowski added a comment. rebase https://reviews.llvm.org/D25264 Files: include/clang/Basic/BuiltinsARM.def include/clang/Basic/BuiltinsX86.def include/clang/Basic/BuiltinsX86_64.def lib/Basic/Targets.cpp lib/CodeGen/CGBuiltin.cpp lib/

r284026 - Move x86-64 builtins from SemaChecking.cpp to BuiltinsX86_64.def

2016-10-12 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Wed Oct 12 12:28:44 2016 New Revision: 284026 URL: http://llvm.org/viewvc/llvm-project?rev=284026&view=rev Log: Move x86-64 builtins from SemaChecking.cpp to BuiltinsX86_64.def Summary: Follow-up to https://reviews.llvm.org/D24598 (separating builtins for x84-64 and i386)

[PATCH] D25494: Move x86-64 builtins from SemaChecking.cpp to BuiltinsX86_64.def

2016-10-12 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74398. agutowski added a comment. add -fno-spell-checking to tests https://reviews.llvm.org/D25494 Files: include/clang/Basic/BuiltinsX86.def include/clang/Basic/BuiltinsX86_64.def lib/Basic/Targets.cpp lib/Sema/SemaChecking.cpp test/CodeGen/bui

[PATCH] D25494: Move x86-64 builtins from SemaChecking.cpp to BuiltinsX86_64.def

2016-10-11 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. Comment at: test/Sema/builtins-x86_64.c:17 + v8ll vec8longlongs; + (void)__builtin_ia32_readeflags_u64(); // expected-error{{use of unknown builtin}} expected-note 0+ {{}} + (void)__builtin_ia32_writeeflags_u64(4);

[PATCH] D25494: Move x86-64 builtins from SemaChecking.cpp to BuiltinsX86_64.def

2016-10-11 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, hans, thakis. agutowski added a subscriber: cfe-commits. Follow-up to https://reviews.llvm.org/D24598 (separating builtins for x84-64 and i386). https://reviews.llvm.org/D25494 Files: include/clang/Basic/BuiltinsX86.def inclu

[PATCH] D25458: Don't create builtin declaration when looking for typo corrections in C++

2016-10-11 Thread Albert Gutowski via cfe-commits
agutowski added a comment. In https://reviews.llvm.org/D25458#567697, @rnk wrote: > Can you provide a more complete motivating example where our diagnostics were > bad? I'm having a hard time figuring it out from the test Sure, compiling the following program in C++ for i386 emits warnings abo

[PATCH] D25458: Don't create builtin declaration when looking for typo corrections in C++

2016-10-10 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. Comment at: lib/CodeGen/CGBuiltin.cpp:800 + case Builtin::BI_byteswap_ulong: + case Builtin::BI_byteswap_uint64: case Builtin::BI__builtin_bswap16: thakis wrote: > Is this an unrelated change? Yeah, mostly - I had to fix this

[PATCH] D25458: Don't create builtin declaration when looking for typo corrections in C++

2016-10-10 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, hans, majnemer, thakis. agutowski added a subscriber: cfe-commits. Declarations for the builtins were created when suspected of being corrections for a typo. That could trigger some absurd warnings about missing headers. https://r

r283793 - Implement MS read/write barriers and __faststorefence intrinsic

2016-10-10 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Mon Oct 10 14:40:51 2016 New Revision: 283793 URL: http://llvm.org/viewvc/llvm-project?rev=283793&view=rev Log: Implement MS read/write barriers and __faststorefence intrinsic Reviewers: hans, rnk, majnemer Subscribers: cfe-commits Differential Revision: https://reviews.

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-10 Thread Albert Gutowski via cfe-commits
agutowski marked 2 inline comments as done. agutowski added inline comments. Comment at: lib/CodeGen/CGBuiltin.cpp:7610 +Value *SizeVal = EmitScalarExpr(E->getArg(2)); +EmitNonNullArgCheck(RValue::get(Dest.getPointer()), E->getArg(0)->getType(), +

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-10 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74157. agutowski added a comment. remove nullptr check; don't repeat EmitScalarExpr https://reviews.llvm.org/D25334 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics.c test/Heade

[PATCH] D25442: Implement MS read/write barriers and __faststorefence intrinsic

2016-10-10 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: majnemer, hans, rnk. agutowski added a subscriber: cfe-commits. https://reviews.llvm.org/D25442 Files: include/clang/Basic/BuiltinsX86.def include/clang/Basic/BuiltinsX86_64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h te

r283785 - Implement __emul, __emulu, _mul128 and _umul128 MS intrinsics

2016-10-10 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Mon Oct 10 13:09:27 2016 New Revision: 283785 URL: http://llvm.org/viewvc/llvm-project?rev=283785&view=rev Log: Implement __emul, __emulu, _mul128 and _umul128 MS intrinsics Reviewers: rnk, thakis, majnemer, hans Subscribers: cfe-commits Differential Revision: https://re

[PATCH] D25353: Implement __emul, __emulu, _mul128 and _umul128 MS intrinsics

2016-10-10 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 74147. agutowski added a comment. address comments https://reviews.llvm.org/D25353 Files: include/clang/Basic/BuiltinsX86.def include/clang/Basic/BuiltinsX86_64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics.c te

[PATCH] D25353: Implement __emul, __emulu, _mul128 and _umul128 MS intrinsics

2016-10-06 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: hans, rnk, thakis, majnemer. agutowski added a subscriber: cfe-commits. https://reviews.llvm.org/D25353 Files: include/clang/Basic/BuiltinsX86.def include/clang/Basic/BuiltinsX86_64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intri

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-06 Thread Albert Gutowski via cfe-commits
agutowski marked an inline comment as done. agutowski added inline comments. > hans wrote in CGBuiltin.cpp:7613 > Why is it returning Dest here, and not the result of Builder.CreateMemSet? My mistake (that's what memset returns), thanks! https://reviews.llvm.org/D25334 __

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-06 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 73828. agutowski marked an inline comment as done. agutowski added a comment. fix return value and comment https://reviews.llvm.org/D25334 Files: include/clang/Basic/BuiltinsX86.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-in

[PATCH] D25334: Implement __stosb intrinsic as a volatile memset

2016-10-06 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, hans, thakis, majnemer. agutowski added a subscriber: cfe-commits. We need __stosb to be an intrinsic, because SecureZeroMemory function uses it without including intrin.h. Implementing it as a volatile memset is not consistent wit

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-05 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > CGBuiltin.cpp:2665 > +BasicBlock *End = createBasicBlock("bitscan_end", this->CurFn); > +Builder.SetInsertPoint(End); > +PHINode *Result = Builder.CreatePHI(ResultType, 2, "bitscan_result"); Is this line needed? I took it from __builtin_fpclassify,

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-05 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 73685. agutowski added a comment. make _BitScan intrinsics compatible with Intel specification when the mask is zero https://reviews.llvm.org/D25264 Files: include/clang/Basic/BuiltinsARM.def include/clang/Basic/BuiltinsX86.def include/clang/Basic/

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-05 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > rnk wrote in CodeGenFunction.h:2964 > Does this work on Linux? I thought you had to give it an explicit underlying > type (enum class MSVCIntrin : unsigned;) to make that work. Yes, it seems to work on Linux too. According to the cppreference.com, it "declare

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-05 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 73668. agutowski added a comment. change enum in MSVC namespace to enum class MSVCIntrin in CodeGenFunction; cover all control paths https://reviews.llvm.org/D25264 Files: include/clang/Basic/BuiltinsARM.def include/clang/Basic/BuiltinsX86.def incl

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-05 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > majnemer wrote in CGBuiltin.cpp:2640-2647 > This should be in an anonymous namespace. Also, consider using an `enum > class` instead of an `enum` nested inside a namespace. I can see three options: (1) put the existing code inside an anonymous namespace; (2)

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-05 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > majnemer wrote in CGBuiltin.cpp:2656-2684 > Does this do the right thing if the arg is zero? I think it would if you > gave the call to the intrinsic an operand of false instead of true. MSDN doesn't specify what should be put under the "Index" address when t

[PATCH] D25264: Implement MS _BitScan intrinsics

2016-10-04 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, hans, thakis, majnemer. agutowski added a subscriber: cfe-commits. Herald added a subscriber: aemerson. _BitScan intrinsics (and some others, for example _Interlocked and _bittest) are supposed to work on both ARM and x86. This is a

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-10-04 Thread Albert Gutowski via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL283264: Separate builtins for x84-64 and i386; implement __mulh and __umulh (authored by agutowski). Changed prior to commit: https://reviews.llvm.org/D24598?vs=73521&id=73570#toc Repository: rL LLVM

r283264 - Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-10-04 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Tue Oct 4 17:29:49 2016 New Revision: 283264 URL: http://llvm.org/viewvc/llvm-project?rev=283264&view=rev Log: Separate builtins for x84-64 and i386; implement __mulh and __umulh Summary: We need x86-64-specific builtins if we want to implement some of the MS intrinsics

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-10-04 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > agutowski wrote in TargetBuiltins.h:100 > Nice, thanks! > As far as I see, it creates some inconsistency in usage of the word "last", > because it's used wrong everywhere else - LastTSBuiltin is the number of the > last target-specific builtin **plus one**, wh

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-10-04 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > rnk wrote in TargetBuiltins.h:100 > I think this would be better with just one enum to reduce compilation time: > > /// \brief X86 builtins > namespace X86 { > enum { > LastTIBuiltin = clang::Builtin::FirstTSBuiltin - 1, > #define BUILTIN(ID

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-10-04 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 73521. agutowski added a comment. merge enums https://reviews.llvm.org/D24598 Files: include/clang/Basic/BuiltinsX86_64.def include/clang/Basic/TargetBuiltins.h lib/Basic/Targets.cpp lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-10-03 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 73375. agutowski added a comment. remove BuiltinsX86_32.def; reduce redundancy in x86 builtins info https://reviews.llvm.org/D24598 Files: include/clang/Basic/BuiltinsX86_64.def include/clang/Basic/TargetBuiltins.h lib/Basic/Targets.cpp lib/CodeGe

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-09-30 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. > BuiltinsX86_32.def:1 > +//===--- BuiltinsX86_32.def - X86-32 Builtin function database --*- C++ > -*-===// > +// Will we ever need that file? It seems to nicely complement the 64-bit one, but if it's going to be empty forever maybe it's better to remove it.

Re: [PATCH] D24775: Add -Wignored-pragma-intrinsic flag

2016-09-21 Thread Albert Gutowski via cfe-commits
Thanks for clarification! You are right that it doesn't really fit in -Wignored-pragma, but I also don't like the idea of getting warning about ignored "#pragma intrinsic" after setting -Wno-ignored-pragma, so I think I'll leave it as it is. On Wed, Sep 21, 2016 at 1:35 PM, Nico Weber wrote: > On

Re: [PATCH] D24775: Add -Wignored-pragma-intrinsic flag

2016-09-21 Thread Albert Gutowski via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL282108: Add -Wignored-pragma-intrinsic flag (authored by agutowski). Changed prior to commit: https://reviews.llvm.org/D24775?vs=71960&id=72102#toc Repository: rL LLVM https://reviews.llvm.org/D2477

r282108 - Add -Wignored-pragma-intrinsic flag

2016-09-21 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Wed Sep 21 15:19:21 2016 New Revision: 282108 URL: http://llvm.org/viewvc/llvm-project?rev=282108&view=rev Log: Add -Wignored-pragma-intrinsic flag Summary: People might want to receive warnings about pragmas but not about intrinsics that are implemented in intrin.h. Rev

Re: [PATCH] D24775: Add -Wignored-pragma-intrinsic flag

2016-09-20 Thread Albert Gutowski via cfe-commits
OK, thanks for the note about referring to Chromium, I fixed that. As to -Wunknown-pragma, I feel that it would be inconsistent with other pragmas unless I moved whole pragma to lexer instead of parser - I've just discovered that I can do that, how should I decide if it's supposed to be here or the

[PATCH] D24775: Add -Wignored-pragma-intrinsic flag

2016-09-20 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: thakis, hans. agutowski added a subscriber: cfe-commits. https://bugs.chromium.org/p/chromium/issues/detail?id=644841#c9 https://reviews.llvm.org/D24775 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticPa

[PATCH] D24598: Separate builtins for x84-64 and i386; implement __mulh and __umulh

2016-09-14 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, thakis, majnemer. agutowski added a subscriber: cfe-commits. We need x86-64-specific builtins if we want to implement some of the MS intrinsics - winnt.h contains definitions of some functions for i386, but not for x86-64 (for exam

r281540 - Add some MS aliases for existing intrinsics

2016-09-14 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Wed Sep 14 16:19:43 2016 New Revision: 281540 URL: http://llvm.org/viewvc/llvm-project?rev=281540&view=rev Log: Add some MS aliases for existing intrinsics Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: alexshap, cfe-commits Differential Revision: https:

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-14 Thread Albert Gutowski via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL281540: Add some MS aliases for existing intrinsics (authored by agutowski). Changed prior to commit: https://reviews.llvm.org/D24330?vs=71404&id=71437#toc Repository: rL LLVM https://reviews.llvm.o

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-14 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 71404. agutowski added a comment. Fix doxygen comment https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsX86.def lib/Basic/Targets.cpp lib/CodeGen/CGBuiltin.cpp li

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-14 Thread Albert Gutowski via cfe-commits
agutowski marked an inline comment as done. agutowski added a comment. https://reviews.llvm.org/D24330 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 71271. agutowski added a comment. Add extern "C" to Intel intrinsics declarations https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsX86.def lib/Basic/Targets.cpp li

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
agutowski reopened this revision. agutowski added a comment. This revision is now accepted and ready to land. xmmintrin.h and emmintrin.h broke compilation when included inside extern "C++" block Repository: rL LLVM https://reviews.llvm.org/D24330 _

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.

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&view=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/H

r281399 - Reverse commit 281375 (breaks building Chromium)

2016-09-13 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Tue Sep 13 16:24:51 2016 New Revision: 281399 URL: http://llvm.org/viewvc/llvm-project?rev=281399&view=rev Log: Reverse commit 281375 (breaks building Chromium) Removed: cfe/trunk/test/Sema/implicit-intel-builtin-decl.c cfe/trunk/test/Sema/implicit-ms-builtin-decl.

Re: [PATCH] D24153: Add bunch of _Interlocked builtins

2016-09-13 Thread Albert Gutowski via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL281378: Add bunch of _Interlocked builtins (authored by agutowski). Changed prior to commit: https://reviews.llvm.org/D24153?vs=70572&id=71223#toc Repository: rL LLVM https://reviews.llvm.org/D24153

r281378 - Add bunch of _Interlocked builtins

2016-09-13 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Tue Sep 13 14:43:33 2016 New Revision: 281378 URL: http://llvm.org/viewvc/llvm-project?rev=281378&view=rev Log: Add bunch of _Interlocked builtins Reviewers: compnerd, thakis, Prazek, majnemer, rnk Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL281375: Add some MS aliases for existing intrinsics (authored by agutowski). Changed prior to commit: https://reviews.llvm.org/D24330?vs=71213&id=71220#toc Repository: rL LLVM https://reviews.llvm.o

r281375 - Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Tue Sep 13 14:26:42 2016 New Revision: 281375 URL: http://llvm.org/viewvc/llvm-project?rev=281375&view=rev Log: Add some MS aliases for existing intrinsics Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: cfe-commits Differential Revision: https://reviews.

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 71213. agutowski added a comment. Merge C and C++ tests https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsX86.def lib/Basic/Targets.cpp lib/CodeGen/CGBuiltin.cpp

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 71212. agutowski added a comment. Add test for implicitly declared intel intrinsic diagnostic in C++ https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsX86.def lib/Bas

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-13 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. Comment at: test/Sema/implicit-intel-builtin-decl.c:4 @@ +3,3 @@ +void f() { + (void)_mm_getcsr(); // expected-warning{{implicitly declaring library function '_mm_getcsr'}} \ + // expected-note{{include the header or explicitly provide a decla

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-09 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 70926. agutowski added a comment. Separated Intel intrinsics tests https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsX86.def lib/Basic/Targets.cpp lib/CodeGen/CGBui

Re: [PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-09 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 70923. agutowski added a comment. Changed way of handling Intel intrinsics Removed constant folding https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsX86.def lib/Basi

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-08 Thread Albert Gutowski via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL280997: Implement MS _rot intrinsics (authored by agutowski). Changed prior to commit: https://reviews.llvm.org/D24311?vs=70747&id=70759#toc Repository: rL LLVM https://reviews.llvm.org/D24311 Files

r280997 - Implement MS _rot intrinsics

2016-09-08 Thread Albert Gutowski via cfe-commits
Author: agutowski Date: Thu Sep 8 17:32:19 2016 New Revision: 280997 URL: http://llvm.org/viewvc/llvm-project?rev=280997&view=rev Log: Implement MS _rot intrinsics Reviewers: thakis, Prazek, compnerd, rnk Subscribers: majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D24311

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-08 Thread Albert Gutowski via cfe-commits
agutowski marked 4 inline comments as done. agutowski added a comment. https://reviews.llvm.org/D24311 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-08 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 70747. agutowski added a comment. Remove evaluating values for constant arguments https://reviews.llvm.org/D24311 Files: include/clang/Basic/Builtins.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics-rotations.c Index:

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-08 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. Comment at: lib/AST/ExprConstant.cpp:7024-7050 @@ -7023,1 +7023,29 @@ + case Builtin::BI_rotl8: + case Builtin::BI_rotl16: + case Builtin::BI_rotl: + case Builtin::BI_lrotl: + case Builtin::BI_rotl64: { +APSInt Val, Shift; +if (!Eval

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 70646. agutowski marked an inline comment as done. agutowski added a comment. Add evaluating values for constant arguments https://reviews.llvm.org/D24311 Files: include/clang/Basic/Builtins.def lib/AST/ExprConstant.cpp lib/CodeGen/CGBuiltin.cpp l

[PATCH] D24330: Add some MS aliases for existing intrinsics

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, thakis, compnerd, majnemer. agutowski added a subscriber: cfe-commits. https://reviews.llvm.org/D24330 Files: include/clang/Basic/Builtins.def include/clang/Basic/BuiltinsX86.def lib/AST/ExprConstant.cpp lib/CodeGen/CGBuilti

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski marked 2 inline comments as done. agutowski added a comment. In https://reviews.llvm.org/D24311#536333, @rnk wrote: > You should locally verify that this generates the correct assembly when > optimizations are enabled, and if it doesn't, try to make the input look more > like llvm/tes

Re: [PATCH] D24311: Implement MS _rot intrinsics

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 70614. agutowski added a comment. Fix undefined value problem when rotating by zero bits Change tests to work without -Oz flag Fix types of arguments in tests https://reviews.llvm.org/D24311 Files: include/clang/Basic/Builtins.def lib/CodeGen/CGBuilti

[PATCH] D24311: Implement MS _rot intrinsics

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, thakis, Prazek, compnerd. agutowski added a subscriber: cfe-commits. https://reviews.llvm.org/D24311 Files: include/clang/Basic/Builtins.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics-rotations

Re: [PATCH] D24153: Add bunch of _Interlocked builtins

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski marked an inline comment as done. agutowski added a comment. https://reviews.llvm.org/D24153 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D24153: Add bunch of _Interlocked builtins

2016-09-07 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 70572. agutowski added a comment. Mark _InterlockedIncrement and _InterlockedDecrement as non-volatile https://reviews.llvm.org/D24153 Files: include/clang/Basic/Builtins.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsic

[PATCH] D24286: Add MS __nop intrinsic to intrin.h

2016-09-06 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, thakis. agutowski added a subscriber: cfe-commits. There was no definition for __nop function - added inline assembly. https://reviews.llvm.org/D24286 Files: lib/Headers/intrin.h test/Headers/ms-intrin.cpp Index: lib/Headers/i

[PATCH] D24153: Add bunch of _Interlocked builtins

2016-09-01 Thread Albert Gutowski via cfe-commits
agutowski created this revision. agutowski added reviewers: rnk, compnerd, thakis. agutowski added a subscriber: cfe-commits. https://reviews.llvm.org/D24153 Files: include/clang/Basic/Builtins.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics.c Index: lib/Hea

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-30 Thread Albert Gutowski via cfe-commits
agutowski marked an inline comment as done. agutowski added a comment. https://reviews.llvm.org/D23944 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-30 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 69768. agutowski added a comment. Fixed typo https://reviews.llvm.org/D23944 Files: include/clang/Basic/DiagnosticParseKinds.td include/clang/Basic/IdentifierTable.h include/clang/Parse/Parser.h lib/Parse/ParsePragma.cpp test/Preprocessor/pragma

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-30 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 69767. agutowski added a comment. Fixed checking if the function is an intrinsic. Updated getBuiltinID description. https://reviews.llvm.org/D23944 Files: include/clang/Basic/DiagnosticParseKinds.td include/clang/Basic/IdentifierTable.h include/cla

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-29 Thread Albert Gutowski via cfe-commits
agutowski marked 4 inline comments as done. agutowski added a comment. https://reviews.llvm.org/D23944 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-29 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 69632. agutowski added a comment. Changed warning template to use select, fixed some mistakes in the comments. https://reviews.llvm.org/D23944 Files: include/clang/Basic/DiagnosticParseKinds.td include/clang/Parse/Parser.h lib/Parse/ParsePragma.cpp

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-29 Thread Albert Gutowski via cfe-commits
agutowski added inline comments. Comment at: lib/Parse/ParsePragma.cpp:2164 @@ +2163,3 @@ + + bool SuggestIntrinH = !PP.isMacroDefined("__INTRIN_H"); + aaron.ballman wrote: > Is this safe to rely on? I'm not familiar with how we do our intrinsics, but > it's spe

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-29 Thread Albert Gutowski via cfe-commits
agutowski marked 2 inline comments as done. agutowski added a comment. https://reviews.llvm.org/D23944 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D23944: Parsing MS pragma intrinsic

2016-08-29 Thread Albert Gutowski via cfe-commits
agutowski updated this revision to Diff 69605. agutowski added a comment. Changed warning messages https://reviews.llvm.org/D23944 Files: include/clang/Basic/DiagnosticParseKinds.td include/clang/Parse/Parser.h lib/Parse/ParsePragma.cpp test/Preprocessor/pragma_microsoft.c Index: lib/P