Re: [PATCH] D14385: Correct atomic libcall support for __atomic_*_fetch builtins.

2015-11-07 Thread James Y Knight via cfe-commits
jyknight updated this revision to Diff 39644. jyknight marked 2 inline comments as done. jyknight added a comment. Respond to comments. http://reviews.llvm.org/D14385 Files: lib/CodeGen/CGAtomic.cpp test/CodeGen/atomic-ops-libcall.c Index: test/CodeGen/atomic-ops-libcall.c

Re: [PATCH] D14385: Correct atomic libcall support for __atomic_*_fetch builtins.

2015-11-07 Thread James Y Knight via cfe-commits
jyknight added inline comments. Comment at: lib/CodeGen/CGAtomic.cpp:901 @@ -897,1 +900,3 @@ + PostOp = llvm::Instruction::Add; +// Fall through. case AtomicExpr::AO__c11_atomic_fetch_add: compnerd wrote: > I think we should use `[[clang::fallthrough

Re: [PATCH] D11298: Convert a few classes over to use the new TrailingObjects helper.

2015-08-06 Thread James Y Knight via cfe-commits
jyknight marked 2 inline comments as done. Comment at: lib/AST/Decl.cpp:3122 @@ +3121,3 @@ + void *Buffer = Context.Allocate( + totalSizeToAlloc( + TArgs.size(), Ts.size())); rsmith wrote: > OK, I guessed that might be the reason. Seems like a reaso

[PATCH] D11845: Properly pass through the PIC mode to the integrated assembler when doing assembly-only, and unify the Driver's PIC argument parsing.

2015-08-07 Thread James Y Knight via cfe-commits
jyknight created this revision. jyknight added reviewers: rnk, echristo. jyknight added a subscriber: cfe-commits. Herald added subscribers: srhines, danalbert, tberghammer. On a few architectures, parsing of assembly files annoyingly depends on whether PIC is enabled or not. This was handled for

r244370 - [Sparc] XFAIL CodeGen/atomic_ops test.

2015-08-07 Thread James Y Knight via cfe-commits
Author: jyknight Date: Fri Aug 7 17:52:34 2015 New Revision: 244370 URL: http://llvm.org/viewvc/llvm-project?rev=244370&view=rev Log: [Sparc] XFAIL CodeGen/atomic_ops test. Modified: cfe/trunk/test/CodeGen/atomic_ops.c Modified: cfe/trunk/test/CodeGen/atomic_ops.c URL: http://llvm.org/view

Re: [PATCH] D22463: [RFC] Moving to GitHub Proposal: NOT DECISION!

