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=rev Log: Implement __stosb intrinsic as a volatile memset Summary: We need `__stosb` to be an intrinsic, because SecureZeroMemory function uses it without including

[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

[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:

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=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=rev Log: fix _BitScan intrinsics missing header warnings; fix some line endings Modified: cfe/trunk/include/clang/Basic/BuiltinsARM.def

[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

[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

[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

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=rev Log: Implement MS _ReturnAddress and _AddressOfReturnAddress intrinsics Reviewers: rnk, thakis, majnemer, hans Subscribers: cfe-commits Differential Revision:

[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

[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=rev Log: fix ms-intrinsics labels code to work with builds with assertions Modified: cfe/trunk/test/CodeGen/ms-intrinsics.c Modified:

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=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:

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=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

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=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

[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

[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

[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

[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.

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=rev Log: Implement MS read/write barriers and __faststorefence intrinsic Reviewers: hans, rnk, majnemer Subscribers: cfe-commits Differential Revision:

[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

[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

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=rev Log: Implement __emul, __emulu, _mul128 and _umul128 MS intrinsics Reviewers: rnk, thakis, majnemer, hans Subscribers: cfe-commits Differential Revision:

[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

[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

[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

[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

[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

[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;

[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

[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

[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=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=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**,

[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

[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

[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

[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

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=72102#toc Repository: rL LLVM https://reviews.llvm.org/D24775

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=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.

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

[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

[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

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=rev Log: Add some MS aliases for existing intrinsics Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: alexshap, cfe-commits Differential Revision:

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

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 <david.majne...@gmail.com> wrote: > What issue is this addressing? > > On Tue, Sep 13, 2016 at 2:51 PM, Albert Gutowski via cfe-commits

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

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=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.c

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=71223#toc Repository: rL LLVM https://reviews.llvm.org/D24153

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=71220#toc Repository: rL LLVM

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=rev Log: Add some MS aliases for existing intrinsics Reviewers: thakis, compnerd, majnemer, rsmith, rnk Subscribers: cfe-commits Differential Revision:

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

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

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

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

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=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=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

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

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

[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

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

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

[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

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

[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:

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

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

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

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: