[PATCH] D16931: [codeview] Describe int local variables using .cv_def_range

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 9 15:53:10 PST 2016


rnk added inline comments.

================
Comment at: lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:569
@@ +568,3 @@
+  OS.AddComment("TypeIndex");
+  OS.EmitIntValue(TypeIndex::Int32().getIndex(), 4);
+  OS.AddComment("Flags");
----------------
majnemer wrote:
> dblaikie wrote:
> > Some comments here might not go astray (what is the format of these records you're emitting (maybe a broad comment at the top describing the format overall, then details on each field))
> > 
> > Specifically I don't know what the 4 here and 2, below (flags), are.
> They (4 and 2) are the size of the value in bytes.  Otherwise, `EmitIntValue` wouldn't know how much data to emit.
The on-disk format is described as structs in llvm/DebugInfo/CodeView/SymbolRecord.h and TypeRecord.h. All the information that we know about any of these fields should probably live there, not here. I guess I can say "see SymbolRecord.h".

================
Comment at: lib/CodeGen/AsmPrinter/DwarfDebug.cpp:1059
@@ -1164,3 +1058,3 @@
   // then we're not going to be able to do anything.
-  LScopes.initialize(*MF);
+  DebugHandlerBase::beginFunction(MF);
   if (LScopes.empty())
----------------
I did call beginFunction() right at the point where I scooped out the shared code. :)

The dwarf CU id emission stuff doesn't need to be ordered with respect to the dbg value history calculation.


http://reviews.llvm.org/D16931





More information about the llvm-commits mailing list