-sink: Code Sinking
在了解这个 pass 之前需要学习的背景知识是 Lazy Code Motion。
Description
-sink pass 尽可能地将当前 basic block 的 instructions 给 move 到其 successors 中,当然与此同时会考虑程序的正确性和安全性。
其实也就是 Lazy Code Motion 的 LLVM IR 版本了。
Code Example
例子可以看 background 部分,这里便不再赘述了。