HomePhabricator

[DebugInfo] Fix potential CU mismatch for SubprogramScopeDIEs.

Authored by JDevlieghere on Nov 15 2017, 2:57 AM.

Description

[DebugInfo] Fix potential CU mismatch for SubprogramScopeDIEs.

In constructAbstractSubprogramScopeDIE there can be a potential mismatch
between this and the CU of ContextDIE when a scope is shared between
two DISubprograms belonging to a different CU. In that case, this is
the CU that was specified in the IR, but the CU of ContextDIE is that of
the first subprogram that was emitted. This patch fixes the mismatch by
looking up the CU of ContextDIE, and switching to use that.

This fixes PR35212 (https://bugs.llvm.org/show_bug.cgi?id=35212)

Patch by Philip Craig!

Differential revision: https://reviews.llvm.org/D39981

llvm-svn: 318289