Für eine einfache llvm IR als:Verständnis llvm SelectionDAG
define i32 @test(i32 %X, i32 %Y) {
%Z = udiv i32 %X, %Y
ret i32 %Z
}
der SelectionDAG Graph ist komplexer, als ich dachte:
Warum CopyFromReg
benötigt wird, schließen Sie, warum nicht vreg0
und vreg1
zu udiv
direkt?
Wie soll ich die Grafik lesen, von EntryToken
bis GraphRoot
oder die Gegenrichtung?
Jeder Beweis, dass EntryToken der Eintrag der Funktion ist? Ich habe eine Frage dazu, da SelectionDAG für einen Basisblock ist, nicht funktioniert. – Thomson
Nun, in dem gegebenen Beispiel gibt es sowieso nur einen Basisblock in der Funktion. Ich verstand seine Frage ebenso wie das Eintritts-Token den Anfang vom Ende, als er fragte "Wie soll ich den Graphen lesen?". – Joky