Я получаю сообщение об ошибке Can't unroll; loop not terminated by a conditional branch
для следующего кода:
for(i=0 ; j<10 && i<5 ; i++) j= j+2;
Я использую следующую команду для разворачивания циклов в файле a.bc
: opt -loops -loop-rotate -loop-simplify -loop-unroll -unroll-count=3 -unroll-allow-partial -debug a.bc -o a.loop.bc
Есть ли способ раскатать петли избегая этой ошибки?LLVM не может развернуть петли [Невозможно развернуть; цикл не завершается условной ветвью]
1
A
ответ
2
использовать эту команду, и он должен работать (я тестировал на LLVM 3.6 и 3.7)
opt -mem2reg -simplifycfg -loops -lcssa -loop-simplify -loop-rotate
-loop-unroll -unroll-count=3 -unroll-allow-partial -debug a.bc -o a.loop.bc
вам нужно прежде всего mem2reg иметь свой битовый код преобразуются в SSA из (если он не уже), в другой руке петля имеет два условных выходящие ветви и одну безусловную backedge, так что simplifycfg кажется полезным, чтобы преобразовать его в одной условной форме backedge, который может быть обработан раскатать проход
Смежные вопросы
- 1. не может развернуть раздел
- 2. Hexo не может развернуть
- 3. не может развернуть процесс activiti
- 4. Невозможно развернуть SQLCLR Project
- 5. Невозможно развернуть div width
- 6. Невозможно развернуть приложения WinJS
- 7. Prediction.io: Невозможно развернуть двигатель
- 8. Невозможно развернуть GLFW 3.2
- 9. Невозможно развернуть в heroku
- 10. Невозможно развернуть PSObject
- 11. Arquillian Невозможно развернуть
- 12. Невозможно развернуть взорванный артефакт
- 13. Невозможно развернуть войну org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
- 14. Невозможно развернуть Activiti 6
- 15. Невозможно развернуть большой Int
- 16. Невозможно развернуть NSError
- 17. Невозможно развернуть телескоп
- 18. Datalab «развернуть» не удается
- 19. Capifony не удается развернуть
- 20. Развернуть capistrano, не может выделить память
- 21. не может развернуть весенний проект на tomcat
- 22. не может развернуть проект с capistrano
- 23. ImportError: не может импортировать имя развернуть
- 24. не может развернуть на сервере воротав JBoss
- 25. Intelij IDEA - не может развернуть в кот
- 26. Модернизированный Azure, теперь не может развернуть
- 27. Django wsgi.py + Apache не может развернуть, но
- 28. Capistrano - не может развернуть мой database.yml
- 29. Невозможно развернуть RoR в Bluemix
- 30. Развернуть не работает
мы также можем использовать '-unroll-threshold' для разворачивания больших циклов –