10

您知道LLVM 编译器基础架构中存在多么强大的VLIW架构(或EPIC ,如 Itanium)支持吗?

有没有好的文件/幻灯片材料?

4

1 回答 1

5

目前基本 LLVM 中没有良好的 VLIW 支持。/ 2010-11

一些有用的帖子: http: //old.nabble.com/VLIW-Scheduling-td857833.html

http://old.nabble.com/vliw-compatability-td27935919.html

更新 / 2012-01

LLVM 添加(似乎在 3.0 版本之后;由Anshuman Dasgupta提供)对“VLIW 分包器”又名 DFApacketizer 的初始支持到目标独立的代码生成器支持基础架构:http: //llvm.org/docs/CodeGenerator.html#vliw_packetizer

要为 VLIW 目标生成表,请将Target GenDFAPacketizer.inc 作为目标添加到目标目录中的 Makefile。导出的 API 提供了三个功能:

  • DFAPacketizer::clearResources(),
  • DFAPacketizer::reserveResources(MachineInstr *MI),和
  • DFAPacketizer::canReserveResources(MachineInstr *MI)。

这些功能允许目标分包器将指令添加到现有数据包并检查是否可以将指令添加到数据包。有关llvm/CodeGen/DFAPacketizer.h更多信息,请参阅。

2011 年 12 月 2 日 Evan Cheng 在邮件列表 com.googlegroups.llvm-dev中的 LLVM 线程中的机器指令包,描述了基本的 LLVM VLIW(包)支持。它们计划在 LLVM 3.1 中,并在此处记录

此外,在 3.1 中“支持捆绑超长指令字 (VLIW) 架构的新 TableGen 基础架构”。被添加。

现在有一些基于 LLVM 的 VLIW 编译器;但是独立于目标的(通用)VLIW 支持正处于其漫长道路的开始。

2012/12 年更新

有一些来自 Quic 的幻灯片:http: //llvm.org/devmtg/2012-11/Larin-Trick-Scheduling.pdf

于 2010-11-21T01:25:03.513 回答