2017-05-02 3 views
1

J'ai besoin de visualiser le CFG d'une fonction LLVM, que j'ai dans un fichier .ll. Il y a l'outil opt, qui a l'option --view-cfg. Cependant, le problème est que la fonction est cassée, la définition d'un registre ne domine pas toutes ses utilisations. Je dois voir le CFG pour étudier pourquoi c'est le cas. Problème: opt ne prend pas de mauvaises fonctions LLVM, donc je ne peux pas voir le CFG avec lui. Alors, quelle est la meilleure façon de visualiser le CFG d'une fonction LLVM cassée?Meilleur moyen de visualiser CFG d'une fonction LLVM cassée

Répondre

2

Problème: opt ne prend pas de mauvaises fonctions LLVM, donc je ne peux pas voir le CFG avec lui.

Ce n'est pas vraiment le cas. Le vérificateur est activé par défaut, oui, mais si la fonction en question est syntaxiquement correcte, alors vous pouvez simplement désactiver:

$ opt -disable-verify -view-cfg foo.ll 

Result of <code>opt -disable-verify -view-cfg</code>

Vous pouvez même essayer de le compiler avec llc, exécuté avec lli, etc de cette façon.