r364777 - [RISCV] Avoid save-restore target feature warning

2019-07-01 Thread Sam Elliott via cfe-commits
Author: lenary Date: Mon Jul 1 07:53:56 2019 New Revision: 364777 URL: http://llvm.org/viewvc/llvm-project?rev=364777&view=rev Log: [RISCV] Avoid save-restore target feature warning Summary: LLVM issues a warning if passed unknown target features. Neither I nor @asb noticed this until after http

r370073 - [RISCV] Set MaxAtomicInlineWidth and MaxAtomicPromoteWidth for RV32/RV64 targets with atomics

2019-08-27 Thread Sam Elliott via cfe-commits
Author: lenary Date: Tue Aug 27 08:41:16 2019 New Revision: 370073 URL: http://llvm.org/viewvc/llvm-project?rev=370073&view=rev Log: [RISCV] Set MaxAtomicInlineWidth and MaxAtomicPromoteWidth for RV32/RV64 targets with atomics Summary: This ensures that libcalls aren't generated when the target

r367403 - [RISCV] Support 'f' Inline Assembly Constraint

2019-07-31 Thread Sam Elliott via cfe-commits
Author: lenary Date: Wed Jul 31 02:45:55 2019 New Revision: 367403 URL: http://llvm.org/viewvc/llvm-project?rev=367403&view=rev Log: [RISCV] Support 'f' Inline Assembly Constraint Summary: This adds the 'f' inline assembly constraint, as supported by GCC. An 'f'-constrained operand is passed in a

r367557 - [RISCV] Add FreeBSD targets

2019-08-01 Thread Sam Elliott via cfe-commits
Author: lenary Date: Thu Aug 1 06:14:30 2019 New Revision: 367557 URL: http://llvm.org/viewvc/llvm-project?rev=367557&view=rev Log: [RISCV] Add FreeBSD targets Reviewers: asb Reviewed By: asb Subscribers: simoncook, s.egerton, lenary, psnobl, benna, mhorne, emaste, kito-cheng, shiva0217, rogf

r367565 - Add support for openSUSE RISC-V triple

2019-08-01 Thread Sam Elliott via cfe-commits
Author: lenary Date: Thu Aug 1 07:23:56 2019 New Revision: 367565 URL: http://llvm.org/viewvc/llvm-project?rev=367565&view=rev Log: Add support for openSUSE RISC-V triple Reviewers: asb Reviewed By: asb Subscribers: lenary, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, zzheng,

r370709 - [RISCV] Correct Logic around ilp32e macros

2019-09-03 Thread Sam Elliott via cfe-commits
Author: lenary Date: Tue Sep 3 01:47:58 2019 New Revision: 370709 URL: http://llvm.org/viewvc/llvm-project?rev=370709&view=rev Log: [RISCV] Correct Logic around ilp32e macros Summary: GCC seperates the `__riscv_float_abi_*` macros and the `__riscv_abi_rve` macro. If the chosen abi is ilp32e, `gc

[libunwind] ce3d1c6 - [libunwind][RISCV] Add 64-bit RISC-V support

2019-12-16 Thread Sam Elliott via cfe-commits
Author: Sam Elliott Date: 2019-12-16T16:36:56Z New Revision: ce3d1c6d61dcd96f44492516f8b613bbcadaeb8e URL: https://github.com/llvm/llvm-project/commit/ce3d1c6d61dcd96f44492516f8b613bbcadaeb8e DIFF: https://github.com/llvm/llvm-project/commit/ce3d1c6d61dcd96f44492516f8b613bbcadaeb8e.diff LOG: [

[clang] e3d5ff5 - [RISCV] Match GCC `-march`/`-mabi` driver defaults

2019-11-16 Thread Sam Elliott via cfe-commits
Author: Sam Elliott Date: 2019-11-15T15:10:42Z New Revision: e3d5ff5a0b102febcddd9d58f24f18b00d4ecb4e URL: https://github.com/llvm/llvm-project/commit/e3d5ff5a0b102febcddd9d58f24f18b00d4ecb4e DIFF: https://github.com/llvm/llvm-project/commit/e3d5ff5a0b102febcddd9d58f24f18b00d4ecb4e.diff LOG: [

