[PATCH] D90345: [DebugInfo] Fix ICE in DwarfCompileUnit::constructSubprogramScopeDIE

Scott Linder via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 19 10:04:19 PDT 2021


scott.linder updated this revision to Diff 359829.
scott.linder added a comment.
Herald added subscribers: ormris, wenlei, okura, bbn, kuter, cmtice, kerbowa, pengfei, jfb, steven_wu, MaskRay, aheejin, jgravelle-google, sbc100, nhaehnle, jvesely, emaste, dschuff.
Herald added a reviewer: jhenderson.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a reviewer: baziotis.

Update tests.

I went the route of "upgrading" bitcode which lacks the `type:` field on `DISubprogram`s. It seems like there is currently no difference from LLVM's perspective between `!DISubroutineType(types: !{})` and `!DISubroutineType(types: !{null})`, or at least the difference (or whether the first form should even be valid) is not clear to me.

As an example, DebugTypeInfoRemoval uses `!DISubroutineType(types: !{})` to represent the C type `(void)()`, but the langref would lead one to believe this should be `!DISubroutineType(types: !{null})`.

Does anyone have any thoughts?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D90345

Files:
  lld/test/ELF/lto/pseudo-probe-lto.ll
  llvm/docs/LangRef.rst
  llvm/lib/Bitcode/Reader/MetadataLoader.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/test/Assembler/debug-info-source-invalid.ll
  llvm/test/Assembler/debug-info-source.ll
  llvm/test/Assembler/dicompositetype-members.ll
  llvm/test/Assembler/diimportedentity.ll
  llvm/test/Assembler/dilexicalblock.ll
  llvm/test/Assembler/dilocalvariable-arg-large.ll
  llvm/test/Assembler/dilocalvariable.ll
  llvm/test/Assembler/dilocation.ll
  llvm/test/Assembler/disubprogram.ll
  llvm/test/Assembler/metadata.ll
  llvm/test/Bitcode/DILocalVariable-explicit-tags.ll
  llvm/test/Bitcode/DISubprogram-v4.ll
  llvm/test/Bitcode/debug-loc-again.ll
  llvm/test/Bitcode/dityperefs-3.8.ll
  llvm/test/BugPoint/invalid-debuginfo.ll
  llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
  llvm/test/CodeGen/AArch64/arm64-opt-remarks-lazy-bfi.ll
  llvm/test/CodeGen/AArch64/arm64-summary-remarks.ll
  llvm/test/CodeGen/AArch64/fast-isel-dbg.ll
  llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
  llvm/test/CodeGen/AMDGPU/vi-removed-intrinsics.ll
  llvm/test/CodeGen/MIR/X86/stack-object-debug-info.mir
  llvm/test/CodeGen/WebAssembly/lower-em-sjlj-debuginfo.ll
  llvm/test/CodeGen/X86/fixed-stack-di-mir.ll
  llvm/test/CodeGen/X86/tail-merge-debugloc.ll
  llvm/test/DebugInfo/Generic/2010-03-19-DbgDeclare.ll
  llvm/test/DebugInfo/Generic/dbg-value-lower-linenos.ll
  llvm/test/DebugInfo/Generic/invalid.ll
  llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
  llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
  llvm/test/DebugInfo/MIR/X86/dbgcall-site-lea-interpretation.mir
  llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
  llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir
  llvm/test/DebugInfo/MIR/X86/machine-cse.mir
  llvm/test/DebugInfo/X86/pr40427.ll
  llvm/test/DebugInfo/X86/sunk-compare.ll
  llvm/test/Instrumentation/AddressSanitizer/stack_layout.ll
  llvm/test/Transforms/ArgumentPromotion/dbg.ll
  llvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
  llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
  llvm/test/Transforms/Inline/debug-invoke.ll
  llvm/test/Transforms/InstCombine/assume.ll
  llvm/test/Transforms/InstCombine/consecutive-fences.ll
  llvm/test/Transforms/LoopVectorize/discriminator.ll
  llvm/test/Transforms/SROA/dbg-single-piece.ll
  llvm/test/Transforms/SampleProfile/cold-indirect-call.ll
  llvm/test/Transforms/SampleProfile/csspgo-inline-icall.ll
  llvm/test/Transforms/SampleProfile/early-inline.ll
  llvm/test/Transforms/SampleProfile/function_metadata.ll
  llvm/test/Transforms/SampleProfile/indirect-call-gcc.ll
  llvm/test/Transforms/SampleProfile/indirect-call.ll
  llvm/test/Transforms/SampleProfile/inline-callee-update.ll
  llvm/test/Transforms/SimplifyCFG/X86/remove-debug.ll
  llvm/test/Transforms/SimplifyCFG/pr39807.ll
  llvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll
  llvm/test/Transforms/Util/trivial-auto-var-init-call.ll
  llvm/test/Transforms/Util/trivial-auto-var-init-store.ll
  llvm/test/Transforms/Util/trivial-auto-var-init-unknown.ll
  llvm/test/Transforms/WholeProgramDevirt/devirt-single-impl.ll
  llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
  llvm/unittests/IR/VerifierTest.cpp
  llvm/unittests/Transforms/Utils/CloningTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90345.359829.patch
Type: text/x-patch
Size: 194449 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210719/277d5f9a/attachment-0001.bin>


More information about the llvm-commits mailing list