Skip to content

Commit

Permalink
integrate llvm
Browse files Browse the repository at this point in the history
  • Loading branch information
makslevental committed Jan 29, 2025
1 parent d4530ba commit 2a6787f
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 29 deletions.
14 changes: 9 additions & 5 deletions projects/eudsl-llvmpy/eudsl-llvmpy-generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,12 +278,16 @@ class LLVMMatchType(Generic[_T]):
int_regex = re.compile(r"_i(\d+)")
fp_regex = re.compile(r"_f(\d+)")

for d in intrins.defs:
intr = intrins.defs[d]
if intr.name.startswith("int_amdgcn") and intr.type.as_string != "ClangBuiltin":
defs = intrins.get_defs()
for d in defs:
intr = defs[d]
if (
intr.get_name().startswith("int_amdgcn")
and intr.get_type().get_as_string() != "ClangBuiltin"
):
arg_types = []
ret_types = []
for p in intr.values.ParamTypes.value:
for p in intr.get_values().ParamTypes.value:
p_s = p.as_string
if p_s.startswith("anon"):
p_s = p.type.as_string
Expand All @@ -303,7 +307,7 @@ class LLVMMatchType(Generic[_T]):
p_s = "pointer"

arg_types.append(p_s)
for p in intr.values.RetTypes.value:
for p in intr.get_values().RetTypes.value:
ret_types.append(p.as_string)

ret_str = ""
Expand Down
1 change: 0 additions & 1 deletion projects/eudsl-tblgen/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE nanobind_DIR)
find_package(nanobind CONFIG REQUIRED)

set(EUDSL_TBLGEN_SRC_DIR "${EUDSL_TBLGEN_SRC_DIR}/src")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${EUDSL_TBLGEN_SRC_DIR}/eudsl_tblgen)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

Expand Down
30 changes: 7 additions & 23 deletions projects/eudsl-tblgen/src/eudsl_tblgen_ext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -411,11 +411,6 @@ NB_MODULE(eudsl_tblgen_ext, m) {

auto llvm_OpInit = nb::class_<llvm::OpInit, llvm::TypedInit>(m, "OpInit")
.def_static("classof", &llvm::OpInit::classof, "i"_a)
.def("clone", &llvm::OpInit::clone, "operands"_a,
nb::rv_policy::reference_internal)
.def("get_num_operands", &llvm::OpInit::getNumOperands)
.def("get_operand", &llvm::OpInit::getOperand, "i"_a,
nb::rv_policy::reference_internal)
.def("get_bit", &llvm::OpInit::getBit, "bit"_a,
nb::rv_policy::reference_internal);

Expand All @@ -438,15 +433,12 @@ NB_MODULE(eudsl_tblgen_ext, m) {
.def_static("get", &llvm::UnOpInit::get, "opc"_a, "lhs"_a, "type"_a,
nb::rv_policy::reference_internal)
.def("profile", &llvm::UnOpInit::Profile, "id"_a)
.def("clone", &llvm::UnOpInit::clone, "operands"_a,
nb::rv_policy::reference_internal)
.def("get_num_operands", &llvm::UnOpInit::getNumOperands)
.def(
"get_operand",
[](llvm::UnOpInit &self, unsigned int i) -> const llvm::Init * {
return self.getOperand(i);
[](llvm::UnOpInit &self) -> const llvm::Init * {
return self.getOperand();
},
"i"_a, nb::rv_policy::reference_internal)
nb::rv_policy::reference_internal)
.def("get_opcode", &llvm::UnOpInit::getOpcode)
.def(
"get_operand",
Expand Down Expand Up @@ -500,11 +492,6 @@ NB_MODULE(eudsl_tblgen_ext, m) {
.def_static("get_list_concat", &llvm::BinOpInit::getListConcat, "lhs"_a,
"rhs"_a, nb::rv_policy::reference_internal)
.def("profile", &llvm::BinOpInit::Profile, "id"_a)
.def("clone", &llvm::BinOpInit::clone, "operands"_a,
nb::rv_policy::reference_internal)
.def("get_num_operands", &llvm::BinOpInit::getNumOperands)
.def("get_operand", &llvm::BinOpInit::getOperand, "i"_a,
nb::rv_policy::reference_internal)
.def("get_opcode", &llvm::BinOpInit::getOpcode)
.def("get_lhs", &llvm::BinOpInit::getLHS,
nb::rv_policy::reference_internal)
Expand Down Expand Up @@ -537,11 +524,6 @@ NB_MODULE(eudsl_tblgen_ext, m) {
.def_static("get", &llvm::TernOpInit::get, "opc"_a, "lhs"_a, "mhs"_a,
"rhs"_a, "type"_a, nb::rv_policy::reference_internal)
.def("profile", &llvm::TernOpInit::Profile, "id"_a)
.def("clone", &llvm::TernOpInit::clone, "operands"_a,
nb::rv_policy::reference_internal)
.def("get_num_operands", &llvm::TernOpInit::getNumOperands)
.def("get_operand", &llvm::TernOpInit::getOperand, "i"_a,
nb::rv_policy::reference_internal)
.def("get_opcode", &llvm::TernOpInit::getOpcode)
.def("get_lhs", &llvm::TernOpInit::getLHS,
nb::rv_policy::reference_internal)
Expand Down Expand Up @@ -2773,6 +2755,8 @@ NB_MODULE(eudsl_tblgen_ext, m) {
mlir_tblgen_SideEffectTrait.def_static(
"classof", &mlir::tblgen::SideEffectTrait::classof, "t"_a);

m.def("lookup_intrinsic_id", Intrinsic::lookupIntrinsicID, nb::arg("name"));
m.def("intrinsic_is_overloaded", Intrinsic::isOverloaded, nb::arg("id"));
m.def("lookup_intrinsic_id", llvm::Intrinsic::lookupIntrinsicID,
nb::arg("name"));
m.def("intrinsic_is_overloaded", llvm::Intrinsic::isOverloaded,
nb::arg("id"));
}

0 comments on commit 2a6787f

Please sign in to comment.