[PATCH] D93585: [AArch64][Clang][Linux] Enable out-of-line atomics by default.

2021-01-29 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. I think this looks good now, modulo Sjoerd's last comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93585/new/ https://reviews.llvm.org/D93585 ___ cfe-commits mailing

[PATCH] D95655: [AArch64] Adding Neon Sm3 & Sm4 Intrinsics

2021-02-09 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added inline comments. Comment at: clang/test/CodeGen/aarch64-neon-sm4-sm3.c:5 + +// RUN: not %clang_cc1 -triple aarch64-linux-gnu -target-feature +neon \ +// RUN: -S -emit-llvm -o - %s 2>&1 | FileCheck --check-prefix=CHECK-NO-CRYPTO %s apazos wrot

[PATCH] D96825: [AArch64] Adding Polynomial vadd Intrinsics support

2021-02-17 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover accepted this revision. t.p.northover added a comment. This revision is now accepted and ready to land. Looks sensible to me. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D96825/new/ https://reviews.llvm.org/D96825 ___ cfe-commi

[PATCH] D97233: Support `#pragma clang section` directives on MachO targets

2021-02-24 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added inline comments. Comment at: clang/lib/Sema/SemaAttr.cpp:304 + if (llvm::Error E = Context.getTargetInfo().isValidSectionSpecifier(SecName)) +Diag(PragmaLoc, diag::err_pragma_section_invalid_for_target) Shouldn't this block return so th

[PATCH] D97233: Support `#pragma clang section` directives on MachO targets

2021-02-25 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover accepted this revision. t.p.northover added a comment. This revision is now accepted and ready to land. Thanks. I think it looks good too now. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D97233/new/ https://reviews.llvm.org/D97233 _

[PATCH] D103165: Threading: use independent llvm::thread implementation on Apple platforms to increase stack size

2021-07-06 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Ping. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103165/new/ https://reviews.llvm.org/D103165 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit

[PATCH] D103165: Threading: use independent llvm::thread implementation on Apple platforms to increase stack size

