Re: [clang] 8bd65e5 - Revert "[TargetParser] Generate the defs for RISCV CPUs using llvm-tblgen."
Reminder to please always mention the reason for the revert/recommit in the commit message. On Wed, Jan 11, 2023 at 12:23 PM Francesco Petrogalli via cfe-commits wrote: > > > Author: Francesco Petrogalli > Date: 2023-01-11T10:22:56+01:00 > New Revision: 8bd65e535fb33bc48805bafed8217b16a853e158 > > URL: > https://github.com/llvm/llvm-project/commit/8bd65e535fb33bc48805bafed8217b16a853e158 > DIFF: > https://github.com/llvm/llvm-project/commit/8bd65e535fb33bc48805bafed8217b16a853e158.diff > > LOG: Revert "[TargetParser] Generate the defs for RISCV CPUs using > llvm-tblgen." > > This reverts commit cf7a8305a2b4ddfd299c748136cb9a2960ef7089. > > Added: > llvm/include/llvm/TargetParser/RISCVTargetParser.def > > Modified: > clang/lib/Basic/Targets/RISCV.cpp > clang/lib/Driver/ToolChains/Arch/RISCV.cpp > llvm/include/llvm/CMakeLists.txt > llvm/include/llvm/TargetParser/TargetParser.h > llvm/include/llvm/module.extern.modulemap > llvm/include/llvm/module.install.modulemap > llvm/include/llvm/module.modulemap > llvm/lib/Target/RISCV/RISCV.td > llvm/lib/Target/RISCV/RISCVISelLowering.h > llvm/lib/TargetParser/CMakeLists.txt > llvm/lib/TargetParser/TargetParser.cpp > llvm/utils/TableGen/CMakeLists.txt > llvm/utils/TableGen/TableGen.cpp > llvm/utils/TableGen/TableGenBackends.h > > Removed: > llvm/include/llvm/TargetParser/CMakeLists.txt > llvm/include/llvm/TargetParser/RISCVTargetParser.h > llvm/lib/TargetParser/RISCVTargetParser.cpp > llvm/utils/TableGen/RISCVTargetDefEmitter.cpp > > > > diff --git a/clang/lib/Basic/Targets/RISCV.cpp > b/clang/lib/Basic/Targets/RISCV.cpp > index a9adafddb7e54..7713398c83b20 100644 > --- a/clang/lib/Basic/Targets/RISCV.cpp > +++ b/clang/lib/Basic/Targets/RISCV.cpp > @@ -15,8 +15,8 @@ > #include "clang/Basic/MacroBuilder.h" > #include "clang/Basic/TargetBuiltins.h" > #include "llvm/ADT/StringSwitch.h" > +#include "llvm/Support/TargetParser.h" > #include "llvm/Support/raw_ostream.h" > -#include "llvm/TargetParser/RISCVTargetParser.h" > #include > > using namespace clang; > > diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp > b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp > index 5c11064d81d59..4724e5c5a37ec 100644 > --- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp > +++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp > @@ -17,8 +17,8 @@ > #include "llvm/Support/Error.h" > #include "llvm/Support/Host.h" > #include "llvm/Support/RISCVISAInfo.h" > +#include "llvm/Support/TargetParser.h" > #include "llvm/Support/raw_ostream.h" > -#include "llvm/TargetParser/RISCVTargetParser.h" > > using namespace clang::driver; > using namespace clang::driver::tools; > > diff --git a/llvm/include/llvm/CMakeLists.txt > b/llvm/include/llvm/CMakeLists.txt > index d1dc0a99463ba..b46319f24fc8e 100644 > --- a/llvm/include/llvm/CMakeLists.txt > +++ b/llvm/include/llvm/CMakeLists.txt > @@ -1,7 +1,6 @@ > add_subdirectory(IR) > add_subdirectory(Support) > add_subdirectory(Frontend) > -add_subdirectory(TargetParser) > > # If we're doing an out-of-tree build, copy a module map for generated > # header files into the build area. > > diff --git a/llvm/include/llvm/TargetParser/CMakeLists.txt > b/llvm/include/llvm/TargetParser/CMakeLists.txt > deleted file mode 100644 > index d102dcf4dde7e..0 > --- a/llvm/include/llvm/TargetParser/CMakeLists.txt > +++ /dev/null > @@ -1,4 +0,0 @@ > -set(LLVM_TARGET_DEFINITIONS ${CMAKE_SOURCE_DIR}/lib/Target/RISCV/RISCV.td) > -tablegen(LLVM RISCVTargetParserDef.inc -gen-riscv-target-def -I > ${CMAKE_SOURCE_DIR}/lib/Target/RISCV/) > -add_public_tablegen_target(RISCVTargetParserTableGen) > - > > diff --git a/llvm/include/llvm/TargetParser/RISCVTargetParser.def > b/llvm/include/llvm/TargetParser/RISCVTargetParser.def > new file mode 100644 > index 0..6d65ac1c398e7 > --- /dev/null > +++ b/llvm/include/llvm/TargetParser/RISCVTargetParser.def > @@ -0,0 +1,35 @@ > +#ifndef PROC > +#define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH) > +#endif > + > +PROC(INVALID, {"invalid"}, FK_INVALID, {""}) > +PROC(GENERIC_RV32, {"generic-rv32"}, FK_NONE, {""}) > +PROC(GENERIC_RV64, {"generic-rv64"}, FK_64BIT, {""}) > +PROC(ROCKET_RV32, {"rocket-rv32"}, FK_NONE, {""}) > +PROC(ROCKET_RV64, {"rocket-rv64"}, FK_64BIT, {""}) > +PROC(SIFIVE_E20, {"sifive-e20"}, FK_NONE, {"rv32imc"}) > +PROC(SIFIVE_E21, {"sifive-e21"}, FK_NONE, {"rv32imac"}) > +PROC(SIFIVE_E24, {"sifive-e24"}, FK_NONE, {"rv32imafc"}) > +PROC(SIFIVE_E31, {"sifive-e31"}, FK_NONE, {"rv32imac"}) > +PROC(SIFIVE_E34, {"sifive-e34"}, FK_NONE, {"rv32imafc"}) > +PROC(SIFIVE_E76, {"sifive-e76"}, FK_NONE, {"rv32imafc"}) > +PROC(SIFIVE_S21, {"sifive-s21"}, FK_64BIT, {"rv64imac"}) > +PROC(SIFIVE_S51, {"sifive-s51"}, FK_64BIT, {"rv64imac"}) > +PROC(SIFIVE_S54, {"sifive-s54"}, FK_64BIT, {"rv64gc"}) > +PROC(SIFIVE_S76, {"sifive-s76"}, FK_64BIT, {"rv64gc"})
[clang] 8bd65e5 - Revert "[TargetParser] Generate the defs for RISCV CPUs using llvm-tblgen."
Author: Francesco Petrogalli Date: 2023-01-11T10:22:56+01:00 New Revision: 8bd65e535fb33bc48805bafed8217b16a853e158 URL: https://github.com/llvm/llvm-project/commit/8bd65e535fb33bc48805bafed8217b16a853e158 DIFF: https://github.com/llvm/llvm-project/commit/8bd65e535fb33bc48805bafed8217b16a853e158.diff LOG: Revert "[TargetParser] Generate the defs for RISCV CPUs using llvm-tblgen." This reverts commit cf7a8305a2b4ddfd299c748136cb9a2960ef7089. Added: llvm/include/llvm/TargetParser/RISCVTargetParser.def Modified: clang/lib/Basic/Targets/RISCV.cpp clang/lib/Driver/ToolChains/Arch/RISCV.cpp llvm/include/llvm/CMakeLists.txt llvm/include/llvm/TargetParser/TargetParser.h llvm/include/llvm/module.extern.modulemap llvm/include/llvm/module.install.modulemap llvm/include/llvm/module.modulemap llvm/lib/Target/RISCV/RISCV.td llvm/lib/Target/RISCV/RISCVISelLowering.h llvm/lib/TargetParser/CMakeLists.txt llvm/lib/TargetParser/TargetParser.cpp llvm/utils/TableGen/CMakeLists.txt llvm/utils/TableGen/TableGen.cpp llvm/utils/TableGen/TableGenBackends.h Removed: llvm/include/llvm/TargetParser/CMakeLists.txt llvm/include/llvm/TargetParser/RISCVTargetParser.h llvm/lib/TargetParser/RISCVTargetParser.cpp llvm/utils/TableGen/RISCVTargetDefEmitter.cpp diff --git a/clang/lib/Basic/Targets/RISCV.cpp b/clang/lib/Basic/Targets/RISCV.cpp index a9adafddb7e54..7713398c83b20 100644 --- a/clang/lib/Basic/Targets/RISCV.cpp +++ b/clang/lib/Basic/Targets/RISCV.cpp @@ -15,8 +15,8 @@ #include "clang/Basic/MacroBuilder.h" #include "clang/Basic/TargetBuiltins.h" #include "llvm/ADT/StringSwitch.h" +#include "llvm/Support/TargetParser.h" #include "llvm/Support/raw_ostream.h" -#include "llvm/TargetParser/RISCVTargetParser.h" #include using namespace clang; diff --git a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp index 5c11064d81d59..4724e5c5a37ec 100644 --- a/clang/lib/Driver/ToolChains/Arch/RISCV.cpp +++ b/clang/lib/Driver/ToolChains/Arch/RISCV.cpp @@ -17,8 +17,8 @@ #include "llvm/Support/Error.h" #include "llvm/Support/Host.h" #include "llvm/Support/RISCVISAInfo.h" +#include "llvm/Support/TargetParser.h" #include "llvm/Support/raw_ostream.h" -#include "llvm/TargetParser/RISCVTargetParser.h" using namespace clang::driver; using namespace clang::driver::tools; diff --git a/llvm/include/llvm/CMakeLists.txt b/llvm/include/llvm/CMakeLists.txt index d1dc0a99463ba..b46319f24fc8e 100644 --- a/llvm/include/llvm/CMakeLists.txt +++ b/llvm/include/llvm/CMakeLists.txt @@ -1,7 +1,6 @@ add_subdirectory(IR) add_subdirectory(Support) add_subdirectory(Frontend) -add_subdirectory(TargetParser) # If we're doing an out-of-tree build, copy a module map for generated # header files into the build area. diff --git a/llvm/include/llvm/TargetParser/CMakeLists.txt b/llvm/include/llvm/TargetParser/CMakeLists.txt deleted file mode 100644 index d102dcf4dde7e..0 --- a/llvm/include/llvm/TargetParser/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -set(LLVM_TARGET_DEFINITIONS ${CMAKE_SOURCE_DIR}/lib/Target/RISCV/RISCV.td) -tablegen(LLVM RISCVTargetParserDef.inc -gen-riscv-target-def -I ${CMAKE_SOURCE_DIR}/lib/Target/RISCV/) -add_public_tablegen_target(RISCVTargetParserTableGen) - diff --git a/llvm/include/llvm/TargetParser/RISCVTargetParser.def b/llvm/include/llvm/TargetParser/RISCVTargetParser.def new file mode 100644 index 0..6d65ac1c398e7 --- /dev/null +++ b/llvm/include/llvm/TargetParser/RISCVTargetParser.def @@ -0,0 +1,35 @@ +#ifndef PROC +#define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH) +#endif + +PROC(INVALID, {"invalid"}, FK_INVALID, {""}) +PROC(GENERIC_RV32, {"generic-rv32"}, FK_NONE, {""}) +PROC(GENERIC_RV64, {"generic-rv64"}, FK_64BIT, {""}) +PROC(ROCKET_RV32, {"rocket-rv32"}, FK_NONE, {""}) +PROC(ROCKET_RV64, {"rocket-rv64"}, FK_64BIT, {""}) +PROC(SIFIVE_E20, {"sifive-e20"}, FK_NONE, {"rv32imc"}) +PROC(SIFIVE_E21, {"sifive-e21"}, FK_NONE, {"rv32imac"}) +PROC(SIFIVE_E24, {"sifive-e24"}, FK_NONE, {"rv32imafc"}) +PROC(SIFIVE_E31, {"sifive-e31"}, FK_NONE, {"rv32imac"}) +PROC(SIFIVE_E34, {"sifive-e34"}, FK_NONE, {"rv32imafc"}) +PROC(SIFIVE_E76, {"sifive-e76"}, FK_NONE, {"rv32imafc"}) +PROC(SIFIVE_S21, {"sifive-s21"}, FK_64BIT, {"rv64imac"}) +PROC(SIFIVE_S51, {"sifive-s51"}, FK_64BIT, {"rv64imac"}) +PROC(SIFIVE_S54, {"sifive-s54"}, FK_64BIT, {"rv64gc"}) +PROC(SIFIVE_S76, {"sifive-s76"}, FK_64BIT, {"rv64gc"}) +PROC(SIFIVE_U54, {"sifive-u54"}, FK_64BIT, {"rv64gc"}) +PROC(SIFIVE_U74, {"sifive-u74"}, FK_64BIT, {"rv64gc"}) +PROC(SYNTACORE_SCR1_BASE, {"syntacore-scr1-base"}, FK_NONE, {"rv32ic"}) +PROC(SYNTACORE_SCR1_MAX, {"syntacore-scr1-max"}, FK_NONE, {"rv32imc"}) + +#undef PROC + +#ifndef TUNE_PROC +#define TUNE_PROC(ENUM, NAME) +#endif + +TUNE_PROC(GENERIC, "generic") +TUNE_PROC(ROCKET, "rocket")