Page MenuHomePhabricator

jmorse (Jeremy Morse)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 19 2018, 2:57 AM (218 w, 5 d)

Recent Activity

Thu, May 26

jmorse added a comment to D126277: [Debug] [Coroutines] Add deref operator for non complex expression.

This seems fine to me -- something very similar happens with NRVO in C++, a dbg.declare(..., DW_OP_deref) is created for the implicit output argument. There's a test demonstrating this in clang/test/CodeGenCXX/debug-info-nrvo.cpp.

Thu, May 26, 7:31 AM · Restricted Project, Restricted Project

Tue, May 24

jmorse committed rG8b5d9cbbfedc: [x86][DAG] Unroll vectorized FREMs that will become libcalls (authored by n-omer).
[x86][DAG] Unroll vectorized FREMs that will become libcalls
Tue, May 24, 5:35 AM · Restricted Project, Restricted Project
jmorse closed D125988: [x86][SelectionDAG] Unroll vectorized FREM instructions which will be lowered to libcalls.
Tue, May 24, 5:35 AM · Restricted Project, Restricted Project

Fri, May 20

jmorse committed rGaed49eac87b8: [X86] Add tests for FREM (authored by n-omer).
[X86] Add tests for FREM
Fri, May 20, 8:28 AM · Restricted Project, Restricted Project
jmorse closed D126055: [X86] Add tests for FREM.
Fri, May 20, 8:28 AM · Restricted Project, Restricted Project
jmorse added a comment to D125953: [DebugInfo][InstrRef] Handle joins PHI+Def values in LiveDebugValues.

Additionally, the test file should be MIR and only run livedebugvalues, to reduce the surface of things being tested.

Fri, May 20, 8:11 AM · Restricted Project, Restricted Project, debug-info
jmorse added a comment to D125953: [DebugInfo][InstrRef] Handle joins PHI+Def values in LiveDebugValues.

IIRC this is sound, from our discussion elsewhere the problem is that we do not eliminate a PHI if the incoming values agree, but one value comes from a PHI and the other does not. IMO: this should also get a unit test entry to ease the identification of errors in the future. Additionally, the test file should be MIR and only run livedebugvalues, to reduce the surface of things being tested.

Fri, May 20, 7:52 AM · Restricted Project, Restricted Project, debug-info

Tue, May 17

jmorse added a comment to D113586: [DebugInfo][NFC] Add instr-ref documentation, migration guide.

