Page MenuHomePhabricator

jmorse (Jeremy Morse)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 19 2018, 2:57 AM (148 w, 4 d)

Recent Activity

Today

jmorse added a comment to D83890: [DebugInfo] Process DBG_VALUE_LIST in LiveDebugValues.

Paging @vsk -- it was a while ago, but do you still have the bitcode from D7406 handy, and would you have spare cycles to test it against this (combined patch in D94631)?

Fri, Jan 22, 7:51 AM · Restricted Project, debug-info
jmorse added inline comments to D94976: [DWARF] Create subprogram's DIE in the unit specified by its DISubprogram.
Fri, Jan 22, 6:09 AM · Restricted Project
jmorse updated the diff for D94976: [DWARF] Create subprogram's DIE in the unit specified by its DISubprogram.

Remove needless redirect of subprogram creation; add original compile commands to test case.

Fri, Jan 22, 6:08 AM · Restricted Project

Yesterday

jmorse added a comment to D94976: [DWARF] Create subprogram's DIE in the unit specified by its DISubprogram.

Responding to inline comment that's now sort-of-orphaned: calling back out to constructSubprogramDefinitionDIE sounds good, I've added that to DwarfUnit::getOrCreateContextDIE with a comment.

Thu, Jan 21, 7:36 AM · Restricted Project
jmorse updated the diff for D94976: [DWARF] Create subprogram's DIE in the unit specified by its DISubprogram.

Change interception of Subprogram creation to call back out to DwarfDebug instead of looking up CUs within DwarfUnit.

Thu, Jan 21, 7:26 AM · Restricted Project
jmorse updated the diff for D94976: [DWARF] Create subprogram's DIE in the unit specified by its DISubprogram.

Replace regression test with David's smaller test

Thu, Jan 21, 4:03 AM · Restricted Project

Wed, Jan 20

jmorse committed rGeff6e75c3f7c: [LLD][ELF] Correct test temporary file paths (authored by jmorse).
[LLD][ELF] Correct test temporary file paths
Wed, Jan 20, 3:46 AM

Tue, Jan 19

jmorse requested review of D94976: [DWARF] Create subprogram's DIE in the unit specified by its DISubprogram.
Tue, Jan 19, 9:12 AM · Restricted Project
jmorse accepted D94891: [Coroutine] Remain alignment information when merging frame variables.

LGTM with comments inline. While it's a simple fix, I'm not especially familiar with coroutines, so it'd be nice if someone else could chime in before landing.

Tue, Jan 19, 2:28 AM · Restricted Project
jmorse activated debug-info.
Tue, Jan 19, 2:13 AM

Mon, Jan 11

jmorse added inline comments to D90046: [LiveDebugValues] Handle spill locations with a fixed and scalable component..
Mon, Jan 11, 1:41 PM · Restricted Project

Tue, Jan 5

jmorse added a comment to D93662: [SimplifyCFG] Keep !dgb metadata of moved instruction, if they match..

This improvement looks good and preserves more source locations. Awkwardly, as @vsk says it's quite different from the other documented rules, because it relies on the context of where the instructions are going to be placed.

Tue, Jan 5, 6:47 AM · Restricted Project
jmorse committed rG914066fe38a9: [DebugInfo] Avoid LSR crash on large integer inputs (authored by jmorse).
[DebugInfo] Avoid LSR crash on large integer inputs
Tue, Jan 5, 2:27 AM
jmorse closed D94016: [DebugInfo] Avoid LSR crash on large integer inputs.
Tue, Jan 5, 2:27 AM · Restricted Project

Mon, Jan 4

jmorse requested review of D94016: [DebugInfo] Avoid LSR crash on large integer inputs.
Mon, Jan 4, 9:35 AM · Restricted Project

Dec 17 2020

jmorse committed rGdf2b9a3e02ca: [DebugInfo] Avoid re-ordering assignments in LCSSA (authored by n-omer).
[DebugInfo] Avoid re-ordering assignments in LCSSA
Dec 17 2020, 8:18 AM
jmorse closed D92576: Remove insertDebugValuesForPHIs() from LCSSA to prevent assignments from being reordered.
Dec 17 2020, 8:17 AM · Restricted Project, debug-info

