[llvm-branch-commits] [llvm] 192d968 - [RISCV] add the MC layer support of Zfinx extension

2022-02-17 Thread Shao-Ce SUN via llvm-branch-commits

Author: Shao-Ce SUN
Date: 2022-02-18T00:12:38+08:00
New Revision: 192d9680c1b11877e84b7431626ac8321c52d9c1

URL: 
https://github.com/llvm/llvm-project/commit/192d9680c1b11877e84b7431626ac8321c52d9c1
DIFF: 
https://github.com/llvm/llvm-project/commit/192d9680c1b11877e84b7431626ac8321c52d9c1.diff

LOG: [RISCV] add the MC layer support of Zfinx extension

This patch added the MC layer support of Zfinx extension.

Authored-by: StephenFan
Co-Authored-by: Shao-Ce Sun

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D93298

(cherry picked from commit 7798ecca9c3db42241169d31fea4fb820ed01830)

Added: 
llvm/test/MC/RISCV/rv32zdinx-invalid.s
llvm/test/MC/RISCV/rv32zdinx-valid.s
llvm/test/MC/RISCV/rv32zfinx-invalid.s
llvm/test/MC/RISCV/rv32zfinx-valid.s
llvm/test/MC/RISCV/rv32zhinx-invalid.s
llvm/test/MC/RISCV/rv32zhinx-valid.s
llvm/test/MC/RISCV/rv32zhinxmin-invalid.s
llvm/test/MC/RISCV/rv32zhinxmin-valid.s
llvm/test/MC/RISCV/rv64zdinx-invalid.s
llvm/test/MC/RISCV/rv64zdinx-valid.s
llvm/test/MC/RISCV/rv64zfinx-invalid.s
llvm/test/MC/RISCV/rv64zfinx-valid.s
llvm/test/MC/RISCV/rv64zhinx-invalid.s
llvm/test/MC/RISCV/rv64zhinx-valid.s
llvm/test/MC/RISCV/rv64zhinxmin-invalid.s
llvm/test/MC/RISCV/rv64zhinxmin-valid.s
llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
llvm/test/MC/RISCV/rvzhinx-aliases-valid.s

Modified: 
llvm/lib/Support/RISCVISAInfo.cpp
llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
llvm/lib/Target/RISCV/RISCV.td
llvm/lib/Target/RISCV/RISCVInstrInfoD.td
llvm/lib/Target/RISCV/RISCVInstrInfoF.td
llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
llvm/lib/Target/RISCV/RISCVRegisterInfo.td
llvm/lib/Target/RISCV/RISCVSubtarget.h
llvm/test/MC/RISCV/attribute-arch.s
llvm/test/MC/RISCV/rv32i-invalid.s

Removed: 




