野生的民2
3 years ago
今天遇到第N個人問我要怎麼寫legacy LLVM Pass 然後為什麼 LLVM/Clang 不怎麼願意跑 legacy Pass
拜託,已經2022了,new PassManager 已經邁向第八個年頭了(根本不"new"了),就乖乖放棄用 legacy Pass 吧 = =...
latest #8
野生的民2
3 years ago
重點是 new PassManager Pass 超級好寫,就不懂為什麼不改過去...
但是是不是還有些 pass 像 PruneEH 只有 legacy pass manager QQ
上次試各個 pass, SimplifyCFG 參數之類的, 有些 --help 出現的 pass 在新的 pass manager 裡面找不到怎麼用
立即下載
野生的民2
3 years ago
suhorng: PruneEH 並不是沒被改寫,而是根本沒被包含進新的 pipeline 裡面XD。這是他的理由:"historically, the PruneEH pass was run first to deduce nounwind and generally clean up exception handling overhead. It isn't clear this is valuable as the inliner doesn't currently care whether it is inlining an invoke or a call."
野生的民2
3 years ago
suhorng: 現在已經支援用 textual pipeline description 傳Pass參數了,當然新的 Pass 參數不是用 command line option。Pass plugin 目前還不能傳參數倒是真的
野生的民2
3 years ago
如果真的找不到對應的新 Pass,我通常會直接找這個檔案:llvm-project/PassRegistry.def at main · llvm/llvm-pr...
原來是這樣!! 找了一下有找到幾個 PruneEH 的 issue, 調整測試等等. 看起來他部份的功能也被其他幾個不同 pass 取代掉了
mshockwave: 謝謝XD 有這列表方便多了
back to top