Dec 16 2020

jmorse accepted D92576: Remove insertDebugValuesForPHIs() from LCSSA to prevent assignments from being reordered.

I wrote:

(Nabeel and I share a corporate overloard, we should leave this a little more time in case anyone else wants to chip in).

Dec 16 2020, 6:28 AM · Restricted Project, debug-info

Dec 14 2020

jmorse added a comment to D92576: Remove insertDebugValuesForPHIs() from LCSSA to prevent assignments from being reordered.

LGTM, although couldn't you also just swap the basictest.ll DEBUGIFY-NEXT to be a DEBUGIFY-NOT: call void @llvm.dbg.value and not add the extra test.

Dec 14 2020, 6:36 AM · Restricted Project, debug-info
jmorse accepted D90020: [AArch64][SVE] Emit DWARF location expression for SVE stack objects..

LGTM

Dec 14 2020, 6:24 AM · Restricted Project
jmorse accepted D90044: [AArch64][SVE] Emit DWARF location expr for SVE (dbg.declare).

LGTM

Dec 14 2020, 6:24 AM · Restricted Project

Dec 10 2020

jmorse added a comment to D92431: [SROA] Remove Dead Instructions while creating speculative instructions.

Could you upload the patch with context please, as it's easier to navigate the changes. Instructions can be found here: https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface

Dec 10 2020, 9:48 AM · Restricted Project

Dec 9 2020

jmorse added a comment to D86812: [DebugInstrRef][1/3] Track PHI values through register allocation.

'Tis the season to ping!

Dec 9 2020, 12:00 PM · Restricted Project
jmorse accepted D90046: [LiveDebugValues] Handle spill locations with a fixed and scalable component..

I guess that is possible. As long as both frame objects have the same Stack-ID, StackSlotColouring can merge them together. However, in that case, the sizes and offsets of those objects would both be scalable and comparing these sizes would be no different as they would be for non-scalable sizes.

Dec 9 2020, 2:53 AM · Restricted Project

Dec 8 2020

jmorse committed rGcda32aba4f46: [DebugInfo][Docs] Document MIR language debug-info constructs (authored by jmorse).
[DebugInfo][Docs] Document MIR language debug-info constructs
Dec 8 2020, 3:02 AM
jmorse closed D89337: [DebugInfo][Docs] Document MIR language debug-info constructs.
Dec 8 2020, 3:02 AM · Restricted Project
jmorse added a comment to D90046: [LiveDebugValues] Handle spill locations with a fixed and scalable component..

Ah, I hadn't quite lined up in my head that the offset scales as the stack grows downwards. With that in mind, I think this sounds safe -- the scalable part of the stack offset is opaque as far as LiveDebugValues is concerned, and we can just pass it around.

Dec 8 2020, 2:32 AM · Restricted Project

Dec 7 2020

jmorse accepted D87494: Improve LSR debug-info.

LGTM, this sounds like it works just as well as before, thanks for pursuing.

Dec 7 2020, 9:52 AM · Restricted Project, debug-info
jmorse added inline comments to D90020: [AArch64][SVE] Emit DWARF location expression for SVE stack objects..
Dec 7 2020, 8:02 AM · Restricted Project
jmorse added a comment to D90046: [LiveDebugValues] Handle spill locations with a fixed and scalable component..

Forgive my ignorance on scalable vectors; but is there definitely a scenario where the "Scalable" portion of the stack offset is nonzero, and if so could the test cover it please.

Dec 7 2020, 7:50 AM · Restricted Project
jmorse updated subscribers of D90020: [AArch64][SVE] Emit DWARF location expression for SVE stack objects..

(Responding to inline comments) I think the main concern with hard-coding registers in DIExpressions at this stage is that LLVM isn't able to identify when that register is clobbered later on, and terminate the variable location. However, as you say:

Dec 7 2020, 6:11 AM · Restricted Project
jmorse added a comment to D92013: [DebugInfo] Don't use DW_OP_implicit_value for fragments.