2016-07-18 Thread James Y Knight via cfe-commits
jyknight added a subscriber: jyknight. Comment at: docs/Proposals/GitHub.rst:209 @@ +208,3 @@ + well as a webhook to update the umbrella project (see below). +3. Make sure we have an llvm-project (with submodules) setup in the official + account, with all necessary hooks (hist

[PATCH] D17183: Make TargetInfo store an actual DataLayout instead of a string.

2016-02-11 Thread James Y Knight via cfe-commits
jyknight created this revision. jyknight added a reviewer: echristo. jyknight added a subscriber: cfe-commits. Use it to calculate UserLabelPrefix, instead of specifying it (often incorrectly). Note that the *actual* user label prefix has always come from the DataLayout, and is handled within LLV

Re: [PATCH] D17183: Make TargetInfo store an actual DataLayout instead of a string.

2016-02-11 Thread James Y Knight via cfe-commits
jyknight added a comment. In http://reviews.llvm.org/D17183#351065, @yaron.keren wrote: > We have tried to keep one copy of DataLayout around > http://reviews.llvm.org/D11103 > Can it share the Module->getDataLayout() ? We're at the beginning of clang here, before preprocessing. There's no l

Re: [PATCH] D17183: Make TargetInfo store an actual DataLayout instead of a string.

2016-02-12 Thread James Y Knight via cfe-commits
Those changes were necessary due to a name (IIRC it was "Module") existing in both the clang and llvm namespaces, and after this change, becoming ambiguous in those files. On Feb 12, 2016 3:16 AM, "Paul Robinson" wrote: > probinson added a subscriber: probinson. > probinson added a comment. > > D

Re: [PATCH] D17183: Make TargetInfo store an actual DataLayout instead of a string.

2016-02-23 Thread James Y Knight via cfe-commits
jyknight added a comment. Ping. I'm pretty sure you said you were going to look at this. :) http://reviews.llvm.org/D17183 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

r261717 - Default vaarg lowering should support indirect struct types.

2016-02-23 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Feb 23 20:59:33 2016 New Revision: 261717 URL: http://llvm.org/viewvc/llvm-project?rev=261717&view=rev Log: Default vaarg lowering should support indirect struct types. Fixes PR11517 for SPARC. On most targets, clang lowers va_arg itself, eschewing the use of the llvm

Re: [PATCH] D16154: Default vaarg lowering should support indirect struct types.

2016-02-23 Thread James Y Knight via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL261717: Default vaarg lowering should support indirect struct types. (authored by jyknight). Changed prior to commit: http://reviews.llvm.org/D16154?vs=44785&id=48881#toc Repository: rL LLVM http://

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-04-26 Thread James Y Knight via cfe-commits
jyknight added a comment. ping again. http://reviews.llvm.org/D17933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-03-31 Thread James Y Knight via cfe-commits
jyknight added a comment. Ping. http://reviews.llvm.org/D17933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-04-01 Thread James Y Knight via cfe-commits
jyknight marked an inline comment as done. Comment at: test/CodeGen/atomic-ops.c:1 @@ -1,2 +1,2 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -ffreestanding -ffake-address-space-map -triple=i686-apple-darwin9 | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -o - -ffreestanding -ffake

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-04-01 Thread James Y Knight via cfe-commits
jyknight updated this revision to Diff 52430. jyknight added a comment. Review tweaks. http://reviews.llvm.org/D17933 Files: lib/Basic/Targets.cpp lib/Frontend/InitPreprocessor.cpp test/CodeGen/atomic-ops.c test/CodeGen/ms-volatile.c test/CodeGenCXX/atomicinit.cpp test/OpenMP/atomic

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-04-04 Thread James Y Knight via cfe-commits
jyknight added a comment. Done and done. http://reviews.llvm.org/D17933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-04-04 Thread James Y Knight via cfe-commits
jyknight updated this revision to Diff 52587. jyknight marked 2 inline comments as done. jyknight added a comment. review fixes http://reviews.llvm.org/D17933 Files: lib/Basic/Targets.cpp lib/Frontend/InitPreprocessor.cpp test/CodeGen/atomic-ops.c test/CodeGen/ms-volatile.c test/CodeG

r265355 - Fix "suggest parentheses" warning.

2016-04-04 Thread James Y Knight via cfe-commits
Author: jyknight Date: Mon Apr 4 17:35:56 2016 New Revision: 265355 URL: http://llvm.org/viewvc/llvm-project?rev=265355&view=rev Log: Fix "suggest parentheses" warning. Modified: cfe/trunk/lib/CodeGen/SwiftCallingConv.cpp Modified: cfe/trunk/lib/CodeGen/SwiftCallingConv.cpp URL: http://llv

Re: [PATCH] D18776: NFC: make AtomicOrdering an enum class

2016-04-06 Thread James Y Knight via cfe-commits
jyknight accepted this revision. jyknight added a comment. BTW, this change doesn't actually depend on the LLVM change; it could be committed first, as a "normal" enum puts its members both inside the enum name's scope and outside. http://reviews.llvm.org/D18776

Re: [PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-04-08 Thread James Y Knight via cfe-commits
jyknight added a comment. ping. http://reviews.llvm.org/D17933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D18876: NFC: unify clang / LLVM atomic ordering

2016-04-13 Thread James Y Knight via cfe-commits
jyknight added a comment. The large amount of casting to/from integers for AtomicOrderingCABI makes me think that it probably ought not actually be converted to an enum class after all. http://reviews.llvm.org/D18876 ___ cfe-commits mailing list c

Re: r266186 - Enable support for __float128 in Clang

2016-04-15 Thread James Y Knight via cfe-commits
I'm confused: why does it break targets if __float128 wasn't supported before, and still isn't supported? Surely enabling float128 support on some targets, and leaving it disabled on linux/x86 shouldn't actually *break* linux/x86? On Fri, Apr 15, 2016 at 11:53 AM, Nemanja Ivanovic via cfe-commits

Re: [PATCH] D18876: NFC: unify clang / LLVM atomic ordering

2016-04-15 Thread James Y Knight via cfe-commits
jyknight added a comment. In http://reviews.llvm.org/D18876#402855, @jfb wrote: > In http://reviews.llvm.org/D18876#399934, @jyknight wrote: > > > The large amount of casting to/from integers for AtomicOrderingCABI makes > > me think that it probably ought not actually be converted to an enum cl

Re: r245719 - Properly provide alignment of 'byval' arguments down to llvm.

2016-06-10 Thread James Y Knight via cfe-commits
; > (I'll still need to remove the pointer type in favor of a number of bytes > for byval (byval to copy (or moving the type from the argument's pointer > type, into a parameter to byval, eg: %ptr byval(struct_foo) %arg) but > knowing the alignment's totally handled would b

Re: [PATCH] D20732: Don't use static variables in LambdaCapture

2016-06-13 Thread James Y Knight via cfe-commits
jyknight added a comment. This looks okay. The only downside: it will increase sizeof(Decl) on 32bit platforms, since the layout is: vtable ptr (4) NextInContextAndBits ptr (4) DeclCtx ptr (4) Loc int (4) bitfield int (4) Totaling 20 bytes, which will now be rounded up to 24 bytes. I don't know

Re: [PATCH] D20732: Don't use static variables in LambdaCapture

2016-06-15 Thread James Y Knight via cfe-commits
jyknight accepted this revision. jyknight added a comment. This revision is now accepted and ready to land. Fine with me. Repository: rL LLVM http://reviews.llvm.org/D20732 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm

r273783 - Fix unused variable warning after r273754.

2016-06-25 Thread James Y Knight via cfe-commits
Author: jyknight Date: Sat Jun 25 11:40:53 2016 New Revision: 273783 URL: http://llvm.org/viewvc/llvm-project?rev=273783&view=rev Log: Fix unused variable warning after r273754. Modified: cfe/trunk/lib/Sema/Sema.cpp Modified: cfe/trunk/lib/Sema/Sema.cpp URL: http://llvm.org/viewvc/llvm-proj

Re: [PATCH] D12834: add gcc abi_tag support

2016-07-01 Thread James Y Knight via cfe-commits
jyknight added a subscriber: jyknight. jyknight commandeered this revision. jyknight added a reviewer: stbuehler. jyknight added a comment. I believe this was fully superseded by http://reviews.llvm.org/D17567: [GCC] PR23529 Sema part of attrbute abi_tag support http://reviews.llvm.org/D18035: [G

Re: [PATCH] D20561: Warn when taking address of packed member

2016-07-14 Thread James Y Knight via cfe-commits
jyknight added a subscriber: jyknight. jyknight added a comment. This seems to trigger even for the implicitly generated copier of a packed struct. E.g. #include void copyit(epoll_event&out, const epoll_event &in) { out = in; } Is that as intended? Repository: rL LLVM https:/

Re: [PATCH] D20561: Warn when taking address of packed member

2016-07-14 Thread James Y Knight via cfe-commits
jyknight added a comment. Regardless, I think this should not have added a new un-disableable error, but instead only a default-on warning. The ""binding reference to packed member" error is firing on some of our code, and even if it's not a false-positive, it should be possible to disable it

Re: r258504 - Change of UserLabelPrefix default value from "_" to ""

2016-03-03 Thread James Y Knight via cfe-commits
Sorry for not following up here; this will actually be solved in an entirely different way by http://reviews.llvm.org/D17183 On Thu, Mar 3, 2016 at 5:53 PM, Rafael EspĂ­ndola wrote: > As a first patch I think you can just leave every > > UserLabelPrefix = "" > > in place. > > Cheers, > Rafael ___

Re: r262688 - [X86] Pass __m64 types via SSE registers for GCC compatibility

2016-03-04 Thread James Y Knight via cfe-commits
It'd be nice to have a comment here that mentions that the clang behavior which is being preserved for Darwin, FreeBSD, and PS4 is a *bug* which is being intentionally left unfixed. The previous clang behavior directly contradicts the x86_64 ABI document, which I believe all of these platforms clai

Re: [PATCH] D17183: Make TargetInfo store an actual DataLayout instead of a string.

2016-03-04 Thread James Y Knight via cfe-commits
This revision was automatically updated to reflect the committed changes. jyknight marked an inline comment as done. Closed by commit rL262737: Make TargetInfo store an actual DataLayout instead of a string. (authored by jyknight). Changed prior to commit: http://reviews.llvm.org/D17183?vs=4776

r262737 - Make TargetInfo store an actual DataLayout instead of a string.

2016-03-04 Thread James Y Knight via cfe-commits
Author: jyknight Date: Fri Mar 4 13:00:41 2016 New Revision: 262737 URL: http://llvm.org/viewvc/llvm-project?rev=262737&view=rev Log: Make TargetInfo store an actual DataLayout instead of a string. Use it to calculate UserLabelPrefix, instead of specifying it (often incorrectly). Note that the

Re: r262688 - [X86] Pass __m64 types via SSE registers for GCC compatibility

2016-03-04 Thread James Y Knight via cfe-commits
Ah, great! I always love it when people document their ABIs. Is your ABI document public? If so, could you add it to docs/CompilerWriterInfo.rst? On Fri, Mar 4, 2016 at 11:54 AM, Robinson, Paul wrote: >> It'd be nice to have a comment here that mentions that the clang >> behavior which is being

[PATCH] D17933: Set MaxAtomicInlineWidth properly for i386, i486, and x86-64 cpus without cmpxchg16b.

2016-03-07 Thread James Y Knight via cfe-commits
jyknight created this revision. jyknight added a reviewer: t.p.northover. jyknight added a subscriber: cfe-commits. Herald added subscribers: dschuff, jfb, aemerson. Also, remove all the manual definition of __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* macros. Instead, define it based on MaxAtomicInlineWidt

Re: [Diffusion] rL244063: Add missing atomic libcall support.

2016-03-08 Thread James Y Knight via cfe-commits
jyknight accepted this commit. jyknight added a comment. This issue was resolved; hopefully this will inform Phab of that. Users: jyknight (Author, Auditor) 3.7-release (Auditor) cfe-commits (Auditor) tstellarAMD (Auditor) compnerd (Auditor) majnemer (Auditor) rsmith (Auditor) htt

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-18 Thread James Y Knight via cfe-commits
> A 4 byte cmpxchg could be lock free, while a 1 byte cmpxchg may not be lock free. That's not possible: if you have a 4-byte cmpxchg instruction, you can use it to implement a 1-byte cmpxchg, too. Many targets do this already. (It would be better if that was available generically so that code did

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-18 Thread James Y Knight via cfe-commits
On Thu, Mar 17, 2016 at 12:55 PM, Craig, Ben wrote: > I know that MIPS does that, and an out-of-tree implementation of hexagon > implements 1-byte cmpxchg in terms of the 4-byte version. The emulation > code isn't particularly small, and it seems reasonable to make it a libcall. That's fine. Ei

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-19 Thread James Y Knight via cfe-commits
jyknight added a subscriber: jyknight. jyknight added a comment. This conflicts with http://reviews.llvm.org/D17933. Most of this change also seems unnecessary. - I think the `is_always_lock_free` function should be defined based on the existing `__atomic_always_lock_free` builtin, not on defin

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-20 Thread James Y Knight via cfe-commits
jyknight added inline comments. Comment at: lib/Frontend/InitPreprocessor.cpp:305 @@ +304,3 @@ +if (TypeWidth == TypeAlign && (TypeWidth & (TypeWidth - 1)) == 0 && +TypeWidth <= InlineWidth) + return Always; jfb wrote: > bcraig wrote: > > On some

Re: [PATCH] D17950: Implement is_always_lock_free

2016-03-21 Thread James Y Knight via cfe-commits
jyknight added a comment. > Changed to what you suggested. Much nicer. I don't remember why I thought it > was a bad idea. Thanks, great! I don't have any opinion on what remains in this patch; someone else should review now. http://reviews.llvm.org/D17950

r256534 - [TrailingObjects] Use a different technique to determine if a getDecl

2015-12-28 Thread James Y Knight via cfe-commits
Author: jyknight Date: Mon Dec 28 22:34:11 2015 New Revision: 256534 URL: http://llvm.org/viewvc/llvm-project?rev=256534&view=rev Log: [TrailingObjects] Use a different technique to determine if a getDecl member function exists on a class. The previous trick depended on inheriting from the class

r256535 - Revert "[TrailingObjects] Use a different technique to determine if a getDecl"

2015-12-28 Thread James Y Knight via cfe-commits
Author: jyknight Date: Mon Dec 28 22:46:43 2015 New Revision: 256535 URL: http://llvm.org/viewvc/llvm-project?rev=256535&view=rev Log: Revert "[TrailingObjects] Use a different technique to determine if a getDecl" This reverts commit r256534. Failed to build on MSVC with error: clang/ASTMatchers

r256564 - [TrailingObjects] Use a different technique to determine if a getDecl

2015-12-29 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Dec 29 10:44:11 2015 New Revision: 256564 URL: http://llvm.org/viewvc/llvm-project?rev=256564&view=rev Log: [TrailingObjects] Use a different technique to determine if a getDecl member function exists on a class. The previous trick depended on inheriting from the class

r256570 - [TrailingObjects] Convert AST classes that had a ASTTemplateKWAndArgsInfo.

2015-12-29 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Dec 29 12:15:14 2015 New Revision: 256570 URL: http://llvm.org/viewvc/llvm-project?rev=256570&view=rev Log: [TrailingObjects] Convert AST classes that had a ASTTemplateKWAndArgsInfo. So, also: - Moved the TemplateArgumentLoc array out of the ASTTemplateKWAndArgsInfo

r256585 - [TrailingObjects] Convert Decl* classes.

2015-12-29 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Dec 29 16:13:13 2015 New Revision: 256585 URL: http://llvm.org/viewvc/llvm-project?rev=256585&view=rev Log: [TrailingObjects] Convert Decl* classes. Also remove now-redundant explicit alignment specification on some of the classes converted prior to TrailingObjects auto

r256590 - [TrailingObjects] Convert OffsetOfExpr.

2015-12-29 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Dec 29 16:31:18 2015 New Revision: 256590 URL: http://llvm.org/viewvc/llvm-project?rev=256590&view=rev Log: [TrailingObjects] Convert OffsetOfExpr. That necessitated moving the OffsetOfNode class out of OffsetOfExpr. Modified: cfe/trunk/include/clang/AST/Expr.h

r256608 - [TrailingObjects] Convert CastExpr and subclasses.

2015-12-29 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Dec 29 20:27:28 2015 New Revision: 256608 URL: http://llvm.org/viewvc/llvm-project?rev=256608&view=rev Log: [TrailingObjects] Convert CastExpr and subclasses. Modified: cfe/trunk/include/clang/AST/Expr.h cfe/trunk/include/clang/AST/ExprCXX.h cfe/trunk/includ

r256619 - Fix alignment issue in CodeGenFunction::PopCleanupBlock.

2015-12-29 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Dec 29 21:58:33 2015 New Revision: 256619 URL: http://llvm.org/viewvc/llvm-project?rev=256619&view=rev Log: Fix alignment issue in CodeGenFunction::PopCleanupBlock. It was copying an EHCleanupStack::Cleanup object into a SmallVector, with a comment saying that SmallVect

r256658 - [TrailingObjects] Convert remaining classes in Expr.h and ExprCXX.h

2015-12-30 Thread James Y Knight via cfe-commits
Author: jyknight Date: Wed Dec 30 22:18:25 2015 New Revision: 256658 URL: http://llvm.org/viewvc/llvm-project?rev=256658&view=rev Log: [TrailingObjects] Convert remaining classes in Expr.h and ExprCXX.h Modified: cfe/trunk/include/clang/AST/Expr.h cfe/trunk/include/clang/AST/ExprCXX.h

r256659 - [TrailingObjects] Convert classes in ExprObjC.h

2015-12-30 Thread James Y Knight via cfe-commits
Author: jyknight Date: Wed Dec 30 22:43:19 2015 New Revision: 256659 URL: http://llvm.org/viewvc/llvm-project?rev=256659&view=rev Log: [TrailingObjects] Convert classes in ExprObjC.h Modified: cfe/trunk/include/clang/AST/ExprObjC.h cfe/trunk/lib/AST/ExprObjC.cpp cfe/trunk/lib/Sema/Sem

r256665 - [TrailingObjects] Fix bug in "Convert classes in ExprObjC.h"

2015-12-30 Thread James Y Knight via cfe-commits
Author: jyknight Date: Thu Dec 31 00:01:19 2015 New Revision: 256665 URL: http://llvm.org/viewvc/llvm-project?rev=256665&view=rev Log: [TrailingObjects] Fix bug in "Convert classes in ExprObjC.h" (Detected by asan) Modified: cfe/trunk/lib/AST/ExprObjC.cpp Modified: cfe/trunk/lib/AST/ExprObj

r256683 - [TrailingObjects] Convert classes in OpenMPClause.h

2015-12-31 Thread James Y Knight via cfe-commits
Author: jyknight Date: Thu Dec 31 18:38:24 2015 New Revision: 256683 URL: http://llvm.org/viewvc/llvm-project?rev=256683&view=rev Log: [TrailingObjects] Convert classes in OpenMPClause.h Modified: cfe/trunk/include/clang/AST/OpenMPClause.h cfe/trunk/lib/AST/OpenMPClause.cpp Modified: cfe

r256684 - [TrailingObjects] Fix "Convert classes in OpenMPClause.h" for MSVC

2015-12-31 Thread James Y Knight via cfe-commits
Author: jyknight Date: Thu Dec 31 19:12:48 2015 New Revision: 256684 URL: http://llvm.org/viewvc/llvm-project?rev=256684&view=rev Log: [TrailingObjects] Fix "Convert classes in OpenMPClause.h" for MSVC "friend class OMPVarListClause" -> "friend OMPVarListClause". It's a template, not a class. M

r257392 - PR26087: Use nonstandard MSVC extension for VS2015 as well.

2016-01-11 Thread James Y Knight via cfe-commits
Author: jyknight Date: Mon Jan 11 16:00:22 2016 New Revision: 257392 URL: http://llvm.org/viewvc/llvm-project?rev=257392&view=rev Log: PR26087: Use nonstandard MSVC extension for VS2015 as well. In r256564, I had conditioned the workaround in has_getDecl to only be used for MSVC before the 2015 r

[PATCH] D16154: Default vaarg lowering should support indirect struct types.

2016-01-13 Thread James Y Knight via cfe-commits
jyknight created this revision. jyknight added a subscriber: cfe-commits. Herald added subscribers: jyknight, dschuff, jfb. Fixes PR11517 for SPARC. On most targets, clang lowers va_arg itself, eschewing the use of the llvm vaarg instruction. This is necessary (at least for now) as the type argum

r257871 - Fix a -Wparentheses warning in ASTDiagnostic.cpp.

2016-01-14 Thread James Y Knight via cfe-commits
Author: jyknight Date: Thu Jan 14 23:57:41 2016 New Revision: 257871 URL: http://llvm.org/viewvc/llvm-project?rev=257871&view=rev Log: Fix a -Wparentheses warning in ASTDiagnostic.cpp. Modified: cfe/trunk/lib/AST/ASTDiagnostic.cpp Modified: cfe/trunk/lib/AST/ASTDiagnostic.cpp URL: http://ll

r258894 - Revert "Change of UserLabelPrefix default value from "_" to """

2016-01-26 Thread James Y Knight via cfe-commits
Author: jyknight Date: Tue Jan 26 19:04:51 2016 New Revision: 258894 URL: http://llvm.org/viewvc/llvm-project?rev=258894&view=rev Log: Revert "Change of UserLabelPrefix default value from "_" to """ This reverts commit r258504. This commit breaks (at least) sparc-rtems -- the OS (RTEMS) used to

Re: r258504 - Change of UserLabelPrefix default value from "_" to ""

2016-01-26 Thread James Y Knight via cfe-commits
I reverted this change with r258894, as it breaks (at least) sparc-rtems. Clearly this area of the code was not sufficiently covered by the testsuite. On Fri, Jan 22, 2016 at 10:24 AM, Andrey Bokhanko via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: asbokhan > Date: Fri Jan 22 09:24

Re: r258504 - Change of UserLabelPrefix default value from "_" to ""

2016-01-27 Thread James Y Knight via cfe-commits
d quite > extensively in test/Preprocessor/init.c. There is a line for generic > SPARC as well: > > // SPARC:#define __USER_LABEL_PREFIX__ _ > > and I added initialization of UserLabelPrefix to "_" in > SparcTargetInfo constructor specifically to accommodate this test.

r252920 - Correct atomic libcall support for __atomic_*_fetch builtins.

2015-11-12 Thread James Y Knight via cfe-commits
Author: jyknight Date: Thu Nov 12 12:37:29 2015 New Revision: 252920 URL: http://llvm.org/viewvc/llvm-project?rev=252920&view=rev Log: Correct atomic libcall support for __atomic_*_fetch builtins. In r244063, I had caused these builtins to call the same-named library functions, __atomic_*_fetch_S

Re: [PATCH] D14385: Correct atomic libcall support for __atomic_*_fetch builtins.

2015-11-12 Thread James Y Knight via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL252920: Correct atomic libcall support for __atomic_*_fetch builtins. (authored by jyknight). Changed prior to commit: http://reviews.llvm.org/D14385?vs=39644&id=40068#toc Repository: rL LLVM http:/

Re: [Diffusion] rL244063: Add missing atomic libcall support.

2015-11-12 Thread James Y Knight via cfe-commits
jyknight added a comment. The concerns should be fixed by the followup commit http://reviews.llvm.org/rL252920. If merging to 3.7 branch, both revisions will need to be included. Users: jyknight (Author, Auditor) 3.7-release (Auditor) cfe-commits (Auditor) tstellarAMD (Auditor) compn

Re: [PATCH] D14754: [Myriad]: insert -L paths into linker cmd only when they exist.

2015-11-17 Thread James Y Knight via cfe-commits
jyknight added inline comments. Comment at: lib/Driver/ToolChains.cpp:4319 @@ +4318,3 @@ + // This contains libc, libg (a superset of libc), libm, libstdc++, libssp. + SmallString<128> LibDir(GCCInstallation.getParentLibPath()); + if (Triple.getArch() == llvm::Triple::sparcel)

Re: [PATCH] D14935: Fix nodefaultlibs/nostdlib check

2015-11-23 Thread James Y Knight via cfe-commits
jyknight added a comment. The commit message could use some work: please summarize what you're actually changing, and why. (Here you mention only vaguely why, and not what.) Comment at: test/Driver/nodefaultlib_stdc.c:1 @@ +1,2 @@ +// RUN: %clang -stdlib=libc++ -nodefaultlibs -

Re: [Diffusion] rL244063: Add missing atomic libcall support.

2015-12-03 Thread James Y Knight via cfe-commits
jyknight added a comment. What's the status of this? It's showing bright red on my review dashboard, and I'd like to clear it off. :) Am I expected to do anything else here, or is it just waiting to be merged for the next release now (or, is it not going to be after all)? Users: jyknight (A

Re: [PATCH] D15455: [Driver] Let -static override the toolchain default PIC setting.

2015-12-11 Thread James Y Knight via cfe-commits
jyknight added a comment. In http://reviews.llvm.org/D15455#308532, @joerg wrote: > As before, I don't see why a linker flag should change code generation. That > seems to be a gross violation of layering and quite surprising. I agree. http://reviews.llvm.org/D15455 __

Re: [PATCH] D15455: [Driver] Let -static override the toolchain default PIC setting.

2015-12-17 Thread James Y Knight via cfe-commits
jyknight added a comment. > #define CC1_SPEC "%{!mkernel:%{!static:%{!mdynamic-no-pic:-fPIC}}} That's sad. > We can change this to be Darwin-specific if you prefer, but we should > maintain compatibility with GCC and previous Clang releases in this behavior. Yes, the broken behavior should b

r256191 - Tweak myriad-toolchain test.

2015-12-21 Thread James Y Knight via cfe-commits
Author: jyknight Date: Mon Dec 21 14:30:49 2015 New Revision: 256191 URL: http://llvm.org/viewvc/llvm-project?rev=256191&view=rev Log: Tweak myriad-toolchain test. The test failed when run on a SPARC host, since it was finding the native gcc installation by accident. Modified: cfe/trunk/test

r256359 - [TrailingObjects] Convert ASTTemplateKWAndArgsInfo and ASTTemplateArgumentListInfo.

2015-12-23 Thread James Y Knight via cfe-commits
Author: jyknight Date: Wed Dec 23 20:59:37 2015 New Revision: 256359 URL: http://llvm.org/viewvc/llvm-project?rev=256359&view=rev Log: [TrailingObjects] Convert ASTTemplateKWAndArgsInfo and ASTTemplateArgumentListInfo. Doing so required separating them so that the former doesn't inherit from the

[clang] Adjust modulemap to mark mm3dnow as textual header. (PR #107155)

2024-09-03 Thread James Y Knight via cfe-commits
guard. It's also very rarely included by anything. Addresses https://github.com/llvm/llvm-project/pull/96246#issuecomment-2322453809 >From 861906e432651966238ea764f5a3ac61f0d55c0a Mon Sep 17 00:00:00 2001 From: James Y Knight Date: Tue, 3 Sep 2024 17:03:49 -0400 Subject: [PATCH] Adjust

[clang] Adjust modulemap to mark mm3dnow as textual header. (PR #107155)

2024-09-04 Thread James Y Knight via cfe-commits
jyknight wrote: The only impact is that any modular header which includes this file will end up with a definition of the header guard, instead of importing it, right? It's not clear to me why it's useful to care about that? (I totally do understand worrying about cases which result in e.g. hav

[clang] Adjust modulemap to mark mm3dnow as textual header. (PR #107155)

2024-09-04 Thread James Y Knight via cfe-commits
jyknight wrote: If we don't keep the include-guard, then we'll report the same warning once per `#include`, instead of once per TU, which is probably not ideal. https://github.com/llvm/llvm-project/pull/107155 ___ cfe-commits mailing list cfe-commits@

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-12 Thread James Y Knight via cfe-commits
jyknight wrote: I think the bug this change was attempting to fix is actually the same as #38554 and related bugs -- which, it appears, was not really fixed. The underlying problem here is that `#pragma once` should should work identically to ifndef guards, as far as what macros/decls are made

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-12 Thread James Y Knight via cfe-commits
jyknight wrote: Oh -- I'd also note that even if this is reverted, ilya-biryukov may want to continue to investigate the source-location issue -- it's entirely possible that the correct fix will trigger that same problem! https://github.com/llvm/llvm-project/pull/83660

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-12 Thread James Y Knight via cfe-commits
jyknight wrote: > The problem I'm trying to fix is that nobody knows when it's appropriate to > use #import vs #include But you haven't really (and I think cannot) fixed that. > using header guards or #pragma once is very "un-Objective-C". Yes, this is quite unfortunate. The best answer woul

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-12 Thread James Y Knight via cfe-commits
jyknight wrote: >> The end result should be that #imported and #pragma once-guarded files are >> treated the same way as #ifndef-guarded files. > While I don't necessarily disagree with that goal in principle, it wasn't > true before this change either. Well, yes, I know it isn't true yet --

[clang] [clang][modules] Headers meant to be included multiple times can be completely invisible in clang module builds (PR #83660)

2024-04-13 Thread James Y Knight via cfe-commits
jyknight wrote: To get back to my previous point about the semantics implemented by this patch being unfortunate -- the upshot is that, now: ``` #include #define NDEBUG #import ``` will include assert.h twice (even though the latter is an "import") _only_ if modules are enabled. If modules ar

[clang] [llvm] Remove mmx 3dnow (PR #96246)

2024-06-21 Thread James Y Knight via cfe-commits
@@ -1825,32 +1818,32 @@ def : ProcModel; -def : Proc<"k6-2", [FeatureX87, FeatureCX8, Feature3DNow], +def : Proc<"k6-2", [FeatureX87, FeatureCX8], jyknight wrote: Oops! I had fixed that but in a not-yet-committed diff in my checkout. (Tests fail, otherwise!) ht

[clang] [llvm] Remove mmx 3dnow (PR #96246)

2024-06-21 Thread James Y Knight via cfe-commits
@@ -7,151 +7,16 @@ *===---=== */ +// 3dNow intrinsics are no longer supported, and this header remains only as a +// stub for users who were including it to get to _m_prefetch or +// _m_prefetchw. Such uses

[clang] [llvm] Clang: don't unnecessarily convert inline-asm operands to x86mmx in IR. (PR #98273)

2024-07-23 Thread James Y Knight via cfe-commits
https://github.com/jyknight updated https://github.com/llvm/llvm-project/pull/98273 >From 546963316017935bfbbc05d7095d645344fbd5f5 Mon Sep 17 00:00:00 2001 From: James Y Knight Date: Wed, 10 Jul 2024 00:49:25 -0400 Subject: [PATCH 1/3] Clang: don't unnecessarily convert inline-asm ope

[clang] [llvm] Clang: convert `__m64` intrinsics to unconditionally use SSE2 instead of MMX. (PR #96540)

2024-07-24 Thread James Y Knight via cfe-commits
@@ -49,12 +49,10 @@ typedef __bf16 __m128bh __attribute__((__vector_size__(16), __aligned__(16))); #endif /* Define the default attributes for the functions in this file. */ -#define __DEFAULT_FN_ATTRS \ - __attribute__((_

[clang] [llvm] Clang: convert `__m64` intrinsics to unconditionally use SSE2 instead of MMX. (PR #96540)

2024-07-24 Thread James Y Knight via cfe-commits
https://github.com/jyknight closed https://github.com/llvm/llvm-project/pull/96540 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] b795686 - Clang: adjust MMX instrinsics release note.

2024-07-24 Thread James Y Knight via cfe-commits
Author: James Y Knight Date: 2024-07-24T18:39:16-04:00 New Revision: b79568654e38a14ef921af932ed96abd8961b1ed URL: https://github.com/llvm/llvm-project/commit/b79568654e38a14ef921af932ed96abd8961b1ed DIFF: https://github.com/llvm/llvm-project/commit

[clang] [llvm] Clang: convert `__m64` intrinsics to unconditionally use SSE2 instead of MMX. (PR #96540)

2024-07-24 Thread James Y Knight via cfe-commits
@@ -159,6 +159,20 @@ AMDGPU Support X86 Support ^^^ +- The MMX vector intrinsic functions from ``*mmintrin.h`` which + operate on `__m64` vectors, such as ``_mm_add_pi8``, have been + reimplemented to use the SSE2 instruction-set and XMM registers + unconditionally.

[clang] [llvm] [mlir] Remove the `x86_mmx` IR type. (PR #98505)

2024-07-24 Thread James Y Knight via cfe-commits
@@ -94,14 +94,15 @@ entry: ; ; MMX Store +; Note: doesn't actually emit a non-temporal store here. ; define void @test_mmx(ptr nocapture %a0, ptr nocapture %a1) { ; ALL-LABEL: test_mmx: ; ALL: # %bb.0: # %entry ; ALL-NEXT:movq (%rdi), %mm0 ; ALL-NEXT:psrl

[clang] [llvm] [mlir] Remove the `x86_mmx` IR type. (PR #98505)

2024-07-25 Thread James Y Knight via cfe-commits
jyknight wrote: @RKSimon has fixed in abacc5220e228012b0b86ca2ed540ef1a715f1ee, thanks. Sorry for missing that! https://github.com/llvm/llvm-project/pull/98505 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mail

[clang] [Driver] Introduce ffp-model=aggressive (PR #100453)

2024-07-25 Thread James Y Knight via cfe-commits
jyknight wrote: It seems a bit confusing to me to create a situation where `-ffast-math` is equivalent to `-ffp-model=aggressive`, not `-ffp-model=fast`. https://github.com/llvm/llvm-project/pull/100453 ___ cfe-commits mailing list cfe-commits@lists.l

[clang] Ofast deprecation clarifications (PR #101005)

2024-07-29 Thread James Y Knight via cfe-commits
https://github.com/jyknight approved this pull request. LGTM, thanks. https://github.com/llvm/llvm-project/pull/101005 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [C11] Claim conformance to WG14 N1396 (PR #101214)

2024-07-30 Thread James Y Knight via cfe-commits
jyknight wrote: We aren't compliant for assignment either with x87 float/double -- e.g. enable `-O2` on your example. I think we need to say that we conform except on 32-bit x86 with SSE2 disabled, and link to an appropriate bug. Maybe we'll fix that backend someday. Or maybe not. https://gi

[clang] [clang] Add deprecation warning for `-Ofast` driver option (PR #98736)

2024-07-16 Thread James Y Knight via cfe-commits
https://github.com/jyknight approved this pull request. Sounds good enough to me, thank you! https://github.com/llvm/llvm-project/pull/98736 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[clang] [llvm] Remove support for 3DNow!, both intrinsics and builtins. (PR #96246)

2024-07-16 Thread James Y Knight via cfe-commits
https://github.com/jyknight closed https://github.com/llvm/llvm-project/pull/96246 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Remove support for 3DNow!, both intrinsics and builtins. (PR #96246)

2024-07-17 Thread James Y Knight via cfe-commits
jyknight wrote: Thanks for the report! Looks like I missed some 3dnow mentions in llvm/lib/TargetParser/X86TargetParser.cpp, so `-mno-mmx` is still emitting this feature. I don't believe it should have any impact other than the warning spam, but I will fix it. https://github.com/llvm/llvm-pr

[clang] Handle constant "pointers" for `__atomic_always_lock_free`/`__atomic_is_lock_free`. (PR #99340)

2024-07-17 Thread James Y Knight via cfe-commits
#75081. >From 2cb327b0377d4196982842455e2aaf4e6a21f667 Mon Sep 17 00:00:00 2001 From: James Y Knight Date: Wed, 17 Jul 2024 10:43:45 -0400 Subject: [PATCH] Handle constant "pointers" for `__atomic_always_lock_free`/`__atomic_is_lock_free`. The second argument passed to these builtins is used to validate wh

[clang] [llvm] Remove 3dnow from X86TargetParser. (PR #99352)

2024-07-17 Thread James Y Knight via cfe-commits
6, but was missed. >From 70160e033ac94de92fc2cd6289548094cd893498 Mon Sep 17 00:00:00 2001 From: James Y Knight Date: Wed, 17 Jul 2024 11:40:38 -0400 Subject: [PATCH] Remove 3dnow from X86TargetParser. This should've been part of PR #96246, but was missed. This addresses the spurious inclusion of (now unsuppor

[clang] [llvm] Remove 3dnow from X86TargetParser. (PR #99352)

2024-07-17 Thread James Y Knight via cfe-commits
@@ -171,14 +171,14 @@ constexpr FeatureBitset FeaturesClearwaterforest = // Geode Processor. constexpr FeatureBitset FeaturesGeode = -FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | Feature3DNOW | Feature3DNOWA; jyknight wrote: Possibly not? We didn't enabl

[clang] [llvm] Remove 3dnow from X86TargetParser. (PR #99352)

2024-07-17 Thread James Y Knight via cfe-commits
@@ -171,14 +171,14 @@ constexpr FeatureBitset FeaturesClearwaterforest = // Geode Processor. constexpr FeatureBitset FeaturesGeode = -FeatureX87 | FeatureCMPXCHG8B | FeatureMMX | Feature3DNOW | Feature3DNOWA; jyknight wrote: (I somewhat lean towards submi

[clang] Fix a regression with alignas on structure members in C (PR #98642)

2024-07-17 Thread James Y Knight via cfe-commits
https://github.com/jyknight approved this pull request. Thanks, LGTM. I like this version. Did this change also fix any other bugs? Since it looks like we were previously not skipping ProcessDeclAttribute for ``[[]]`` attributes in C23 mode, when IncludeCXX11Attributes == false, and we were su

<    1   2   3   4   5   6   7   8   9   >