2014-10-01 99 views

回答

3

先閱讀The LLVM Target-Independent Code Generator。特別是,this section about instruction selection應該回答你的問題。

例如爲:

這個階段需要法律SelectionDAG作爲輸入,圖案由目標至該DAG支持 指令相匹配,並且產生的目標代碼的新DAG 。

這是一個很長的例子部分,所以在這裏完全複製沒有太大意義。

DAG匹配是出現在許多編譯器文本中並且不是LLVM特定的主題。

欲瞭解更多LLVM的具體信息,特別是tablegen,還有this resource

+0

感謝您的好鏈接,但請您具體說明一下「複雜模式」究竟是什麼?我的意思是在某些地方,它包含[frameindex]作爲操作數,在其他地方它將[add,frameindex]作爲操作數。我理解的唯一的事情就是它用來發射多個輸出節點。我的理解是否正確 – ConsistentProgrammer 2016-08-17 08:27:41