开发者

LLVM compiler infrastructure for VLIW architectures [closed]

开发者 https://www.devze.com 2023-01-25 07:39 出处:网络
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, soft开发者_如何转开发ware libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 2 years ago.

Improve this question

Do you know how strong VLIW architectures (or EPIC, like Itanium) support exists in LLVM compiler infrastructure?

Are there good documents/slides materials on this?


There is no good VLIW support in the base LLVM at the moment. / 2010-11

Some useful posts: http://old.nabble.com/VLIW-Scheduling-td857833.html

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

UPDATE / 2012-01

LLVM added (seems after 3.0 release; by Anshuman Dasgupta) initial support of an "VLIW packetizer" aka DFApacketizer to target-independent codegenerator support infrastructure: http://llvm.org/docs/CodeGenerator.html#vliw_packetizer

To generate tables for a VLIW target, add TargetGenDFAPacketizer.inc as a target to the Makefile in the target directory. The exported API provides three functions:

  • DFAPacketizer::clearResources(),
  • DFAPacketizer::reserveResources(MachineInstr *MI), and
  • DFAPacketizer::canReserveResources(MachineInstr *MI).

These functions allow a target packetizer to add an instruction to an existing packet and to check whether an instruction can be added to a packet. See llvm/CodeGen/DFAPacketizer.h for more information.

Machine Instruction Bundle in LLVM thread by Evan Cheng in mailing list com.googlegroups.llvm-dev from dec 2 2011, describing basic LLVM VLIW (Bundle) support. They are planned to be in LLVM 3.1, and are documented here.

Also, in 3.1 "new TableGen infrastructure to support bundling for Very Long Instruction Word (VLIW) architectures." is added.

There are some VLIW compilers based on LLVM today; but target-independent (generic) VLIW support is in the very beginning of its long path.

UPDATE 2012/12

There are some slides from Quic: http://llvm.org/devmtg/2012-11/Larin-Trick-Scheduling.pdf

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号