diff  --git a/llvm/lib/Support/RISCVISAInfo.cpp 
b/llvm/lib/Support/RISCVISAInfo.cpp
index 2b3395b669b86..18de7dcd08f31 100644
--- a/llvm/lib/Support/RISCVISAInfo.cpp
+++ b/llvm/lib/Support/RISCVISAInfo.cpp
@@ -51,6 +51,11 @@ static const RISCVSupportedExtension SupportedExtensions[] = 
{
 {"zfhmin", RISCVExtensionVersion{1, 0}},
 {"zfh", RISCVExtensionVersion{1, 0}},
 
+{"zfinx", RISCVExtensionVersion{1, 0}},
+{"zdinx", RISCVExtensionVersion{1, 0}},
+{"zhinxmin", RISCVExtensionVersion{1, 0}},
+{"zhinx", RISCVExtensionVersion{1, 0}},
+
 {"zba", RISCVExtensionVersion{1, 0}},
 {"zbb", RISCVExtensionVersion{1, 0}},
 {"zbc", RISCVExtensionVersion{1, 0}},
@@ -686,6 +691,8 @@ Error RISCVISAInfo::checkDependency() {
   bool HasE = Exts.count("e") != 0;
   bool HasD = Exts.count("d") != 0;
   bool HasF = Exts.count("f") != 0;
+  bool HasZfinx = Exts.count("zfinx") != 0;
+  bool HasZdinx = Exts.count("zdinx") != 0;
   bool HasZve32x = Exts.count("zve32x") != 0;
   bool HasZve32f = Exts.count("zve32f") != 0;
   bool HasZve64d = Exts.count("zve64d") != 0;
@@ -706,17 +713,15 @@ Error RISCVISAInfo::checkDependency() {
 return createStringError(errc::invalid_argument,
  "d requires f extension to also be specified");
 
-  // FIXME: Consider Zfinx in the future
-  if (HasZve32f && !HasF)
+  if (HasZve32f && !HasF && !HasZfinx)
 return createStringError(
 errc::invalid_argument,
-"zve32f requires f extension to also be specified");
+"zve32f requires f or zfinx extension to also be specified");
 
-  // FIXME: Consider Zdinx in the future
-  if (HasZve64d && !HasD)
+  if (HasZve64d && !HasD && !HasZdinx)
 return createStringError(
 errc::invalid_argument,
-"zve64d requires d extension to also be specified");
+"zve64d requires d or zdinx extension to also be specified");
 
   if (HasZvl && !HasVector)
 return createStringError(
@@ -733,6 +738,9 @@ Error RISCVISAInfo::checkDependency() {
 static const char *ImpliedExtsV[] = {"zvl128b", "f", "d"};
 static const char *ImpliedExtsZfhmin[] = {"f"};
 static const char *ImpliedExtsZfh[] = {"f"};
+static const char *ImpliedExtsZdinx[] = {"zfinx"};
+static const char *ImpliedExtsZhinxmin[] = {"zfinx"};
+static const char *ImpliedExtsZhinx[] = {"zfinx"};
 static const char *ImpliedExtsZve64d[] = {"zve64f"};
 static const char *ImpliedExtsZve64f[] = {"zve64x", "zve32f"};
 static const char *ImpliedExtsZve64x[] = {"zve32x", "zvl64b"};
@@ -767,8 +775,11 @@ struct ImpliedExtsEntry {
 // Note: The table needs to be sorted by name.
 static constexpr ImpliedExtsEntry ImpliedExts[] = {
 {{"v"}, {ImpliedExtsV}},
+{{"zdinx"}, {ImpliedExtsZdinx}},
 {{"zfh"}, {ImpliedExtsZfh}},
 {{"zfhmin"}, {ImpliedExtsZfhmin}},
+{{"zhinx"}, {ImpliedExtsZhinx}},
+{{"zhinxmin"}, {ImpliedExtsZhinxmin}},
 {{"zk"}, {ImpliedExtsZk}},
 {{"zkn"}, {Imp

[llvm-branch-commits] [llvm] 4dc3cb8 - ReleaseNotes: add BOLT subsection

2022-02-17 Thread Amir Ayupov via llvm-branch-commits

Author: Amir Ayupov
Date: 2022-02-17T09:59:00-08:00
New Revision: 4dc3cb8e325525214fccef33e32891e5dccc9540

URL: 
https://github.com/llvm/llvm-project/commit/4dc3cb8e325525214fccef33e32891e5dccc9540
DIFF: 
https://github.com/llvm/llvm-project/commit/4dc3cb8e325525214fccef33e32891e5dccc9540.diff

LOG: ReleaseNotes: add BOLT subsection

For the release/14.x branch.

Reviewed By: tstellar

Differential Revision: https://reviews.llvm.org/D119889

Added: 


Modified: 
llvm/docs/ReleaseNotes.rst

Removed: 




diff  --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index e67eb4b39ddfd..1ac4cca463794 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -255,6 +255,13 @@ Changes to LLDB
 Changes to Sanitizers
 -
 
+Changes to BOLT
+-
+
+* BOLT project is added to the LLVM monorepo. BOLT is a post-link optimizer
+  developed to speed up large applications. Build and usage instructions are
+  given in `README `_.
+
 External Open Source Projects Using LLVM 14
 ===
 



___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits