Używam LLVM i byłem zdezorientowany, jak użyć innej, już obecnej przepustki z mojego własnego biletu? Właśnie mój program potrzebuje kalkulacji Dominance Frontier dla dowolnej instrukcji. LLVM ma już klasę funkcji Dominance, która jest realizowana jako funkcja pass. Jak mogę go przywołać/użyć w mojej Karcie Modułu?Jak używać funkcji exisiting z mojego LLVM-pass?
6
A
Odpowiedz
3
OSTRZEŻENIE: Nie mam prawdziwego doświadczenia, a odpowiedź może być niepoprawna lub nieaktualna. (To jest w dużej mierze opiera się na przestarzałych źródeł LLVM: version 1.3.)
dodać obejmują:
#include "llvm/Analysis/DominanceFrontier.h"
Jeśli wprost jeśli Funkcja Pass dodać do klasy metodę (jeśli nie jest realizowany):
virtual void getAnalysisUsage(AnalysisUsage &AU) const { }
i umieścić ten do niego:
AU.addRequired<DominanceFrontier>();
Następnie w swojej klasie runOnFunction
metoda:
DominanceFrontier *DF = &getAnalysis<DominanceFrontier>();
Po tym można użyć:
BasicBlock *BB = /* some BB */;
DominanceFrontier::iterator DFI = DF->find(BB);
Powiązane problemy
- 1. Jak używać mojego niestandardowego archetypu z Mavenem?
- 2. Jak szkolić HOG i używać mojego HOGDescriptor?
- 3. doctrine2 - jak używać funkcji DATE_ADD
- 4. Jak poprawnie używać funkcji lua_pop()?
- 5. nie można używać jsplumb z drugiej funkcji
- 6. Jak używać funkcji MAX() w wyniku podzapytania?
- 7. Jak używać funkcji strzałek wewnątrz React.createClass
- 8. Jak używać funkcji Asynchronous/Batch pisze z Datastax Java driver
- 9. jak używać ważne w jQuery animate() funkcji
- 10. Jak używać funkcji spread prawidłowo tidyr
- 11. Jak używać funkcji logicznych z%>% operatora (dplyr)
- 12. Jak używać zmiennej utworzonej w samej funkcji przypisać z pand
- 13. Jak używać funkcji geom_rect z dyskretnymi wartościami osi
- 14. Zend: Jak używać niestandardowej funkcji z pomocnika widoku w kontrolerze?
- 15. Jak poprawnie używać funkcji FormatMessage() w C++?
- 16. Jak używać metody klasy jako funkcji zwrotnej?
- 17. Jak używać funkcji scanf() bez uwzględniania stdio.h
- 18. Jak mogę "ghci" używać mojej funkcji `show`?
- 19. Jak mogę używać wskaźników funkcji w Nimrod?
- 20. Jak mogę zapobiec przepełnieniu stosu funkcji mojego Ackermana?
- 21. Jak wyjść z funkcji
- 22. Kiedy używać "funkcji" zamiast "zabawy"?
- 23. Dlaczego miałbym używać funkcji rozbieżnych?
- 24. Jak używać nodemon z JSX?
- 25. Jak używać Sinon z maszynopisem?
- 26. Kiedy używać funkcji indeksowania logicznego
- 27. Dlaczego nie zookeeper używać mojego katalogu plik dziennika log4j.properties
- 28. Jak mogę używać zmiennych Sass w funkcji JavaScript?
- 29. Czy mogę używać wiązań Cocoa do mojego najnowszego projektu?
- 30. Jak używać zewnętrznego "C" do wywoływania funkcji C++ w C
Czy można sprawdzić w dokumentacji? Ponieważ po raz ostatni sprawdziłem, odpowiedź była: http://llvm.org/docs/WritingAnLLVMPass.html – Fanael
Dodaj 'AU.addRequired();' do twojego przebiegu 'getAnalysisUsage (AnalysisUsage & AU)' method. –
osgx
Dokumentacja jest naprawdę niejasna i miałem problemy z jej odczytaniem. Przykład pomógłby. – Sharad