summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-04-28 22:41:39 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-04-28 22:41:39 +0000
commit46f820118769fcee3196c698f29885899d81e64e (patch)
treeb8965a6278cd2bd516238d2ed6e4202cf299090c /llvm/lib/CodeGen
parentfee0ee24c8b2488be0d7c34e33fca4ddf385b18a (diff)
downloadbcm5719-llvm-46f820118769fcee3196c698f29885899d81e64e.tar.gz
bcm5719-llvm-46f820118769fcee3196c698f29885899d81e64e.zip
DIE: Document some learnings about why the world isn't perfect.
llvm-svn: 207458
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DIE.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DIE.h b/llvm/lib/CodeGen/AsmPrinter/DIE.h
index 1a1c080c32c..ef05f170781 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DIE.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DIE.h
@@ -124,6 +124,12 @@ protected:
/// Children DIEs.
///
+ // This can't be a vector<DIE> because pointer validity is requirent for the
+ // Parent pointer and DIEEntry.
+ // It can't be a list<DIE> because some clients need pointer validity before
+ // the object has been added to any child list
+ // (eg: DwarfUnit::constructVariableDIE). These aren't insurmountable, but may
+ // be more convoluted than beneficial.
std::vector<std::unique_ptr<DIE>> Children;
DIE *Parent;
OpenPOWER on IntegriCloud