LLVM'yi kullanıyorum ve kendi geçişimden farklı bir mevcut geçişin nasıl kullanılacağı konusunda kafam karışmıştı? Kesinlikle benim programım herhangi bir talimat için Dominance Frontier Calculation'a ihtiyaç duyuyor. LLVM zaten bir fonksiyon geçişi olarak uygulanan Dominance fonksiyonu Sınıfına sahiptir. Modül Geçişimde bunu nasıl kullanabilirim/kullanabilirim?LLVM - geçişimden bir exisiting işlev geçişini nasıl kullanırım?
6
A
cevap
3
UYARI: Hiçbir gerçek deneyimim ve yanıtım yanlış veya güncel olmayabilir. (Büyük ölçüde eskimiş LLVM kaynaklarına dayanmaktadır: version 1.3.)
bir içerme ekleyin:
#include "llvm/Analysis/DominanceFrontier.h"
olursa (uygulanmadığı taktirde) Fonksiyonu Geçiş, sınıfınıza yöntemi eklerseniz geçiş:
virtual void getAnalysisUsage(AnalysisUsage &AU) const { }
Ve bunun içine koymak:
AU.addRequired<DominanceFrontier>();
Ardından, sınıftakiiçindeyöntemi: Bundan sonra
DominanceFrontier *DF = &getAnalysis<DominanceFrontier>();
kullanabilirsiniz:
BasicBlock *BB = /* some BB */;
DominanceFrontier::iterator DFI = DF->find(BB);
İlgili konular
- 1. LLVM modülünde bir işlev nasıl eklenir
- 2. LLVM
- 3. LLVM
- 4. Mono LLVM ve LLVM-IR
- 5. Talimatı nasıl yazdırabilirsiniz? Llvm
- 6. Nasıl llvm linker kullanılır?
- 7. LLVM derleme:
- 8. geçici nesnenin geçişini önleme
- 9. karbondioksit geçişini durdurma
- 10. Fark/LLVM-ld ve LLVM-link
- 11. Bayrakları LLVM geçişine nasıl geçirebilirim?
- 12. Bağımsız değişken iletme LLVM
- 13. LLVM yapı değeri nasıl oluşturulur?
- 14. Orada llvm
- 15. Çoklu geliştirme ortamlarında Flask geçişini nasıl kullanabilirim
- 16. ToggleButton öğesinin IsEnabled ayarlanmadan geçişini nasıl engelleyebilirim
- 17. LLVM: OSX
- 18. Django veri geçişini yeniden çalıştırın
- 19. Bir lambdada variadic mükemmel iletmeyi nasıl kullanırım?
- 20. LLVM Orta gösterim nedir?
- 21. Uygulama başlangıcında kod geçişini tetikleme
- 22. Derleme C# → LLVM → ASM.JS?
- 23. Bir işlev nasıl yalıtılır
- 24. Bir işlev nasıl oluşturulur
- 25. KeyEventDispatcher'ı nasıl kullanırım?
- 26. SyndicationFeed'i nasıl kullanırım?
- 27. chrome.tabs.onUpdated.addListener'ı nasıl kullanırım?
- 28. Yemlemede parçacığı nasıl kullanırım?
- 29. Drools Planner'ı nasıl kullanırım?
- 30. MySQL'de nasıl oy kullanırım?
Dokümanları kontrol ettiniz mi? En son kontrol ettiğimden beri cevap geldi: http://llvm.org/docs/WritingAnLLVMPass.html – Fanael
"AU.addRequired();' pass'ınızı getAnalysisUsage (AnalysisUsage & AU) yöntemine ekleyin. –
osgx
Belgeler gerçekten belirsiz ve çözülmesinde gerçek problemlerim vardı. Bir örnek yardımcı olabilirdi. – Sharad