Skip to content

Instantly share code, notes, and snippets.

@sueszli
Last active January 2, 2026 18:11
Show Gist options
  • Select an option

  • Save sueszli/57f3b03e158b9b677a6b840b6ba00089 to your computer and use it in GitHub Desktop.

Select an option

Save sueszli/57f3b03e158b9b677a6b840b6ba00089 to your computer and use it in GitHub Desktop.
{
"xdsl.dialects.builtin": {
"IntegerType": "ir.IntType",
"IndexType": "ir.IntType(64)",
"Float16Type": "ir.HalfType",
"Float32Type": "ir.FloatType",
"Float64Type": "ir.DoubleType",
"BFloat16Type": null,
"Float80Type": null,
"Float128Type": null,
"NoneType": "ir.VoidType",
"VectorType": "ir.VectorType",
"ComplexType": "ir.LiteralStructType",
"TupleType": "ir.LiteralStructType",
"FunctionType": "ir.FunctionType",
"MemRefType": null,
"TensorType": null
},
"xdsl.dialects.llvm": {
"IntegerType": "ir.IntType",
"LLVMVoidType": "ir.VoidType",
"LLVMPointerType": "ir.PointerType",
"VectorType": "ir.VectorType",
"LLVMArrayType": "ir.ArrayType",
"LLVMStructType": "ir.LiteralStructType",
"LLVMFunctionType": "ir.FunctionType"
}
}
-------------------- xDSL Builtin Types
BFloat16Type
CompileTimeFixedBitwidthType
ComplexType
ContainerType
FixedBitwidthType
Float128Type
Float16Type
Float32Type
Float64Type
Float80Type
FunctionType
IndexType
IntegerType
MemRefType
NoneType
PackableType
ShapedType
StructPackableType
TensorType
TupleType
UnrankedMemRefType
UnrankedTensorType
VectorType
_FloatType
-------------------- xDSL LLVM Types
EllipsisType
IntegerType
LLVMArrayType
LLVMFunctionType
LLVMPointerType
LLVMStructType
LLVMVoidType
SameOperandsAndResultType
VectorType
-------------------- llvmlite Types
ArrayType
BaseStructType
DoubleType
FloatType
FunctionType
HalfType
IdentifiedStructType
IntType
LabelType
LiteralStructType
MappingProxyType
MetaDataType
PointerType
Type
VectorType
VoidType
from xdsl.dialects import builtin, llvm
import inspect
import llvmlite.ir as ir
print_section = lambda title: print(f"{'-'*20} {title}")
for mod, title in ((builtin, "xDSL Builtin Types"), (llvm, "xDSL LLVM Types")):
print_section(title)
types = [n for n, o in inspect.getmembers(mod) if inspect.isclass(o) and n.endswith("Type")]
for name in sorted(types):
print(f"\t{name}")
print_section("llvmlite Types")
llvmlite_types = [x for x in dir(ir) if x.endswith('Type')]
for name in sorted(llvmlite_types):
print(f"\t{name}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment