Place new and updated dbg.declare calls immediately after the corresponding alloca.
Current code in replaceDbgDeclareForAlloca puts the new dbg.declare at the end of the basic block. LLVM codegen has problems emitting debug info in a situation when dbg.declare appears after all uses of the variable. This usually kinda works for inlining and ASan (two users of this function) but not for SafeStack. See http://reviews.llvm.org/D13178, which depends on this patch (and includes a part of it for now).