[PATCH] D63662: Changing CodeView Debug info Type record output
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 1 14:34:25 PDT 2019
rnk added inline comments.
================
Comment at: llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp:269
uint16_t Size;
- if (IO.isWriting()) {
+ if (!IO.isReading()) {
ArrayRef<VFTableSlotKind> Slots = Record.getSlots();
----------------
dblaikie wrote:
> What else can you be doing other than reading or writing? (what is the semantic difference in this (& similar) code change?)
I think this makes some sense, since the new mode is "streaming", which is notionally similar to writing. If we're "not reading" then we are producing some kind of output, either bytes or symbolic structured data.
================
Comment at: llvm/test/DebugInfo/COFF/asm.ll:2
; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 -O0 < %s | FileCheck --check-prefix=X86 %s
+; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 -o - -O0 -filetype=obj < %s | llvm-readobj -S --sr --codeview | FileCheck --check-prefix=OBJ32 %s
; RUN: llc -mcpu=core2 -mtriple=i686-pc-win32 -o - -O0 < %s | llvm-mc -triple=i686-pc-win32 -filetype=obj | llvm-readobj -S --sr --codeview | FileCheck --check-prefix=OBJ32 %s
----------------
dblaikie wrote:
> Seems like overkill to double all these tests, perhaps?
My recommendation was to test both codepaths, direct object emission and via textual assembly and confirm that info comes out the same. But, this test and many others don't exercise type information, so this extra run isn't really testing anything.
I would recommend reverting changes to test files that don't contain any lines matching `LF_`, since those are an indication of the presence of type records.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63662/new/
https://reviews.llvm.org/D63662
More information about the llvm-commits
mailing list