It's also more restrictive in that it doesn't allow ptrtoints. This has the same problem that I mentioned in D2205 when I added the constant version. The ptrtoint handling in CreatePointerCast would make using this in CreatePointerCast messy. http://llvm-reviews.chandlerc.com/D2598