I'd like to chime in and point out a slightly related scenario [0] where we have to interpret a DIExpression to work out how adding operators is going to change the meaning of the expression. I believe in the long run we need metadata describing "the attributes of this variable location" rather than packing information into DIExpressions and having to interpret it.

Dec 7 2020, 3:38 AM · debug-info, Restricted Project

Dec 3 2020

jmorse added a comment to D84115: [Debuginfo][Codegen] (2/7) Support for DW_OP_implicit_pointer for named and unnamed variables (second strategy)..

A few more comments inline. I think everything in this patch works; there's still an open question in my mind of why we need to create the implicit variables so early, during instruction selection. Isn't it sufficient to leave a:

Dec 3 2020, 10:40 AM · debug-info, Restricted Project
jmorse added a comment to D84113: [Debuginfo] (1/7) [DW_OP_implicit_pointer/second strategy] Support for DW_OP_LLVM_implicit_pointer.

FTR, this LGTM

Dec 3 2020, 8:23 AM · Restricted Project, debug-info

Nov 26 2020

jmorse accepted D92127: [LiveDebugVariables] Strip all debug instructions from nodebug functions.

LGTM too

Nov 26 2020, 4:03 AM · Restricted Project

Nov 19 2020

jmorse added a comment to D82363: [DebugInfo] Add new instruction and expression operator for variadic debug values.

@StephenTozer what's the status of the latest discussions on this patch? As far as I understand it:

  • DBG_VALUE may go away, but that'll be in another patch,
  • There was some conclusion to whether all DBG_VALUE_LISTs should be stack_values too, can't remember what, on the mailing list,
  • This patch, adding the plumbing for the DBG_VALUE_LIST, would be ready to land.
Nov 19 2020, 9:22 AM · Restricted Project, debug-info
jmorse added inline comments to D91595: [Debugify] Support checking Machine IR debug info.
Nov 19 2020, 6:52 AM · Restricted Project

Nov 18 2020

jmorse updated the diff for D91648: [DebugInfo] Dexter tests for -debug-info-kind=constructor.

I tried running this patch on my machine though and the tests always pass (using llvm-lit) even if I change numbers, so I don't know if something's going on with the directory test format?

Nov 18 2020, 1:44 PM · Restricted Project
jmorse requested review of D91737: [Dexter] Avoid potentially infinite loop in dbgeng driver.
Nov 18 2020, 12:52 PM · Restricted Project

Nov 17 2020

jmorse requested review of D91648: [DebugInfo] Dexter tests for -debug-info-kind=constructor.
Nov 17 2020, 11:16 AM · Restricted Project
jmorse updated subscribers of D91595: [Debugify] Support checking Machine IR debug info.
Nov 17 2020, 3:29 AM · Restricted Project

Nov 13 2020

jmorse accepted D90852: [NFC][IntrRefLDV] Remove dead code from transferSpillOrRestoreInst().

LGTM; the point of the "Emulate VarLocBasedLDV" flag was to help prove that the overall algorithm matched what was already produced by LiveDebugValues. Seeing how the approach seems to be (broadly?) accepted / acceptable, it's to just ditch the flag altogether, it doesn't serve any purpose now IMO.

Nov 13 2020, 7:22 AM · Restricted Project, debug-info

Nov 6 2020

jmorse added a comment to D90772: [Coroutines] Add missing llvm.dbg.declare's to cover more allocas.

Hi Bruno,

Nov 6 2020, 12:06 PM · Restricted Project
jmorse accepted D90931: [debuginfo-tests] NFC: Move test that was committed to the wrong location.

Thanks for the catch!

Nov 6 2020, 5:22 AM · debug-info, Restricted Project

Nov 5 2020

jmorse updated subscribers of D90772: [Coroutines] Add missing llvm.dbg.declare's to cover more allocas.

bruno wrote:

That's a good question, I initially thought a dbg.declare dominating the BB in question would be enough, perhaps the debugging experts could help clarify what's going on.

Nov 5 2020, 9:10 AM · Restricted Project

Oct 28 2020

