DebugInfo: Fix another case of r222377 when we do have a definition of the variable, but we might not be emitting it (such as templates)

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@222485 91177308-0d34-0410-b5e6-96231b3b80d8
Debug info for blocks: Fix a bug caught by the Verifier.
When emitting nested block definitions, the insert-at-point variant of
DIBuilder::insertDeclare() could be called with the insertion point set
to the end-of-BasicBlock sentinel, causing the parent pointer of the
CallInst to be set to the intentionally bogus value of the sentinel.

Fixed by conditionally invoking the correct version of insertDeclare().
rdar://problem/19034882

git-svn-id: http://llvm.org/svn/llvm-project/cfe/trunk@222487 91177308-0d34-0410-b5e6-96231b3b80d8
relax this testcase to not depend on a specific alignment.

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