Debug Info: create scope children DIEs when the scope DIE is not null.
authorManman Ren <manman.ren@gmail.com>
Tue, 10 Sep 2013 18:40:41 +0000 (18:40 +0000)
committerManman Ren <manman.ren@gmail.com>
Tue, 10 Sep 2013 18:40:41 +0000 (18:40 +0000)
commitfd2210a78dc621d3fb5c3613ff59b341041b3a4b
tree9a32b6eaaf80dc83fab81eaff8747a96ab46f140
parent4f5cfba4d5734f65cfb63ea848e93c2c5f566427
Debug Info: create scope children DIEs when the scope DIE is not null.

We try to create the scope children DIEs after we create the scope DIE. But
to avoid emitting empty lexical block DIE, we first check whether a scope
DIE is going to be null, then create the scope children if it is not null.
From the number of children, we decide whether to actually create the scope DIE.

This patch also removes an early exit which checks for a special condition.
It also removes deletion of un-used children DIEs that are generated
because we used to generate children DIEs before the scope DIE.

Deletion of un-used children DIEs may cause problem because we sometimes keep
created DIEs in a member variable of a CU.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190421 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h