r311347 - [clang] Fix tests for Emitting Single Inline Remark

2017-08-21 Thread Sam Elliott via cfe-commits
Author: lenary Date: Mon Aug 21 09:40:35 2017 New Revision: 311347 URL: http://llvm.org/viewvc/llvm-project?rev=311347&view=rev Log: [clang] Fix tests for Emitting Single Inline Remark Summary: This change depends on https://reviews.llvm.org/D36054 and should be landed at the same time. Reviewe

r374774 - [RISCV] enable LTO support, pass some options to linker.

2019-10-14 Thread Sam Elliott via cfe-commits
Author: lenary Date: Mon Oct 14 07:00:13 2019 New Revision: 374774 URL: http://llvm.org/viewvc/llvm-project?rev=374774&view=rev Log: [RISCV] enable LTO support, pass some options to linker. Summary: 1. enable LTO need to pass target feature and abi to LTO code generation RISCV backend need the

r364018 - [RISC-V] Add -msave-restore and -mno-save-restore to clang driver

2019-06-21 Thread Sam Elliott via cfe-commits
Author: lenary Date: Fri Jun 21 03:03:31 2019 New Revision: 364018 URL: http://llvm.org/viewvc/llvm-project?rev=364018&view=rev Log: [RISC-V] Add -msave-restore and -mno-save-restore to clang driver Summary: The GCC RISC-V toolchain accepts `-msave-restore` and `-mno-save-restore` to control whet

[clang] [FMV][AArch64] Don't optimize backward compatible features in resolver. (PR #90928)

2024-05-03 Thread Sam Elliott via cfe-commits
lenary wrote: Is this check even right for MTE? FEAT_MTE uses encodings that are undefined (rather than nop-compatible) in the base architecture, even though those encodings are not doing tag checking until you enable at least FEAT_MTE2 - so I cannot execute e.g. `IRG` on a base armv8.0a archi

