文件名称:structured-additive-IR
文件大小:184KB
文件格式:ZIP
更新时间:2024-04-09 18:13:09
C++
结构化加法中间表示法(Sair)
一个基于的中间程序表示,旨在表示程序的实现决策,而不会丢失代码的高级结构。它将实现选择编码为添加到现有操作上的属性(因此名称中为“ additive”)。
编码准则
尽可能遵循。请注意,MLIR使用的LLVM样式通常与Google样式不兼容;仅将LLVM样式用于MLIR覆盖或CRTP挂钩。
遵循MLIR。特别是,IR属性,类型和操作应通过FileCheck使用文本IR格式进行测试。非红外组件应通过单元测试进行测试。
制作说明
先决条件:
支持C ++ 17的C ++编译器;
git,cmake,忍者(或make)
指示:
首先,从git获取LLVM存储库。
cd
【文件预览】:
structured-additive-IR-master
----sair_types.cc(6KB)
----sair_registration.h(960B)
----loop_nest.h(7KB)
----storage.h(5KB)
----sair_ops.h(4KB)
----sair_ops.td(28KB)
----sair_dialect.h(9KB)
----util.cc(5KB)
----sair_registration.cc(3KB)
----sair_op_interfaces.h(7KB)
----CONTRIBUTING.md(60B)
----sair_attributes.h(21KB)
----sair_types.h(3KB)
----canonicalization_patterns.cc(17KB)
----LICENSE(10KB)
----sair_base.td(18KB)
----storage.cc(24KB)
----README.md(3KB)
----LLVM_VERSION(40B)
----sair_opt.cc(3KB)
----transforms()
--------default_lowering_attributes.td(1KB)
--------sair_from_linalg.cc(29KB)
--------sair_from_linalg.td(1001B)
--------default_lowering_attributes.cc(6KB)
--------lowering.cc(3KB)
--------normalize_loops.cc(14KB)
--------inline_trivial_ops.cc(6KB)
--------sair_from_linalg.h(970B)
--------default_lowering_attributes.h(2KB)
--------lowering_pass_classes.h(1KB)
--------materialize_buffers.cc(14KB)
--------lowering.td(3KB)
--------lowering.h(3KB)
--------introduce_memrefs.cc(32KB)
--------introduce_loops.cc(30KB)
--------CMakeLists.txt(2KB)
--------lower_map_reduce.cc(6KB)
--------lower_to_map.cc(10KB)
----sair_op_interfaces.cc(9KB)
----util.h(3KB)
----sair_dialect.cc(12KB)
----loop_nest.cc(32KB)
----test()
--------lowering_annotation_roundtrip.mlir(411B)
--------materialize_buffers_invalid.mlir(864B)
--------default_storage.mlir(991B)
--------default_loop_nest.mlir(580B)
--------lower_to_memref.mlir(1KB)
--------passes.h(1KB)
--------passes.cc(7KB)
--------domain_shape.mlir(967B)
--------inline_trivial_sair_ops.mlir(2KB)
--------integration()
--------normalize_loops.mlir(9KB)
--------normalize_loops_invalid.mlir(1KB)
--------mapping_expr.mlir(9KB)
--------materialize_memrefs.mlir(6KB)
--------from_linalg_invalid.mlir(805B)
--------introduce_loops.mlir(6KB)
--------lower_map_reduce.mlir(2KB)
--------materialize_memrefs_invalid.mlir(2KB)
--------from_linalg.mlir(9KB)
--------lower_to_llvm.mlir(160B)
--------insert_copies.mlir(2KB)
--------roundtrip.mlir(23KB)
--------lit.site.cfg.py.in(744B)
--------lit.cfg.py(2KB)
--------lower_to_map.mlir(6KB)
--------invalid.mlir(42KB)
--------default_storage_invalid.mlir(1KB)
--------introduce_loops_invalid.mlir(4KB)
--------CMakeLists.txt(1KB)
--------materialize_buffers.mlir(7KB)
--------passes.td(1KB)
--------canonicalization.mlir(8KB)
----CMakeLists.txt(3KB)
----sair_ops.cc(81KB)
----sair_attributes.cc(43KB)