我正在玩LLVM C-API,我不知何故被LLVMBuildIndirectBr()困住,或者更確切地說與LLVMBlockAddress(),因爲我不知道它的第一個參數是什麼,更重要的是我該如何創建它。這是一個LLVMValueRef,它應該代表'函數',但我發現的文檔沒有提供更多信息。什麼是LLVMBlockAddress()第一個參數?
1
A
回答
1
根據its code,這個函數只是一個用於BlockAddress::get()的C包裝。所以,第一個參數是包含BB的Function
,我假設。
沒有爲BlockAddress::get()
過載只服用BB參數沒有C API,所以必須調用LLVMGetBasicBlockParent()對BB第一以獲得它屬於Function
基準,然後把它作爲第一個參數LLVMBlockAddress()
。作爲在這種情況下的一個經驗法則,試着弄清楚你使用的「本地」C++方法,然後查找它的文檔。
0
顯然它是通過LLVMFunctionType()和LLVMAddFunction()。
相關問題
- 1. Firebase.Auth.GoogleAuthProvider.GetCredential的第一個參數是什麼?
- 2. WordPress wp_get_nav_menu_items - 第一個參數是什麼?
- 3. 什麼是NSLocalizedString()的第二個參數?
- 4. Transition的第三個參數是什麼?
- 5. 第二個參數是什麼?
- 6. mysqli_poll() - 第三個參數是什麼?
- 7. 爲什麼第二個參數必須是一個列表
- 8. MySQL的Decimal函數的第一個參數是做什麼的?
- 9. 是什麼TapTarget.forBounds的第一個參數,它是什麼的意思矩形
- 10. wordpress:add_action:爲什麼第二個參數是一個數組而不是函數名
- 11. 在ruby中,CSV.open()的第二個參數/參數是什麼?
- 12. 什麼是Facebook :: api方法中的第一個參數?
- 13. CakePHP的:什麼是第一個參數的PAGINATE(「配方」)
- 14. 「type」的第一個參數是做什麼的?
- 15. JavaScript concat()方法中第一個參數的用途是什麼?
- 16. Array.apply在JavaScript中的第一個參數是什麼?
- 17. Parse.User.signUp()中的第一個參數是什麼?
- 18. jQuery.each用於回調的第一個參數(k)是什麼?
- 19. 什麼是可以接受的glPolygonMode第一個參數值?
- 20. app.post的第一個字符串參數是做什麼的?
- 21. zip_source_zip在libzip中:第一個參數是什麼?
- 22. 'JOptionPane.showConfirmDialog()'中的第一個參數是什麼?
- 23. presentOpenInMenuFromRect的第一個參數是什麼意思?
- 24. 第三什麼是bean.fire事件中的第三個參數?
- 25. T應該是一個參數,一個函數還是什麼?
- 26. 什麼把默認的第一個參數,而不是在Python中第二?
- 27. glBufferData第二個參數是GLsizeiptr而不是GLsizei,爲什麼?
- 28. Angular指令的第二個參數,它爲什麼是一個函數?
- 29. 爲什麼第二個參數不是基於第一個參數的標準進行過濾?
- 30. date函數中的第二個參數是什麼意思?
當然,但問題是關於從這個函數創建一個LLVMValueRef,看着C++ API對此沒有幫助。 – lucvoo
@lucvoo好吧,'BlockAddress :: get()'有一個只有BB的重載,並用'bb-> GetParent()'發現它所屬的'Function'。所以,我想你可以使用[LLVMGetBasicBlockParent()](http://llvm.org/docs/doxygen/html/group__LLVMCCoreValueBasicBlock.html#ga94bcbe957389c2c2219d6a02e72691ef)。 – arrowd
太棒了,這正是我在尋找的!你可以編輯你的答案或爲這個LLVMGetBasicBlockParent()創建另一個? – lucvoo