[PATCH] D90717: [llvm] Add a test for debug info generated with split functions.

David Blaikie via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 4 15:44:37 PST 2020


dblaikie added inline comments.


================
Comment at: llvm/test/DebugInfo/X86/machine-function-splitter.ll:2
+;; Basic block sections used by MFS is only supported on x86, elf based systems.
+; UNSUPPORTED: system-windows, system-darwin 
+; RUN: llc -mtriple=x86_64-unknown-linux-gnu -split-machine-functions -filetype=obj %s -o %t
----------------
This doesn't sound right - we can run ELF tests on non-ELF platforms. (I assume that's what's trying to be avoided/addressed by this?) Note all the other tests in this directory that don't have such UNSUPPORTED tagging.


================
Comment at: llvm/test/DebugInfo/X86/machine-function-splitter.ll:48
+;; llvm-profdata merge -o default.profdata default_*.profraw
+;; clang -fprofile-use -O2 -g -S -emit-llvm split_functions.c
+;; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
----------------
MaskRay wrote:
> tmsriram wrote:
> > Do we need a -gsplit-dwarf fission test too?
> The current test only checks -g1 line table. If it targets -g2 (and I think it probably should), I expect that more stuff should be tested.
> Adding @dblaikie who knows better how to construct an interesting test.
If this is a general discussion of "What debug info related things should we test for bb-sections in the LLVM project" it'd be good to get a quick summary of what testing already exists.

But otherwise, broad testing I'd think:
* llvm-symbolizer testing (check a couple of addresses in different bb sections, covering an inlined function)
* llvm-dwarfdump of a linked executable showing bb section line table, DW_AT_ranges on the DW_TAG_subprogram

But maybe both of these tests are already checked in/implemented?

I don't think there's much need for Split DWARF-specific testing, as the Split DWARF handling of ranges is fairly orthogonal to where they appear (shouldn't be interesting to Split DWARF that the ranges appear on a DW_TAG_subprogram, I don't think).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D90717/new/

https://reviews.llvm.org/D90717



More information about the llvm-commits mailing list