Updated to be a bit more const friendly. Also switched the linkage to be static since this function is file-local. No functional changes intended.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206982 91177308-0d34-0410-b5e6-96231b3b80d8
Minor formatting and simplification cleanup -- no functional changes intended.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206985 91177308-0d34-0410-b5e6-96231b3b80d8
Replacing a naked pointer with a unique_ptr. No functional changes intended.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206986 91177308-0d34-0410-b5e6-96231b3b80d8
The rewrite constructor should actually rewrite.

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@206987 91177308-0d34-0410-b5e6-96231b3b80d8