jmorse accepted D90309: [NFC][IntrRefLDV] Improve the Value printing.

LGTM, anything and everything in this vein much appreciated.

Oct 28 2020, 7:33 AM · debug-info, Restricted Project

Oct 27 2020

jmorse added inline comments to D88406: [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations.
Oct 27 2020, 6:24 AM · Restricted Project
jmorse updated the diff for D88896: [DebugInfo][InstrRef][3/4] Produce DBG_INSTR_REFs for all* variable locations.

(Rebase due to me fiddling with the signature of substituteDebugValuesForInst on master).

Oct 27 2020, 4:30 AM · Restricted Project
jmorse accepted D90155: [NFC][IntrRefLDV] Some code clean up.

LGTM; thanks for diving in!

Oct 27 2020, 4:08 AM · debug-info, Restricted Project

Oct 23 2020

jmorse committed rGb1b2c6ab667d: [DebugInstrRef] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues (authored by jmorse).
[DebugInstrRef] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues
Oct 23 2020, 8:38 AM
jmorse closed D85775: [DebugInstrRef][9/9] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues.
Oct 23 2020, 8:38 AM · Restricted Project
jmorse committed rG68f47157164e: [DebugInstrRef] Convert DBG_INSTR_REFs into variable locations (authored by jmorse).
[DebugInstrRef] Convert DBG_INSTR_REFs into variable locations
Oct 23 2020, 6:50 AM
jmorse closed D85771: [DebugInstrRef][8/9] Convert DBG_INSTR_REFs into variable locations.
Oct 23 2020, 6:50 AM · Restricted Project
jmorse updated the diff for D88891: [DebugInfo][InstrRef][1/4] Support transformations that widen or narrow defined values.

(rebase again to see if phab will accept more information about base commits and the like)

Oct 23 2020, 4:43 AM · Restricted Project
jmorse added a comment to D88891: [DebugInfo][InstrRef][1/4] Support transformations that widen or narrow defined values.

Sorry it took so long to get back to this,

Oct 23 2020, 4:42 AM · Restricted Project
jmorse updated the diff for D88891: [DebugInfo][InstrRef][1/4] Support transformations that widen or narrow defined values.

(Rebase now that I've dropped some "REQUIRES: X86" lines in the modified tests...)

Oct 23 2020, 4:33 AM · Restricted Project
jmorse committed rGab93e710652f: [DebugInstrRef] NFC: Separate collection of machine/variable values (authored by jmorse).
[DebugInstrRef] NFC: Separate collection of machine/variable values
Oct 23 2020, 3:13 AM
jmorse closed D85760: [DebugInstrRef][7/9] NFC: Separate collection of machine/variable values.
Oct 23 2020, 3:13 AM · Restricted Project

Oct 22 2020

jmorse added inline comments to D88406: [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations.
Oct 22 2020, 10:09 AM · Restricted Project
jmorse updated the diff for D88406: [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations.

Rebase to account for me gluing patch series together; one or two new code paths crop up where one has to decide whether to try and use an entry value OR register a debug use-before-def.

Oct 22 2020, 10:09 AM · Restricted Project
jmorse updated the diff for D88405: [LiveDebugValues][InstrRef][1/2] Try harder to recover clobbered variable locations.

Rebase onto existing patches to make this applicable through arc; one line marked "future work" in livedebugvalues_instrref_tolocs.mir now has a variable location, as this is the future work that implements it.

Oct 22 2020, 10:05 AM · Restricted Project
jmorse updated the diff for D86814: [DebugInstrRef][3/3] Follow DBG_PHI instructions through LiveDebugValues..

(Update for a conflict with current master)

Oct 22 2020, 9:10 AM · Restricted Project
jmorse added a comment to D85757: [DebugInstrRef][6/9] Pass DBG_INSTR_REFs safely through register allocation.

NB: I said in the test:

Oct 22 2020, 7:57 AM · Restricted Project
jmorse accepted D89941: [DebugInfo] Clear subreg in setDebugValueUndef().

LGTM, I agree the subregister index on any undef DBG_VALUE is meaningless.

Oct 22 2020, 7:55 AM · Restricted Project, debug-info
jmorse committed rG68ac02c0dd2b: [DebugInstrRef] Pass DBG_INSTR_REFs through register allocation (authored by jmorse).
[DebugInstrRef] Pass DBG_INSTR_REFs through register allocation
Oct 22 2020, 7:53 AM
jmorse closed D85757: [DebugInstrRef][6/9] Pass DBG_INSTR_REFs safely through register allocation.
Oct 22 2020, 7:53 AM · Restricted Project
jmorse committed rGe3c6b0f1514c: Limit debug instr-referencing tests to X86 (authored by jmorse).
Limit debug instr-referencing tests to X86
Oct 22 2020, 7:05 AM
jmorse added inline comments to D89337: [DebugInfo][Docs] Document MIR language debug-info constructs.
Oct 22 2020, 5:32 AM · Restricted Project
jmorse updated the diff for D89337: [DebugInfo][Docs] Document MIR language debug-info constructs.

(Revise to address comments)

Oct 22 2020, 5:31 AM · Restricted Project
jmorse committed rGcb668d2e76e7: Test I added requires X86 to be built. (authored by jmorse).
Test I added requires X86 to be built.
Oct 22 2020, 5:20 AM
jmorse committed rGd73275993bbc: [DebugInstrRef] Substitute debug value numbers to handle optimizations (authored by jmorse).
[DebugInstrRef] Substitute debug value numbers to handle optimizations
Oct 22 2020, 5:06 AM
jmorse closed D85756: [DebugInstrRef][5/9] Substitute debug value numbers to handle optimisations.
Oct 22 2020, 5:05 AM · Restricted Project

Oct 21 2020

jmorse committed rG537f0fbe8204: [DebugInfo] Follow up c521e44defb5 with an API improvement (authored by jmorse).
[DebugInfo] Follow up c521e44defb5 with an API improvement
Oct 21 2020, 6:46 AM

Oct 20 2020

jmorse added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

If an entry block with a predecessor is legal behaviour [...]

Oct 20 2020, 2:56 PM · Restricted Project
jmorse added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

Adding @jmorse in case D83046 is related.

Oct 20 2020, 2:48 PM · Restricted Project

Oct 19 2020

jmorse updated subscribers of D89485: [MachineOutliner] Do not outline debug instructions.

(Adding debug-info),

Oct 19 2020, 2:12 AM · Restricted Project

Oct 16 2020

jmorse added a comment to D89359: [llvm-cov] don't include all source files when provided source files are filtered out.

I've reverted this and the follow-up patch in rG0a7f41739fd994a50 as it continued to fail tools/llvm-cov/warnings.h on Windows-based platforms.

Oct 16 2020, 5:48 AM · Restricted Project
jmorse committed rG0a7f41739fd9: Revert "[llvm-cov] don't include all source files when provided source files… (authored by jmorse).
Revert "[llvm-cov] don't include all source files when provided source files…
Oct 16 2020, 5:46 AM

Oct 15 2020

jmorse committed rG5e656ee48bcc: Add "not" to an llvm-symbolizer test that expects to fail (authored by jmorse).
Add "not" to an llvm-symbolizer test that expects to fail
Oct 15 2020, 7:10 AM
jmorse added inline comments to rGc521e44defb5: [DebugInstrRef] Support recording of instruction reference substitutions.
Oct 15 2020, 6:03 AM
jmorse updated the diff for D85749: [DebugInstrRef][4/9] Support recording of instruction reference substitutions.

Updated patch, changes signature of substituteDebugValuesForInst to take a "number of operands to look at" argument, defaults to "all of them".

Oct 15 2020, 5:38 AM · Restricted Project
jmorse reopened D85749: [DebugInstrRef][4/9] Support recording of instruction reference substitutions.

After landing this, bkramer pointed out one of the assertions in substituteDebugValuesForInst was ineffective. Fixing that shows that some callers (see patch 5 in this series) do so with different instruction signatures (i.e., different types and different numbers of operands).

Oct 15 2020, 5:37 AM · Restricted Project
jmorse added a comment to D89454: Fix unused variable warning when compiling with asserts disabled..

Hrrmmm, that smells fishy; thanks for the warning sqelching, I'll follow it up.

Oct 15 2020, 3:59 AM · Restricted Project
jmorse added a comment to D82678: [CGP] Set debug locations when optimizing phi types.

The variable location changes LGTM, I otherwise defer to Djordje who's made a request.

Oct 15 2020, 3:55 AM · debug-info, Restricted Project
jmorse committed rGc521e44defb5: [DebugInstrRef] Support recording of instruction reference substitutions (authored by jmorse).
[DebugInstrRef] Support recording of instruction reference substitutions
Oct 15 2020, 3:31 AM
jmorse closed D85749: [DebugInstrRef][4/9] Support recording of instruction reference substitutions.
Oct 15 2020, 3:31 AM · Restricted Project

Oct 14 2020

jmorse added a comment to D86812: [DebugInstrRef][1/3] Track PHI values through register allocation.

ping; (also remove from summary the reference to additional tests needed, as these are now in the patch).

Oct 14 2020, 9:30 AM · Restricted Project
jmorse updated the summary of D86812: [DebugInstrRef][1/3] Track PHI values through register allocation.
Oct 14 2020, 9:29 AM · Restricted Project
jmorse committed rGc4e7857d4eac: [DebugInstrRef] Create DBG_INSTR_REFs in SelectionDAG (authored by jmorse).
[DebugInstrRef] Create DBG_INSTR_REFs in SelectionDAG
Oct 14 2020, 6:25 AM
jmorse closed D85747: [DebugInstrRef][3/9] Create DBG_INSTR_REFs in SelectionDAG.
Oct 14 2020, 6:25 AM · Restricted Project
jmorse committed rGabaa8706e944: Add x86 REQUIRES to tests from 2c5f3d54c5ee / D85746 (authored by jmorse).
Add x86 REQUIRES to tests from 2c5f3d54c5ee / D85746
Oct 14 2020, 3:38 AM
jmorse committed rG2c5f3d54c5ee: [DebugInstrRef] Parse debug instruction-references from/to MIR (authored by jmorse).
[DebugInstrRef] Parse debug instruction-references from/to MIR
Oct 14 2020, 2:58 AM
jmorse closed D85746: [DebugInstrRef][2/9] Parse debug instruction-references from/to MIR.
Oct 14 2020, 2:58 AM · Restricted Project

Oct 13 2020

jmorse requested review of D89337: [DebugInfo][Docs] Document MIR language debug-info constructs.
Oct 13 2020, 11:28 AM · Restricted Project

Oct 12 2020

jmorse added a reviewer for D82678: [CGP] Set debug locations when optimizing phi types: jmorse.

This completely fell off my radar sorry,

Oct 12 2020, 10:06 AM · debug-info, Restricted Project
jmorse added a comment to D88928: [Utils] Skip RemoveRedundantDbgInstrs in MergeBlockIntoPredecessor (PR47746).

Assuming I understand the history correctly, this patch in itself won't introduce any inaccuracy into debug-info, and has a motivating performance example, so LGTM.

Oct 12 2020, 7:17 AM · Restricted Project
jmorse accepted D89204: Make likelihood lit test less brittle.

This fixes things for us, and by limiting to one optimisation pass it's much less brittle for the future -- much appreciated!

Oct 12 2020, 3:28 AM · Restricted Project

Oct 8 2020

jmorse added a comment to D88363: [CodeGen] Improve likelihood attribute branch weights.

Can you explain the kind of issues you're having?

Oct 8 2020, 5:54 AM · Restricted Project

Oct 6 2020

jmorse requested review of D88898: [DebugInfo][InstrRef][4/4] Support using DBG_INSTR_REF through all* backend passes.
Oct 6 2020, 6:45 AM · Restricted Project
jmorse requested review of D88896: [DebugInfo][InstrRef][3/4] Produce DBG_INSTR_REFs for all* variable locations.
Oct 6 2020, 6:36 AM · Restricted Project