Also, many thanks for driving this. After much introspection, I think that every time I came back to this document I tried to rewrite it from scratch, which is kind of a blocker against forward progress :(.

Tue, May 17, 8:23 AM · Restricted Project, Restricted Project
jmorse added a comment to D113586: [DebugInfo][NFC] Add instr-ref documentation, migration guide.

All those revisions / updates look good to me -- @StephenTozer @Orlando would you be able to give another look-over?

Tue, May 17, 8:22 AM · Restricted Project, Restricted Project

Fri, May 13

jmorse added a comment to D124691: [Transforms] Fix a wrong debug info intrinsic call in `mem2reg` pass for ref 128-bit.

While the patch does fix the immediate issue, I'm not certain that disabling the valueCoversEntireFragment check in the context of pointers is a general solution. Otherwise generic code that does something strange (like breaking up allocas) would expect dbg.value's to become undef, and not doing that for certain types risks causing unexpected behaviour in the future. It's also good practice to be conservative in what input we accept here.

Fri, May 13, 7:53 AM · debug-info, Restricted Project, Restricted Project

Thu, May 12

jmorse committed rGa975472fa697: [DebugInfo][InstrRef] Describe value sizes when spilt to stack (authored by jmorse).
[DebugInfo][InstrRef] Describe value sizes when spilt to stack
Thu, May 12, 7:53 AM · Restricted Project, Restricted Project
jmorse closed D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Thu, May 12, 7:53 AM · Restricted Project, Restricted Project

Tue, May 3

jmorse abandoned D124398: [DebugInfo] Don't skip deletion of dead BasicBlocks because of debug-info instructions.

/me squints,

Tue, May 3, 2:19 AM · Restricted Project, Restricted Project
jmorse committed rG1d712c381819: [DebugInfo][InstrRef] Don't generate redundant DBG_PHIs (authored by jmorse).
[DebugInfo][InstrRef] Don't generate redundant DBG_PHIs
Tue, May 3, 1:57 AM · Restricted Project, Restricted Project
jmorse closed D124517: [DebugInfo][InstrRef] Use a cache to avoid creating redundant DBG_PHIs.
Tue, May 3, 1:56 AM · Restricted Project, Restricted Project
jmorse added inline comments to D124517: [DebugInfo][InstrRef] Use a cache to avoid creating redundant DBG_PHIs.
Tue, May 3, 1:55 AM · Restricted Project, Restricted Project

Mon, May 2

jmorse added a comment to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

Thanks for the reproducer; while it's mildly hard to interpret what's going on, I think a large block of local stack memory that's the subject of a dbg.declare, is being recorded by a

Mon, May 2, 10:20 AM · Restricted Project, Restricted Project

Fri, Apr 29

jmorse requested review of D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Fri, Apr 29, 9:10 AM · Restricted Project, Restricted Project
jmorse reopened D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Fri, Apr 29, 9:10 AM · Restricted Project, Restricted Project
jmorse updated the diff for D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

Thinking about it, actually we can easily support the llvm.dbg.addr with complex-expression scenario, just by weakening the assertion that's firing. The code as written will cope just fine with dbg.addrs that perform a computation, the true problem is when there's a DW_OP_stack_value in the expression. That's what this assertion should have been testing for in the first place. It doesn't make sense for a variable to both be indirect, and computed on the DWARF expression stack.

Fri, Apr 29, 9:10 AM · Restricted Project, Restricted Project
jmorse added a comment to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

To explain my thinking -- coroutines recently started using dbg.addr, and can be salvaged in 0b647fc529, which will create complex DIExpressions (aka anything with a DW_OP_stack_value). I think this might be the first scenario where dbg.addrs are generated and can be salvaged, which then messes up other code I've written in SelectionDAG, that assumes a dbg.addr can be treated as a more specific dbg.declare. If so, the fix is probably to flush the indirectness out of the intrinsics/instructions at SelectionDAG, seeing how everyone wants the IsIndirect flag gone in the long run.

Fri, Apr 29, 4:47 AM · Restricted Project, Restricted Project
jmorse added a comment to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

Thanks for reverting; I think this has uncovered some changes in my assumptions of how some variable locations are described. Would you happen to know whether the source being compiled contains coroutines? There's been some work there lately which might have had an effect.

Fri, Apr 29, 3:41 AM · Restricted Project, Restricted Project

Thu, Apr 28

jmorse added a comment to D113586: [DebugInfo][NFC] Add instr-ref documentation, migration guide.

@jmorse It would be great to get this landed, as it's quite a useful reference to have around. 😄 If the main blocker is lack of time, I'd be happy to take over and work through the review comments so this can move forward.

Thu, Apr 28, 9:23 AM · Restricted Project, Restricted Project

Apr 27 2022

jmorse requested review of D124517: [DebugInfo][InstrRef] Use a cache to avoid creating redundant DBG_PHIs.
Apr 27 2022, 3:41 AM · Restricted Project, Restricted Project
jmorse committed rGa15b66e76d1e: [DebugInfo][InstrRef] Describe value sizes when spilt to stack (authored by jmorse).
[DebugInfo][InstrRef] Describe value sizes when spilt to stack
Apr 27 2022, 1:55 AM · Restricted Project, Restricted Project
jmorse closed D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Apr 27 2022, 1:55 AM · Restricted Project, Restricted Project
jmorse added inline comments to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Apr 27 2022, 1:14 AM · Restricted Project, Restricted Project

Apr 26 2022

jmorse committed rG65d5beca13e6: Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI (authored by jmorse).
Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI
Apr 26 2022, 7:50 AM · Restricted Project, Restricted Project
jmorse added inline comments to D105207: [debuginfo][lsr] SCEV-based salvaging for LoopStrengthReduction.
Apr 26 2022, 2:56 AM · Restricted Project, debug-info, Restricted Project

Apr 25 2022

jmorse added a reverting change for rG5db925023169: Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI: rG987cd7c3ed75: Revert "Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI".
Apr 25 2022, 3:31 PM · Restricted Project, Restricted Project
jmorse committed rG987cd7c3ed75: Revert "Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI" (authored by jmorse).
Revert "Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI"
Apr 25 2022, 3:31 PM · Restricted Project, Restricted Project
jmorse requested review of D124398: [DebugInfo] Don't skip deletion of dead BasicBlocks because of debug-info instructions.
Apr 25 2022, 9:25 AM · Restricted Project, Restricted Project
jmorse committed rG5db925023169: Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI (authored by jmorse).
Reapply D124184, [DebugInfo][InstrRef] Add a size operand to DBG_PHI
Apr 25 2022, 7:51 AM · Restricted Project, Restricted Project
jmorse added a reverting change for rGfda4305e5378: [DebugInfo][InstrRef] Add a size operand to DBG_PHI: rG13815e8cbf8d: Revert "[DebugInfo][InstrRef] Add a size operand to DBG_PHI".
Apr 25 2022, 6:07 AM · Restricted Project, Restricted Project
jmorse committed rG13815e8cbf8d: Revert "[DebugInfo][InstrRef] Add a size operand to DBG_PHI" (authored by jmorse).
Revert "[DebugInfo][InstrRef] Add a size operand to DBG_PHI"
Apr 25 2022, 6:07 AM · Restricted Project, Restricted Project
jmorse added a reverting change for D124184: [DebugInfo][InstrRef] Describe the size of value referred to by a DBG_PHI: rG13815e8cbf8d: Revert "[DebugInfo][InstrRef] Add a size operand to DBG_PHI".
Apr 25 2022, 6:07 AM · Restricted Project, Restricted Project
jmorse committed rGfda4305e5378: [DebugInfo][InstrRef] Add a size operand to DBG_PHI (authored by jmorse).
[DebugInfo][InstrRef] Add a size operand to DBG_PHI
Apr 25 2022, 5:42 AM · Restricted Project, Restricted Project
jmorse closed D124184: [DebugInfo][InstrRef] Describe the size of value referred to by a DBG_PHI.
Apr 25 2022, 5:42 AM · Restricted Project, Restricted Project
jmorse added inline comments to D124184: [DebugInfo][InstrRef] Describe the size of value referred to by a DBG_PHI.
Apr 25 2022, 4:58 AM · Restricted Project, Restricted Project
jmorse added inline comments to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Apr 25 2022, 4:56 AM · Restricted Project, Restricted Project
jmorse added a comment to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

(Addressing inline comments -- note that they've now shifted down a few lines).

Apr 25 2022, 4:55 AM · Restricted Project, Restricted Project
jmorse updated the diff for D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

Refreshed with a more comprehensive test plan -- see deref-spills-with-size.mir where there's a truth-table (well, kind of) of what inputs should lead to what output expressions, for:

  • Different sizes of value on the stack,
  • The differing presence of stack values / no stack value,
  • Whether the variable is a scalar or a fragment.
Apr 25 2022, 4:51 AM · Restricted Project, Restricted Project

Apr 21 2022

jmorse updated the diff for D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

The aforementioned problems are addressed in D124184, this patch revises the test to cover scenarios where DBG_PHIs refer to the stack, and ensure that the size operand of DBG_PHI is considered.

Apr 21 2022, 10:20 AM · Restricted Project, Restricted Project
jmorse requested review of D124184: [DebugInfo][InstrRef] Describe the size of value referred to by a DBG_PHI.
Apr 21 2022, 9:27 AM · Restricted Project, Restricted Project

Apr 19 2022

jmorse added a comment to D123679: [RISCV] Don't getDebugLoc for the end node of MBB iterator.

Drive by review from a debug-info perspective -- I'm not a RISC-V person so don't feel confident enough to approve this, but I can see how the removed code will crash in the presence of a block only containing debug instructions, and that the new code will not crash. The fix looks correct in that sense, but someone else should confirm that it's not going to change codegen.

Apr 19 2022, 5:59 AM · Restricted Project, Restricted Project

Apr 13 2022

jmorse planned changes to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

Stone the crows, of the Dexter tests we have that originally detected this problem, another has found a problem in this patch -- for values defined in a stack slot, InstrRefBasedLDV currently guesses the size [0] because it can't work it out so late in compilation. In a piece of code dealing with vectors:

  • The variable is a "vector" class with a single array of 4 f32's, that get promoted and vectorised it seems,
  • The vectorised value is subject to a PHI at some point,
  • A DBG_INSTR_REF refers to the PHI,
  • This becomes a DBG_PHI referring to a stack slot after regalloc,
  • The code in [0] guesses that the stack slot contains 64 bits, where in reality it's 128 bits,
  • 64 bits is not the size of the variable, so a DW_OP_deref_size and DW_OP_stack_value is used, and we lose half the vector.
Apr 13 2022, 9:46 AM · Restricted Project, Restricted Project
jmorse added a comment to D113741: [RFC][DwarfDebug][AsmPrinter] Support emitting function-local declaration for a lexical block.

Drive-by comment on the topic of the gnu pubnames error,

Apr 13 2022, 9:15 AM · Restricted Project, debug-info, Restricted Project

Apr 12 2022

jmorse added a comment to D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.

/me squints -- looks like the test doesn't cover the case of expressions with fragments, which I'll revise in later. (The patch has a case for that).

Apr 12 2022, 5:51 AM · Restricted Project, Restricted Project
jmorse requested review of D123599: [DebugInfo][InstrRef] Describe value sizes when spilt to stack.
Apr 12 2022, 5:50 AM · Restricted Project, Restricted Project

Apr 6 2022

jmorse committed rGfb6596f1ecab: [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes (authored by jmorse).
[DebugInfo][InstrRef] Avoid a crash from mixed variable location modes
Apr 6 2022, 3:56 AM · Restricted Project, Restricted Project
jmorse closed D123033: [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes.
Apr 6 2022, 3:56 AM · Restricted Project, Restricted Project
jmorse added a comment to D123033: [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes.

Dropping in with the addition of a null-check in SelectionDAGISel::SelectAllBasicBlocks, not all targets actaully create a FastISel instance when createFastISel is called.

Apr 6 2022, 3:49 AM · Restricted Project, Restricted Project

Apr 4 2022

jmorse added a reverting change for rG059d1f84d2d5: [DebugInfo] Correctly recognize bitfields when emitting dwarf: rG920de9c94caf: Revert "[DebugInfo] Correctly recognize bitfields when emitting dwarf".
Apr 4 2022, 9:16 AM · Restricted Project, Restricted Project
jmorse committed rG920de9c94caf: Revert "[DebugInfo] Correctly recognize bitfields when emitting dwarf" (authored by jmorse).
Revert "[DebugInfo] Correctly recognize bitfields when emitting dwarf"
Apr 4 2022, 9:16 AM · Restricted Project, Restricted Project
jmorse added a reverting change for D96334: Correctly recognize bitfields when emitting dwarf: rG920de9c94caf: Revert "[DebugInfo] Correctly recognize bitfields when emitting dwarf".
Apr 4 2022, 9:16 AM · Restricted Project, Restricted Project
jmorse requested review of D123033: [DebugInfo][InstrRef] Avoid a crash from mixed variable location modes.
Apr 4 2022, 7:53 AM · Restricted Project, Restricted Project
jmorse added a comment to D96334: Correctly recognize bitfields when emitting dwarf.

Green dragon mailed me a test failure:

Apr 4 2022, 5:45 AM · Restricted Project, Restricted Project
jmorse committed rG059d1f84d2d5: [DebugInfo] Correctly recognize bitfields when emitting dwarf (authored by jmorse).
[DebugInfo] Correctly recognize bitfields when emitting dwarf
Apr 4 2022, 3:15 AM · Restricted Project, Restricted Project
jmorse closed D96334: Correctly recognize bitfields when emitting dwarf.
Apr 4 2022, 3:14 AM · Restricted Project, Restricted Project

Apr 1 2022

Herald added a project to D96334: Correctly recognize bitfields when emitting dwarf: Restricted Project.

This has come up on my radar, still applies cleanly, and passes all the debug-info tests. I'm out of time in my timezone, but without objection will commit next week (unless someone else gets there first).

Apr 1 2022, 10:27 AM · Restricted Project, Restricted Project

Mar 17 2022

jmorse committed rG12a2f7494e74: [DebugInfo][InstrRef] Prefer stack locations for variables (authored by jmorse).
[DebugInfo][InstrRef] Prefer stack locations for variables
Mar 17 2022, 7:26 AM · Restricted Project
jmorse closed D120732: [DebugInfo][InstrRef] Prefer stack locations for variables over restored registers.
Mar 17 2022, 7:26 AM · Restricted Project, Restricted Project

Mar 4 2022

jmorse committed rG0e96d95d13d9: [DebugInfo][InstrRef] Accept register-reads after isel in any block (authored by jmorse).
[DebugInfo][InstrRef] Accept register-reads after isel in any block
Mar 4 2022, 9:01 AM · Restricted Project
jmorse closed D121001: [DebugInfo][instr-ref] Accept register-reads after isel in any block.
Mar 4 2022, 9:01 AM · Restricted Project, Restricted Project
jmorse requested review of D121001: [DebugInfo][instr-ref] Accept register-reads after isel in any block.
Mar 4 2022, 8:25 AM · Restricted Project, Restricted Project

Mar 1 2022

Herald added a project to D120732: [DebugInfo][InstrRef] Prefer stack locations for variables over restored registers: Restricted Project.

A sample of things are D63083, https://bugs.llvm.org/show_bug.cgi?id=40188#c8 , D61940. Although looking back, they all appear to be about not making complicated location-list entries in the prologue, rather than the epilogue.

Mar 1 2022, 3:15 PM · Restricted Project, Restricted Project
jmorse updated the diff for D120732: [DebugInfo][InstrRef] Prefer stack locations for variables over restored registers.

(Remembering to upload the modified tests this time)

Mar 1 2022, 7:45 AM · Restricted Project, Restricted Project
jmorse requested review of D120732: [DebugInfo][InstrRef] Prefer stack locations for variables over restored registers.
Mar 1 2022, 7:45 AM · Restricted Project, Restricted Project
jmorse committed rGab49dce01f21: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers (authored by jmorse).
[DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers
Mar 1 2022, 4:50 AM
jmorse closed D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.
Mar 1 2022, 4:50 AM · Restricted Project

Feb 28 2022

jmorse added inline comments to D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.
Feb 28 2022, 7:25 AM · Restricted Project
jmorse updated the diff for D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.

clang-format and downgrade arguments to "process" to being ValueTable pointers -- no need to pass in the whole UniquePtr. Add const too.

Feb 28 2022, 7:25 AM · Restricted Project

Feb 23 2022

jmorse added inline comments to D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.
Feb 23 2022, 9:19 AM · Restricted Project
jmorse updated the diff for D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.

Switch to passing an empty unique_ptr for value table arguments, instead of an optional raw pointer to a unique_ptr. This avoids un-necessary raw pointer usage.

Feb 23 2022, 9:14 AM · Restricted Project

Feb 21 2022

jmorse accepted D120238: [DebugInfo][test] XFAIL DebugInfo/Generic/no-empty-child-vars.ll on SPARC.

LGTM

Feb 21 2022, 2:19 AM · Restricted Project

Feb 11 2022

jmorse accepted D119545: [dexter] Don't generate results files by default.
Feb 11 2022, 7:42 AM · Restricted Project
jmorse added a comment to D119545: [dexter] Don't generate results files by default.

LGTM with query; More restructuring to avoid more indentation would be nice, but here we are ._.

Feb 11 2022, 6:50 AM · Restricted Project

Feb 10 2022

jmorse committed rG662799c8511d: [DebugInfo][InstrRef] Avoid duplicate instruction numbers in x86-lea-fixup (authored by jmorse).
[DebugInfo][InstrRef] Avoid duplicate instruction numbers in x86-lea-fixup
Feb 10 2022, 8:37 AM
jmorse closed D119232: [DebugInfo][InstrRef] Don't create duplicate instruction numbers in X86-fixup-LEAs.
Feb 10 2022, 8:37 AM · Restricted Project
jmorse committed rGbe5734ddaae3: [DebugInfo][InstrRef] Don't fire assertions if debug-info is faulty (authored by jmorse).
[DebugInfo][InstrRef] Don't fire assertions if debug-info is faulty
Feb 10 2022, 3:25 AM
jmorse closed D118998: [DebugInfo][InstrRef] Don't fire assertions if broken debug-info is seen.
Feb 10 2022, 3:25 AM · Restricted Project
jmorse added a comment to D118998: [DebugInfo][InstrRef] Don't fire assertions if broken debug-info is seen.

LGTM. Converting badly-formed variable locations into "no location" rather than crashing the compiler SGTM. Is it worth fixing the defect in the bug report too in a separate patch?

Feb 10 2022, 3:13 AM · Restricted Project

Feb 9 2022

jmorse accepted D118468: [cross-project-tests] XFAIL llgdb-tests when gdb can't read clang's DWARF.

LGTM

Feb 9 2022, 2:39 AM · debug-info, Restricted Project

Feb 8 2022

jmorse added inline comments to D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.
Feb 8 2022, 9:45 AM · Restricted Project
jmorse added a comment to D95617: [DWARF] Inlined variables with no location should not have a DW_TAG_variable.
In D95617#3300552, @ro wrote:

no-empty-child-vars.ll FAILs on SPARC: the first

; CHECK:     DW_TAG_subprogram
; CHECK:       DW_AT_abstract_origin (0x{{[0-9a-f]*}} "foo")

is missing completely and both qux and croix lack DW_TAG_inlined_subroutine.

Any suggestion what to do about this?

Feb 8 2022, 5:28 AM · Restricted Project
jmorse requested review of D119232: [DebugInfo][InstrRef] Don't create duplicate instruction numbers in X86-fixup-LEAs.
Feb 8 2022, 4:16 AM · Restricted Project

Feb 7 2022

jmorse accepted D119122: [DebugInfo][test] XFAIL DebugInfo/Generic/missing-abstract-variable.ll on SPARC.

LGTM, given the long list of other XFails.

Feb 7 2022, 3:31 AM · Restricted Project
jmorse added a comment to D118468: [cross-project-tests] XFAIL llgdb-tests when gdb can't read clang's DWARF.

SGTM with a couple of nits. From the discussion on discourse, I think it's a deliberate choice that there's going to be incompatible configurations out there, in which case as you say the least-worst-option is xfailing these tests.

Feb 7 2022, 3:21 AM · debug-info, Restricted Project

Feb 4 2022

jmorse requested review of D118998: [DebugInfo][InstrRef] Don't fire assertions if broken debug-info is seen.
Feb 4 2022, 7:30 AM · Restricted Project

Feb 3 2022

jmorse added inline comments to D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.
Feb 3 2022, 6:14 AM · Restricted Project
jmorse updated the diff for D118774: [DebugInfo][InstrRef][NFC] Use unique_ptr instead of raw pointers for value tables.

Jeremy's journey:

  • Orlando: "This allocation/free code looks sketchy now,"
  • dblaikie: "You should use std::unique_ptr!,"
  • asan buildbots: "YOU SHOULD REALLY USE STD::UNIQUE_PTR"
Feb 3 2022, 6:04 AM · Restricted Project

Feb 2 2022

jmorse committed rG4654fa89eacc: Follow up to 6e03a68b776dc, squelch another leak (authored by jmorse).
Follow up to 6e03a68b776dc, squelch another leak
Feb 2 2022, 1:02 PM
jmorse added a comment to D116821: [DebugInfo][InstrRef] Move instr-ref controlling flag out of TargetOptions.

Sitrep: I've re-enabled instr-ref for x86_64 in rG6e03a68b776d. I believe all the issues reported here so far are fixed / optimised further, so I've filed a cherry-pick request in https://github.com/llvm/llvm-project/issues/53548 , which I believe is the correct procedure.

Feb 2 2022, 12:15 PM · Restricted Project, Restricted Project
jmorse committed rG6e03a68b776d: [DebugInfo] Re-enable instruction referencing for x86_64 (authored by jmorse).
[DebugInfo] Re-enable instruction referencing for x86_64
Feb 2 2022, 11:44 AM
jmorse committed rG206cafb680ce: Follow up to 9fd9d56dc6b, avoid a memory leak (authored by jmorse).
Follow up to 9fd9d56dc6b, avoid a memory leak
Feb 2 2022, 8:01 AM
jmorse committed rG43de305704a5: [DebugInfo][InstrRef] Fix a tombstone-in-DenseMap crash from D117877 (authored by jmorse).
[DebugInfo][InstrRef] Fix a tombstone-in-DenseMap crash from D117877
Feb 2 2022, 7:09 AM
jmorse closed D118715: [DebugInfo][InstrRef] Fix a tombstone-in-DenseMap crash from D117877.
Feb 2 2022, 7:09 AM · Restricted Project
jmorse added a comment to D118715: [DebugInfo][InstrRef] Fix a tombstone-in-DenseMap crash from D117877.

Is there any particular reason that the undef value test couldn't exist within the original function, or are they separated to look cleaner? YMMV and I don't feel strongly either way, so LGTM.

Feb 2 2022, 6:39 AM · Restricted Project
jmorse committed rG9fd9d56dc6bd: [DebugInfo][InstrRef][NFC] Use depth-first scope search for variable locs (authored by jmorse).
[DebugInfo][InstrRef][NFC] Use depth-first scope search for variable locs
Feb 2 2022, 6:10 AM
jmorse closed D118460: [DebugInfo][InstrRef] Use a depth-first search to reduce the lifetime of tracking information.
Feb 2 2022, 6:10 AM · Restricted Project