2014-10-01 3 views

답변

3

먼저 The LLVM Target-Independent Code Generator을 읽으십시오. 특히 this section about instruction selection이 귀하의 질문에 답변해야합니다.

예컨대 :

이 단계는 패턴이 DAG로 대상에 의해 지원 지시 일치 입력으로 법적 SelectionDAG 걸리고, 목표 부호의 새로운 DAG를 생성한다.

예를 들어 꽤 긴 섹션이므로 완전히 여기에서 재현하는 것이 타당하지 않습니다.

DAG 일치는 많은 컴파일러 텍스트에 나타나는 항목으로 LLVM과 관련이 없습니다.

특히 LLVM 사양 및 tablegen의 경우 this resource도 있습니다.

+0

멋진 링크를 제공해 주셔서 감사합니다.하지만 "복잡한 패턴"이 실제로 무엇인지 구체적으로 말씀해 주실 수 있습니까? 어떤 곳에서는 [frameindex]를 피연산자로, 다른 곳에서는 [add, frameindex]를 피연산자로 사용합니다. 내가 이해할 수있는 유일한 것은 여러 개의 출력 노드를 방출하는 데 사용된다는 것입니다. 나의 이해가 올바른가? – ConsistentProgrammer