Commits

Nadav Rotem committed 458469c18fd
[sink] Add an optimization pass for sinking code. Some instructions are side-effect free at the SIL-level, but may read or write memory at the LLVM level, so we can't rely on the llvm sinking pass to sink them. This pass sinks side-effect free instructions, such as 'upcast' and 'class_method' to a basic block that dominates all of their users. Swift SVN r31868