llvm-svn: 158471
llvm-svn: 153502
llvm-svn: 150775
Stefanovic. I removed the part that actually emits the instructions cause I want that to get in better shape first and in incremental steps. This also makes it easier to review the upcoming parts. llvm-svn: 135678