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
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
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:
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
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
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
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/
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
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
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
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
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
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
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
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.
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/
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)
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
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);
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
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
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
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
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.
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(),
+
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
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
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
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
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
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
__
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
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
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,
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/
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
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
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)
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
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
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
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
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
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
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/
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
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.
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
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
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
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
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
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
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:
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
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
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
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
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
_
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.
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
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.
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
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/
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
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.
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
93 matches
Mail list logo