aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CompilerDriver/CompilationGraph.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-09-15 04:15:46 +0000
committerGreg Clayton <gclayton@apple.com>2010-09-15 04:15:46 +0000
commitc685f8e5402284f4a743f2e4d7d7168578cfb687 (patch)
tree08cafa1431519ca5789105907e1e15669f86e81d /llvm/lib/CompilerDriver/CompilationGraph.cpp
parent81ce17386075dcdbae3891837ce0316ad9bcbd19 (diff)
downloadllvm-c685f8e5402284f4a743f2e4d7d7168578cfb687.zip
llvm-c685f8e5402284f4a743f2e4d7d7168578cfb687.tar.gz
llvm-c685f8e5402284f4a743f2e4d7d7168578cfb687.tar.bz2
So we can't use .debug_pubtypes as it, as designed, does not tell us about
all types in all compile units. I added a new kind of accelerator table to the DWARF that allows us to index the DWARF compile units and DIEs in a way that doesn't require the data to stay loaded. Currently when indexing the DWARF we check if the compile unit had parsed its DIEs and if it hasn't we index the data and free all of the DIEs so we can reparse later when we need to after using one of our complete accelerator tables to determine we need to reparse some DWARF. If the DIEs had already been parsed we leave them loaded. The new accelerator table uses the "const char *" pointers from our ConstString class as the keys, and NameToDIE::Info as the value. This info contains the compile unit index and the DIE index which means we are pointed right to the DIE we need unlike the other DWARF accelerator tables that often just point us to the compile unit we would find our answer in. llvm-svn: 113933
Diffstat (limited to 'llvm/lib/CompilerDriver/CompilationGraph.cpp')
0 files changed, 0 insertions, 0 deletions