apilipenko added a comment. @Sanjoy, it has nothing to do with pointer types. There are some "kinds" of pointers (e.g. allocas, some globals) which are inherently dereferenceable. http://reviews.llvm.org/D17611