[clang] [clang][docs] Update Include Options Help (PR #101192)

2024-08-07 Thread Sam Elliott via cfe-commits
https://github.com/lenary updated https://github.com/llvm/llvm-project/pull/101192 >From d9fc0576afc4ad2521e92166f8e4b7a56da97230 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Tue, 30 Jul 2024 07:06:05 -0700 Subject: [PATCH 1/2] [clang][docs] Update Include Options Help This adds HelpTexts

[clang] [clang][docs] Update Include Options Help (PR #101192)

2024-08-07 Thread Sam Elliott via cfe-commits
https://github.com/lenary closed https://github.com/llvm/llvm-project/pull/101192 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-08 Thread Sam Elliott via cfe-commits
https://github.com/lenary created https://github.com/llvm/llvm-project/pull/102452 Luke Wren's Hazard3 is an open-source 32-bit RISC-V core. The core's source code and docs are available on github: https://github.com/wren6991/hazard3 The core has just hit 1.0 today, which seems to me to be a g

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-08 Thread Sam Elliott via cfe-commits
https://github.com/lenary converted_to_draft https://github.com/llvm/llvm-project/pull/102452 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-08 Thread Sam Elliott via cfe-commits
lenary wrote: I am happy to be point person on maintaining this core definition in LLVM, I communicate regularly with Luke, the core designer. As for the core itself, it's obviously maintained by Luke, and as Alex points out, it's just been announced to be in commercial products released by R

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-08 Thread Sam Elliott via cfe-commits
lenary wrote: I do have some worries about the definition as-is, as the core in the repo has optional features (configurable at tape-out time). Reading the RP2350 datasheet, not all of the optional features for Hazard3 are enabled (and I'm of the opinion that the lack of arm-like `-mcpu=++no`

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-15 Thread Sam Elliott via cfe-commits
lenary wrote: I've reached out to Luke to ask his/RPi's opinion (but I think he might be away at the moment, so a reply might be slow). My preference remains `raspberrypi-rp2350` because it matches our `-` approach taken so far (for everything except rocket). https://github.com/llvm/llvm-proj

[clang] [clang][test] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary created https://github.com/llvm/llvm-project/pull/104601 This change does two kinds of splits: - Splits each target into a different file. Some targets are left in the same files, such as riscv32/64 and x86/_64 as these tests and lists are very similar. - Splits up the

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. I'm happy with this as a good first step to adopting the multilib YAML. Have you, using this patch, managed to reimplement the hardcoded multilib behaviour? This is not a blocking question, but it might give an indication of whether more wo

[clang] [clang][test] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Sam Elliott via cfe-commits
@@ -0,0 +1,382 @@ +// Use --implicit-check-not={{[a-zA-Z0-9]}} to ensure no additional CPUs are in these lists + +// RUN: not %clang_cc1 -triple i386--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix X86 --implicit-check-not={{[a-zA-Z0-9]}} +// X86: er

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary updated https://github.com/llvm/llvm-project/pull/102452 >From 0e9579c91242fc63eb2cb686adc105fd248fef91 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Fri, 16 Aug 2024 07:52:53 -0700 Subject: [PATCH 1/2] [clang][test] Split invalid-cpu-note tests This change does tw

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary updated https://github.com/llvm/llvm-project/pull/102452 >From 0e9579c91242fc63eb2cb686adc105fd248fef91 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Fri, 16 Aug 2024 07:52:53 -0700 Subject: [PATCH 1/2] [clang][test] Split invalid-cpu-note tests This change does tw

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
lenary wrote: I've updated this and gone with `rp2350-hazard3` as that's the prevailing consensus. This is stacked on #104601 because i got fed up with the invalid cpu note tests. Otherwise it's ready to review. https://github.com/llvm/llvm-project/pull/102452

[clang] [llvm] [RISCV] Add Hazard3 CPU (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary ready_for_review https://github.com/llvm/llvm-project/pull/102452 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [Driver] Default -msmall-data-limit= to 0 and clean up code (PR #83093)

2024-08-16 Thread Sam Elliott via cfe-commits
lenary wrote: I was a reviewer on the original patch, and I can see that I let some not great things through - claiming options that should not have been claimed, etc. I also do think that the situation has changed since then - more platform defaults are opting out of the sbss/sdata optimisati

[clang] [llvm] [Driver] Default -msmall-data-limit= to 0 and clean up code (PR #83093)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. https://github.com/llvm/llvm-project/pull/83093 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary edited https://github.com/llvm/llvm-project/pull/104601 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary edited https://github.com/llvm/llvm-project/pull/102452 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
https://github.com/lenary edited https://github.com/llvm/llvm-project/pull/102452 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-16 Thread Sam Elliott via cfe-commits
@@ -108,6 +108,7 @@ Changes to the RISC-V Backend fill value) rather than NOPs. * Added Syntacore SCR4 and SCR5 CPUs: ``-mcpu=syntacore-scr4/5-rv32/64`` * ``-mcpu=sifive-p470`` was added. +* Added Hazard3 CPU: ``-mcpu=hazard3`` (32-bit only). lenary wrote: D

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-17 Thread Sam Elliott via cfe-commits
@@ -0,0 +1,90 @@ +// Use --implicit-check-not to ensure no additional CPUs are in this list + +// RUN: not %clang_cc1 -triple arm64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --implicit-check-not={{[a-zA-Z0-9]}} +// RUN: not %clang_cc1 -triple arm64--- -tune-cp

[clang] [llvm] [AArch64] Add a check for invalid default features (PR #104435)

2024-08-19 Thread Sam Elliott via cfe-commits
lenary wrote: Just closing a loop because I didn't have the info until today: the Oryon info in this patch is correct, the core does have SSBS and CCIDX. https://github.com/llvm/llvm-project/pull/104435 ___ cfe-commits mailing list cfe-commits@lists.l

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-19 Thread Sam Elliott via cfe-commits
https://github.com/lenary updated https://github.com/llvm/llvm-project/pull/104601 >From b125071eeb35ee4a76e126967b7c29d86a1fae56 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Fri, 16 Aug 2024 07:52:53 -0700 Subject: [PATCH] [clang][test] Split invalid-cpu-note tests This change does two ki

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-19 Thread Sam Elliott via cfe-commits
@@ -0,0 +1,90 @@ +// Use --implicit-check-not to ensure no additional CPUs are in this list + +// RUN: not %clang_cc1 -triple arm64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --implicit-check-not={{[a-zA-Z0-9]}} +// RUN: not %clang_cc1 -triple arm64--- -tune-cp

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-19 Thread Sam Elliott via cfe-commits
https://github.com/lenary updated https://github.com/llvm/llvm-project/pull/102452 >From b125071eeb35ee4a76e126967b7c29d86a1fae56 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Fri, 16 Aug 2024 07:52:53 -0700 Subject: [PATCH 1/2] [clang][test] Split invalid-cpu-note tests This change does tw

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-19 Thread Sam Elliott via cfe-commits
lenary wrote: > Is this PR stacked on > [b125071](https://github.com/llvm/llvm-project/commit/b125071eeb35ee4a76e126967b7c29d86a1fae56) > (I don't see any note of that in the PR description at the moment)? > > Edit: I found the comment that says that! Yeah, sorry, I only stacked it about half

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-20 Thread Sam Elliott via cfe-commits
lenary wrote: Failures seem unrelated. Merging. https://github.com/llvm/llvm-project/pull/104601 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][NFC] Split invalid-cpu-note tests (PR #104601)

2024-08-20 Thread Sam Elliott via cfe-commits
https://github.com/lenary closed https://github.com/llvm/llvm-project/pull/104601 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-20 Thread Sam Elliott via cfe-commits
lenary wrote: The commit this was stacked on is merged, and I think we have sorted out naming issues and pinned down the exact cpu configuration, so I think this is ready for review and merge. https://github.com/llvm/llvm-project/pull/102452 ___ cfe-

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-20 Thread Sam Elliott via cfe-commits
https://github.com/lenary updated https://github.com/llvm/llvm-project/pull/102452 >From b125071eeb35ee4a76e126967b7c29d86a1fae56 Mon Sep 17 00:00:00 2001 From: Sam Elliott Date: Fri, 16 Aug 2024 07:52:53 -0700 Subject: [PATCH 1/2] [clang][test] Split invalid-cpu-note tests This change does tw

[clang] [llvm] [RISCV] Add CSRs and an instruction for Smctr and Ssctr extensions. (PR #105148)

2024-08-20 Thread Sam Elliott via cfe-commits
@@ -839,6 +839,14 @@ def HLV_D : HLoad_r<0b0110110, 0b0, "hlv.d">, Sched<[]>; def HSV_D : HStore_rr<0b0110111, "hsv.d">, Sched<[]>; } +let Predicates = [HasStdExtSmctrOrSsctr] in { +def SCTRCLR : Priv<"sctrclr", 0b0001000>, Sched<[]> { lenary wrote:

[clang] [llvm] [RISCV] Add CSRs and an instruction for Smctr and Ssctr extensions. (PR #105148)

2024-08-20 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. https://github.com/llvm/llvm-project/pull/105148 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [RISCV] Add Hazard3 Core as taped out for RP2350 (PR #102452)

2024-08-21 Thread Sam Elliott via cfe-commits
https://github.com/lenary closed https://github.com/llvm/llvm-project/pull/102452 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-21 Thread Sam Elliott via cfe-commits
lenary wrote: This is also a limitation if you use `@` as a prefix as suggested in the discourse thread - GCC's `-print-multi-lib` prints out flags with the first `-` replaced with an `@`, which iirc some build systems also parse (i recall crosstool-ng, but maybe it's newlib within a crosstoo

[clang] [Clang][AArch64] Fix typo with colon-separated syntax for system registers (PR #105608)

2024-08-22 Thread Sam Elliott via cfe-commits
lenary wrote: The existing implementation lines up with the ACLE, which specifies this colon-separated syntax: https://github.com/ARM-software/acle/blob/main/main/acle.md#aarch64-system-register - please send an update to that document before changing this behaviour. https://github.com/llvm/l

[clang] Enable frame pointer for non-leaf functions on Android (PR #97614)

2024-08-23 Thread Sam Elliott via cfe-commits
@@ -166,7 +155,7 @@ static bool useFramePointerForTargetByDefault(const llvm::opt::ArgList &Args, static bool useLeafFramePointerForTargetByDefault(const llvm::Triple &Triple) { if (Triple.isAArch64() || Triple.isPS() || Triple.isVE() || - (Triple.isAndroid() && Triple

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-09-06 Thread Sam Elliott via cfe-commits
lenary wrote: @ArcaneNibble have you seen this RFC from Arm https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058?u=lenary which I think would be useful for RISC-V too? https://github.com/llvm/llvm-project/pull/98856 ___ cfe-commits mailing li

[clang] [RISCV] Add testcase for -mcmodel= (PR #107816)

2024-09-09 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. https://github.com/llvm/llvm-project/pull/107816 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Allow -mcmodel= to accept large for RV64 (PR #107817)

2024-09-09 Thread Sam Elliott via cfe-commits
lenary wrote: What's the status of backend support for the large code model? That would presumably be a prerequisite to landing this. https://github.com/llvm/llvm-project/pull/107817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://list

[clang] [RISCV] Allow -mcmodel= to accept large for RV64 (PR #107817)

2024-09-09 Thread Sam Elliott via cfe-commits
lenary wrote: > > What's the status of backend support for the large code model? That would > > presumably be a prerequisite to landing this. > > It was just merged: #70308. I expected I was out of date, thanks for the link. The psABI says the large code model is not compatible with PIC - thi

[clang] [llvm] [AArch64] Implement GCS ACLE intrinsics (PR #96903)

2024-06-27 Thread Sam Elliott via cfe-commits
@@ -855,6 +863,25 @@ __rndrrs(uint64_t *__p) { } #endif +/* 11.2 Guarded Control Stack intrinsics */ +#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE +static __inline__ void * __attribute__((__always_inline__, __nodebug__)) +__gcspr() { + return (void *)__builtin_arm_rsr6

[clang] [llvm] [AArch64] Make user-visible Arm architecture version strings consistent (PR #98550)

2024-07-12 Thread Sam Elliott via cfe-commits
@@ -89,14 +89,14 @@ def FeatureCrypto : ExtensionWithMArch<"crypto", "Crypto", "FEAT_Crypto", "Enable cryptographic instructions", [FeatureNEON, FeatureSHA2, FeatureAES]>; def FeatureCRC : ExtensionWithMArch<"crc", "CRC", "FEAT_CRC32", - "Enable ARMv8 CRC-32 checksum instr

[libunwind] [RISCV] Allow libunwind to build for rv32e (PR #98855)

2024-08-01 Thread Sam Elliott via cfe-commits
@@ -1169,7 +1169,11 @@ DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind15Registers_riscv6jumptoEv) ILOAD x\i, (RISCV_ISIZE * \i)(a0) .endr // skip a0 for now +#if defined(__riscv_abi_rve) lenary wrote: I don't understand how the non-e version of this list rela

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-01 Thread Sam Elliott via cfe-commits
@@ -258,6 +259,13 @@ static void getARMMultilibFlags(const Driver &D, } } +static void getRISCVMultilibFlags(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, + Multilib::flags_lis

[libunwind] [RISCV] Allow libunwind to build for rv32e (PR #98855)

2024-08-01 Thread Sam Elliott via cfe-commits
@@ -1169,7 +1169,11 @@ DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind15Registers_riscv6jumptoEv) ILOAD x\i, (RISCV_ISIZE * \i)(a0) .endr // skip a0 for now +#if defined(__riscv_abi_rve) lenary wrote: > The non-e case seems to be saving/restoring all register

[libunwind] [RISCV] Allow libunwind to build for rv32e (PR #98855)

2024-08-01 Thread Sam Elliott via cfe-commits
@@ -1169,7 +1169,11 @@ DEFINE_LIBUNWIND_FUNCTION(_ZN9libunwind15Registers_riscv6jumptoEv) ILOAD x\i, (RISCV_ISIZE * \i)(a0) .endr // skip a0 for now +#if defined(__riscv_abi_rve) lenary wrote: > Okay, I apparently did not realize that you can explicit

[libunwind] [RISCV] Allow libunwind to build for rv32e (PR #98855)

2024-08-01 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. I'm happy with this from a RISC-V arch/abi point of view. https://github.com/llvm/llvm-project/pull/98855 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mail

[clang] [RISCV] Allow YAML file to control multilib selection (PR #98856)

2024-08-04 Thread Sam Elliott via cfe-commits
@@ -258,6 +259,13 @@ static void getARMMultilibFlags(const Driver &D, } } +static void getRISCVMultilibFlags(const Driver &D, const llvm::Triple &Triple, + const llvm::opt::ArgList &Args, + Multilib::flags_lis

[libunwind] [RISCV] Allow libunwind to build for rv32e (PR #98855)

2024-08-06 Thread Sam Elliott via cfe-commits
lenary wrote: @ArcaneNibble your contributions now definitely meet the threshold for commit access - please request it following the instructions in the Developer Policy: https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access (also take a read of the rest of the policy to understan

[clang] [llvm] [AArch64] Implement GCS ACLE intrinsics (PR #96903)

2024-07-04 Thread Sam Elliott via cfe-commits
@@ -855,6 +863,25 @@ __rndrrs(uint64_t *__p) { } #endif +/* 11.2 Guarded Control Stack intrinsics */ +#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE +static __inline__ void * __attribute__((__always_inline__, __nodebug__)) +__gcspr() { + return (void *)__builtin_arm_rsr6

[clang] [llvm] [AArch64] Implement GCS ACLE intrinsics (PR #96903)

2024-07-10 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. Thanks, LGTM. As a follow-up, can you check that the instructions generated from this builtin do inhibit the machine outliner? Maybe all GCS-modifying functions have to inhibit the machine outliner, I'm not 100% sure. https://github.com/ll

[clang] [llvm] [AArch64] Implement GCS ACLE intrinsics (PR #96903)

2024-07-11 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. LGTM. https://github.com/llvm/llvm-project/pull/96903 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm][AArch64] apple-m4 is armv9.2-a (PR #98267)

2024-07-11 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. https://github.com/llvm/llvm-project/pull/98267 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [Driver] Rearrange some Apple version testing (PR #94514)

2024-06-11 Thread Sam Elliott via cfe-commits
@@ -0,0 +1,9 @@ +; Test emitting version_min directives. + +; RUN: llc %s -filetype=asm -o - --mtriple arm64-apple-tvos9.0.0 | FileCheck %s --check-prefix=TVOS lenary wrote: This is not the right directory for AArch64 tests (which apple calls `arm64` in its tri

[clang] [llvm] [Driver] Rearrange some Apple version testing (PR #94514)

2024-06-11 Thread Sam Elliott via cfe-commits
@@ -0,0 +1,9 @@ +; Test emitting version_min directives. + +; RUN: llc %s -filetype=asm -o - --mtriple arm64-apple-tvos9.0.0 | FileCheck %s --check-prefix=TVOS lenary wrote: That fix makes sense to me. Thanks! https://github.com/llvm/llvm-project/pull/94514 ___

[llvm] [flang] [clang] [NFC][AMDGPU] Move address space enum to LLVM directory (PR #73944)

2023-12-05 Thread Sam Elliott via cfe-commits
lenary wrote: The reason TargetParser exists is because Target directories are only added to the include path if you enable that target, but some cross-project target code needs to always be available, such as the code for Triples, even when the relevant targets are disabled. I think these add

[clang] [RISCV] Emit predefined macro __riscv_cmodel_large for large code model (PR #108131)

2024-09-11 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. https://github.com/llvm/llvm-project/pull/108131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Emit predefined macro __riscv_cmodel_large for large code model (PR #108131)

2024-09-11 Thread Sam Elliott via cfe-commits
lenary wrote: Reviewing on the basis this is stacked on top of #107817 https://github.com/llvm/llvm-project/pull/108131 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [RISCV] Allow -mcmodel= to accept large for RV64 (PR #107817)

2024-09-11 Thread Sam Elliott via cfe-commits
https://github.com/lenary approved this pull request. LGTM, on the basis the preprocessor changes are in a different PR. https://github.com/llvm/llvm-project/pull/107817 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cg