2021-07-08 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks Duncan, committed as 727e1c9be3a5 Comment at: llvm/include/llvm/Support/thread.h:107 + + bool joinable() const noexcept { +retur

[PATCH] D97510: [AArch64][Docs] Release notes 12.x on outline atomics

2021-02-26 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover accepted this revision. t.p.northover added a comment. This revision is now accepted and ready to land. I think this is fine. Comment at: clang/docs/ReleaseNotes.rst:82 + if compilation target supports LSE. Atomic instructions are used directly in + that case. T

[PATCH] D131153: AArch64: disable asynchronous unwind by default for MachO.

2022-09-20 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Just noticed it'd already been approved with those suggestions, so pushed the revised version: 4388b56d and 58f9abaed4aa

[PATCH] D134351: AArch64: add definitions for recent Apple CPUs

2022-09-21 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: ab. Herald added subscribers: hiraditya, kristof.beyls, mcrosier. Herald added a project: All. t.p.northover requested review of this revision. Herald added projects: clang, LLVM. Herald added a subscriber: cfe-commits. This adds

[PATCH] D134351: AArch64: add definitions for recent Apple CPUs

2022-09-21 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 461858. t.p.northover added a comment. Accidentally clang-formatted the `ampere1` test. Undo that. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134351/new/ https://reviews.llvm.org/D134351 Files: clang/test/Misc/target-invalid-cpu-note.c

[PATCH] D134351: AArch64: add definitions for recent Apple CPUs

2022-09-22 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks, committed as 677da09d0259 . CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134351/new/ https://reviews.llvm.org/D134351 __

[PATCH] D134640: Unwind-tables: move back to original logic outline for kind.

2022-09-26 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: abrachet. Herald added a subscriber: mcrosier. Herald added a project: All. t.p.northover requested review of this revision. Herald added a subscriber: MaskRay. Herald added a project: clang. There are lots of options interacting

[PATCH] D134640: Unwind-tables: move back to original logic outline for kind.

2022-09-29 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Sorry about that, committed as e62b3a9375d8 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134640/new/ https:/

[PATCH] D139182: AArch64: add CodeGen support for FEAT_XS DSB instructions

2023-01-30 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 493305. t.p.northover added a comment. Thanks for the warning. Now that's settled down a bit I've updated the patch to the new regime. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139182/new/ https://reviews.llvm.org/D139182 Files: clang/

[PATCH] D139182: AArch64: add CodeGen support for FEAT_XS DSB instructions

2022-12-02 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. Herald added subscribers: hiraditya, kristof.beyls, mcrosier. Herald added a project: All. t.p.northover requested review of this revision. Herald added projects: clang, LLVM. The new variants like `dsb ishnxs` map naturally to CRm == {16, 20, 24, 28}, extendi

[PATCH] D69618: NeonEmitter: clean up prototype modifiers

2019-10-31 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. > It looks like this patch contains a few other changes, besides the changes to > the prototypes. In particular, the change to CGBuiltin.cpp, and there are a > few new lines in the .td files that don't correspond to anything in the old > versions. Is that accident

[PATCH] D69715: NeonEmitter: change Type representation. NFC.

2019-11-01 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: efriedma. Herald added a subscriber: mcrosier. Herald added a project: clang. This has been separated off from D69618 to reduce clutter. Instead of using a sequence of bools to describe whether

[PATCH] D69716: NeonEmitter: remove special 'a' modifier.

2019-11-01 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: efriedma. Herald added a subscriber: mcrosier. Herald added a project: clang. This has been separated off from D69618 to reduce diff clutter, as it really stands on its own. The 'a' modifier is

[PATCH] D69715: NeonEmitter: change Type representation. NFC.

2019-11-06 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. > I guess the extra checks are due to existing code "accidentally" doing the > right thing? Yep, they were helpful while I was in the process of converting (in the end I went via `AAAFloating` enumerators to make sure all uses w

[PATCH] D69716: NeonEmitter: remove special 'a' modifier.

2019-11-06 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks: To github.com:llvm/llvm-project.git 6c2a4f5ff93..59f063b89c5 master -> master Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69716/new/ https://reviews.llvm.org/D69716

[PATCH] D67436: CodeGen: set correct result for atomic compound expressions

2019-11-07 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks JF. To github.com:llvm/llvm-project.git 0ec6a4882ee..10e0d64337d master -> master > Separately, does this do floating-point add / sub properly? We added them too > C++20. It looks like that already works because it d

[PATCH] D69618: NeonEmitter: clean up prototype modifiers

2019-11-12 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Ping. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69618/new/ https://reviews.llvm.org/D69618 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit

[PATCH] D63131: arm64_32: implement the desired ABI for the ILP32 triple.

2019-11-12 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover marked 6 inline comments as done. t.p.northover added a comment. Thanks, I've updated for most of the suggestions and committed it. I'll make the AArch64 naming changes separately if we decide to. Comment at: clang/lib/Basic/Targets/AArch64.cpp:167 // Target p

[PATCH] D69618: NeonEmitter: clean up prototype modifiers

2019-11-20 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover marked 2 inline comments as done. t.p.northover added a comment. Thanks. Pushed it with those suggestions: To github.com:llvm/llvm-project.git c34478f5f6c7..3f91705ca54b master -> master CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D55562: Atomics: support min/max orthogonally

2019-11-21 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks JF. Finally pushed it today: To github.com:llvm/llvm-project.git 9f3fdb0d7fab..5cf58768cb3b master -> master Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D55562/new/ https://reviews.ll

[PATCH] D69618: NeonEmitter: clean up prototype modifiers

2019-11-25 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Sorry about the delay investigating this, your e-mail bypassed my inbox for some reason and I only noticed the issue when Hans reverted the change this afternoon. I'm looking into it now. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69618/new/ https://r

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-11-27 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: ab. Herald added subscribers: hiraditya, kristof.beyls, mcrosier. Herald added a project: LLVM. t.p.northover updated this revision to Diff 231220. t.p.northover added a comment. Test updates after switching arm64_32 default CPU

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-11-27 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 231220. t.p.northover added a comment. Test updates after switching arm64_32 default CPU to apple-s4. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70779/new/ https://reviews.llvm.org/D70779 Files: clang/lib/Driver/ToolChains/Arch/AArch64.c

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-11-28 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover marked an inline comment as done. t.p.northover added a comment. Thanks Florian. I'll wait as you suggest. Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:143 MtuneLowerCase = llvm::sys::getHostCPUName(); - if (MtuneLowerCase == "cyclone") { + if (

[PATCH] D70862: [ARM][AArch64] Complex addition Neon intrinsics for Armv8.3-A

2019-12-02 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Why are you only implementing rot90 and rot270 intrinsics? My quick calculations made rot0 and rot90 the natural ones to implement a bog-standard complex multiplication, but even if I slipped up there I'd expect the others to be useful in some situations. =

[PATCH] D70862: [ARM][AArch64] Complex addition Neon intrinsics for Armv8.3-A

2019-12-02 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover accepted this revision. t.p.northover added a comment. This revision is now accepted and ready to land. > Why are you only implementing rot90 and rot270 intrinsics? My quick > calculations made rot0 and rot90 the natural ones to implement a bog-standard > complex multiplication, bu

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-12-03 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover marked an inline comment as done. t.p.northover added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64.td:587 +"Apple A10", [ +ProcAppleA7, +Featu

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-12-03 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 231872. t.p.northover added a comment. Stop inheriting CPU features because they aren't necessarily strictly monotonic. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70779/new/ https://reviews.llvm.org/D70779 Files: clang/lib/Driver/ToolCha

[PATCH] D71723: ConstrainedFP: use API compatible with opaque pointers.

2019-12-19 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: kpn. Herald added a subscriber: mcrosier. Herald added projects: clang, LLVM. This just updates an IRBuilder interface to take Functions instead of Values so the type can be derived, and fixes some callsites in Clang to call the

[PATCH] D71723: ConstrainedFP: use API compatible with opaque pointers.

2019-12-19 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks Kevin. Committed as 85cb560b8a4 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71723/new/ https://revie

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-27 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. The warning you're seeing is because without an operand modifier Clang always chooses an x-register in its textual assembly expansion. This 64-bit default is compared to the underlying C type to determine whether a warning should be emitted, and I think that's rea

[PATCH] D45319: [Atomics] warn about misaligned atomic accesses using libcalls

2018-04-05 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. t.p.northover added a reviewer: rsmith. t.p.northover added a project: clang. Herald added a subscriber: mcrosier. If an atomic variable is misaligned Clang will emit accesses to it as a libcall. These calls are likely to be slow and involve locks; they are al

[PATCH] D45483: [NEON] Support vfma_n and vfms_n intrinsics

2018-04-10 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover accepted this revision. t.p.northover added a comment. This revision is now accepted and ready to land. Looks fine to me. https://reviews.llvm.org/D45483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi

[PATCH] D151337: ARM: default to arm_aapcscc (or VFP) for embedded MachO targets.

2023-05-24 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. Herald added subscribers: kristof.beyls, mcrosier. Herald added a project: All. t.p.northover requested review of this revision. Herald added a project: clang. These were always intended to be AAPCS targets and LLVM does treat the usual C calling convention th

[PATCH] D151337: ARM: default to arm_aapcscc (or VFP) for embedded MachO targets.

2023-06-06 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D151337/new/ https://reviews.llvm.org/D151337 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.

[PATCH] D144999: [Clang][MC][MachO]Only emits compact-unwind format for "canonical" personality symbols. For the rest, use DWARFs.

2023-06-09 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. I don't think this handles the no-personality case properly. For example this code leads to a DWARF entry now: void bar(int *) noexcept; void foo() { int arr; bar(&arr); } Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://re

[PATCH] D34779: Fix floating point promotions for overload purposes

2017-06-28 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. Herald added a subscriber: mcrosier. This has a couple of changes to how Clang determines whether a floating-point promotion has occurred for C++ (and `__attribute__((overloadable))`) purposes. First, I think the special rules for C are based on a misconcepti

[PATCH] D35701: Break up Targets.cpp into a header/impl pair per target type[NFCI]

2017-07-20 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. > I tended to keep function definitions in the class declaration unless it > caused additional includes to be necessary. Was that for implementation simplicity, or part of some cunning design goal? A lot of these pairs look pretty header-heavy to me (especially gi

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-07-24 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. Herald added a subscriber: mcrosier. As part of preparing Clang for a C++14 default we noticed that code like this was accepted and did horrible things in C++11 or earlier modes (i.e. where 1.0if is a `_Complex float` rather than a UDL): std::complex var =

[PATCH] D35817: Ban implicit _Complex to scalar conversions in C++

2017-07-24 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 107970. t.p.northover added a comment. Sorry, uploaded version with slightly wrong tests. https://reviews.llvm.org/D35817 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaExpr.cpp clang

[PATCH] D33424: Lexer: allow imaginary constants in GNU mode (only).

2017-05-22 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover created this revision. Herald added a subscriber: mcrosier. While looking into the regression tests' compatibility with C++14, many of the failures were because that specification defined UDLs for imaginary constants, specifically ones ending in 'i' and 'il'. This conflicted with t

[PATCH] D33424: Lexer: allow imaginary constants in GNU mode (only).

2017-05-23 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover updated this revision to Diff 99974. t.p.northover added a comment. OK, that seems doable. After playing around I came up with this new patch (and remembered to "git add" my own test this time). It feels like a bit of a hack, but I played around with some alternatives and couldn't

[PATCH] D33424: Lexer: allow imaginary constants in GNU mode (only).

2017-05-23 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover closed this revision. t.p.northover added a comment. Thanks Richard, I've committed it as r303694 with your suggestions. https://reviews.llvm.org/D33424 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-

[PATCH] D100591: [Clang][AArch64] Disable rounding of return values for AArch64

2021-04-23 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. On big-endian targets the rounding up to 64-bits (specified in the AAPCS) is significant; it means that structs get passed in the high bits of `x0` rather than low. E.g. https://godbolt.org/z/6v36oexsW. I think this patch would break that. Repository: rG LLVM

[PATCH] D100591: [Clang][AArch64] Disable rounding of return values for AArch64

2021-04-27 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover accepted this revision. t.p.northover added a comment. This revision is now accepted and ready to land. Thanks for updating it. A little disappointing that we can't support BE first-class, but much more important that it's not broken and it's not actually that common. So I think th

[PATCH] D99079: [ARM][AArch64] Require appropriate features for crypto algorithms

2021-03-26 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:641 + }); + if ((ItSHA2 != Features.rend()) || (ItSHA2 != Features.rend())) +Features.push_back("-crypto"); Both of these checks are identical. And could we get a

[PATCH] D93585: [AArch64] Enable out-of-line atomics by default.

2021-01-11 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added inline comments. Comment at: clang/include/clang/Driver/ToolChain.h:460 + /// Test whether this toolchain supports outline atomics by default. + virtual bool IsOADefault(const llvm::opt::ArgList &Args) const { +return false; This is a pr

[PATCH] D93585: [AArch64] Enable out-of-line atomics by default.

2021-01-19 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64.td:1087 FeatureNEON, + FeatureOutlineAtomics, FeaturePerfMon, ilinpv wrote: > t.p.northover wrote: > > I think this st

<    1   2