[clang] [llvm] [RISCV] Support RISC-V Profiles in -march option (PR #76357)

Wang Pengcheng via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 8 01:29:00 PST 2024


================
@@ -0,0 +1,189 @@
+//===------ RISCVProfiles.td - RISC-V Profiles -------------*- tablegen -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+class RISCVProfile<string name, list<SubtargetFeature> features>
----------------
wangpc-pp wrote:

There are some scenarios I think it can be useful:
* When adding new `RISCVProcessorModel`, we can just specify profile feature and those implemented optional extensions.
* When disassembling some object files, we don't need a long `-mattr` if we know it's compiled with a profile.
* When doing some end-to-end tests that we need to discard CPU specific features (so we can't use `-mcpu`), we don't need a long `-mattr`.

Above are my usages in reality.

https://github.com/llvm/llvm-project/pull/76357


More information about the cfe-commits mailing list