Page MenuHomePhabricator

jmorse (Jeremy Morse)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 19 2018, 2:57 AM (43 w, 6 d)

Recent Activity

Thu, Jan 17

jmorse updated the diff for D56788: [DebugInfo][InstCombine] Prefer salvaging dbg.values over sinking them.

Use an ArrayRef rather than a SmallVectorImpl

Thu, Jan 17, 5:54 AM
jmorse added a comment to D56793: [SelectionDAG] Updates for -dag-dump-verbose.

Hi Bjorn, this is highly useful and relevant to my interests,

Thu, Jan 17, 4:36 AM

Wed, Jan 16

jmorse committed rL351360: Add a REQUIRES: darwin line for a mac test..
Add a REQUIRES: darwin line for a mac test.
Wed, Jan 16, 9:45 AM
jmorse committed rC351360: Add a REQUIRES: darwin line for a mac test..
Add a REQUIRES: darwin line for a mac test.
Wed, Jan 16, 9:45 AM
jmorse committed rL351358: [DebugInfo] Allow creation of DBG_VALUEs in blocks where the operand is not used.
[DebugInfo] Allow creation of DBG_VALUEs in blocks where the operand is not used
Wed, Jan 16, 9:29 AM
jmorse closed D56678: [DebugInfo][DAG] Allow creation of DBG_VALUEs in blocks where the operand is not used.
Wed, Jan 16, 9:29 AM
jmorse added a comment to D56678: [DebugInfo][DAG] Allow creation of DBG_VALUEs in blocks where the operand is not used.

Thanks for the reviews,

Wed, Jan 16, 9:06 AM
jmorse created D56788: [DebugInfo][InstCombine] Prefer salvaging dbg.values over sinking them.
Wed, Jan 16, 8:42 AM
jmorse abandoned D54717: [WIP][DebugInfo] Use VReg users to find DBG_VALUEs for a value.

This was superseded by... well... trying to kill off collectDebugValues, basically. It's a general function that gets used in very specialised circumstances.

Wed, Jan 16, 7:55 AM
jmorse abandoned D54716: [WIP][DebugInfo] Allow MachineCopyPropagate to update DebugInfo RegUses.

This was superceeded by D56265.

Wed, Jan 16, 7:55 AM

Tue, Jan 15

jmorse updated the diff for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

clang-format-diff, whoops.

Tue, Jan 15, 9:18 AM
jmorse added inline comments to D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.
Tue, Jan 15, 9:10 AM
jmorse updated the diff for D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.

Shift DBG_VALUE updating to a MachineRegisterInfo helper

Tue, Jan 15, 9:09 AM
jmorse updated the diff for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Trim and revise MIR test as per Björn's comments.

Tue, Jan 15, 8:40 AM

Mon, Jan 14

jmorse set the repository for D56678: [DebugInfo][DAG] Allow creation of DBG_VALUEs in blocks where the operand is not used to rL LLVM.
Mon, Jan 14, 11:03 AM
jmorse created D56678: [DebugInfo][DAG] Allow creation of DBG_VALUEs in blocks where the operand is not used.
Mon, Jan 14, 10:57 AM
jmorse added inline comments to D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.
Mon, Jan 14, 8:59 AM
jmorse added inline comments to D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.
Mon, Jan 14, 7:35 AM
jmorse updated the diff for D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.

Revise a comment (missed in previous rev, whoops)

Mon, Jan 14, 7:10 AM
jmorse updated the diff for D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.

Use enumeration and explicit function arguments to disambiguate debug and regular register readers

Mon, Jan 14, 7:08 AM
jmorse added inline comments to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.
Mon, Jan 14, 4:32 AM
jmorse updated the diff for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Revise comment for mergeChangesDbgValue

Mon, Jan 14, 4:29 AM
jmorse committed rL351058: [DebugInfo] Remove un-necessary logic from HoistThenElseCodeToIf.
[DebugInfo] Remove un-necessary logic from HoistThenElseCodeToIf
Mon, Jan 14, 4:17 AM
jmorse closed D55272: [DebugInfo] Remove now un-necessary logic from HoistThenElseCodeToIf.
Mon, Jan 14, 4:17 AM

Fri, Jan 11

jmorse added a comment to D55272: [DebugInfo] Remove now un-necessary logic from HoistThenElseCodeToIf.

NB, speaking directly to Carlos yesterday he approved of the cleanup. I'll likely land this today or Monday.

Fri, Jan 11, 6:03 AM

Fri, Jan 4

jmorse added inline comments to D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.
Fri, Jan 4, 3:48 AM
jmorse updated the diff for D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.

Pass MI reference to ReadRegister, avoiding the need for more assertions.

Fri, Jan 4, 3:48 AM
jmorse updated the diff for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Here's a further revision. Two significant changes:

  • Because DBG_VALUEs of either the source or destination register can be resurrected by coalescing, check both,
  • There's now no attempt to check whether the two registers refer to the same value number.
Fri, Jan 4, 3:30 AM

Thu, Jan 3

jmorse planned changes to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

On the topic of coalescing physical registers, it appears the liveness test is well defined in joinReservedPhysReg. However while absorbing all of this, I've realised that dead DBG_VALUEs of both src and dst registers can be resurrected when their intervals are joined. I'll attempt to generalise further...

Thu, Jan 3, 8:08 AM
jmorse created D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.
Thu, Jan 3, 4:35 AM
jmorse added a comment to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Thanks for the review,

Thu, Jan 3, 3:28 AM

Sat, Dec 29

jmorse updated the diff for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Target only DBG_VALUEs that are definitely resurrected with a different def by register coalescing.

Sat, Dec 29, 12:53 PM
jmorse planned changes to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Hmmm. In retrospect, aiming to cover all cases where there's a def of the dest-reg in between the last src-def and the DBG_VALUE means considering control flow, which I haven't done.

Sat, Dec 29, 12:08 PM
jmorse created D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.
Sat, Dec 29, 10:12 AM

Dec 10 2018

jmorse committed rL348753: [DebugInfo] Don't drop dbg.value's of nullptr.
[DebugInfo] Don't drop dbg.value's of nullptr
Dec 10 2018, 4:09 AM
jmorse closed D55227: [DebugInfo] Don't drop dbg.value's of nullptr.
Dec 10 2018, 4:08 AM
jmorse added inline comments to D55227: [DebugInfo] Don't drop dbg.value's of nullptr.
Dec 10 2018, 3:42 AM
jmorse committed rL348751: [DebugInfo] Emit undef DBG_VALUEs when SDNodes are optimised out.
[DebugInfo] Emit undef DBG_VALUEs when SDNodes are optimised out
Dec 10 2018, 3:24 AM
jmorse closed D55372: [DebugInfo] Emit "undef" DBG_VALUEs when SDNodes are optimised out.
Dec 10 2018, 3:23 AM

Dec 7 2018

jmorse added inline comments to D55227: [DebugInfo] Don't drop dbg.value's of nullptr.
Dec 7 2018, 4:28 AM
jmorse updated the diff for D55227: [DebugInfo] Don't drop dbg.value's of nullptr.

Correct a comment, whoops.

Dec 7 2018, 4:21 AM
jmorse updated the diff for D55227: [DebugInfo] Don't drop dbg.value's of nullptr.

Remove address-space-zero filter on emitting zero-bit-value nulls

Dec 7 2018, 4:20 AM
jmorse updated the diff for D55372: [DebugInfo] Emit "undef" DBG_VALUEs when SDNodes are optimised out.

In a test, alter the fragment that two dbg.values refer to. I believe they were incorrect in the first place but silently ignored.

Dec 7 2018, 3:59 AM
jmorse added inline comments to D55372: [DebugInfo] Emit "undef" DBG_VALUEs when SDNodes are optimised out.
Dec 7 2018, 3:56 AM

Dec 6 2018

jmorse updated the diff for D55372: [DebugInfo] Emit "undef" DBG_VALUEs when SDNodes are optimised out.

Un-WIPed this revision which should be ready for review now: added llvm-commits, reviewers, and the like.

Dec 6 2018, 10:06 AM
jmorse created D55372: [DebugInfo] Emit "undef" DBG_VALUEs when SDNodes are optimised out.
Dec 6 2018, 7:46 AM

Dec 5 2018

jmorse added a comment to D55299: [LoopDeletion] Update debug values after loop deletion..

Looks good; one observation is that if we have N dbg.value's of a variable, we'll end up with N dbg.value(undef)'s of that variable in the output. Ideally we'd only emit one per variable.

Dec 5 2018, 5:37 AM

Dec 4 2018

jmorse updated the diff for D55272: [DebugInfo] Remove now un-necessary logic from HoistThenElseCodeToIf.

Revise comment

Dec 4 2018, 10:14 AM
jmorse created D55272: [DebugInfo] Remove now un-necessary logic from HoistThenElseCodeToIf.
Dec 4 2018, 7:51 AM
jmorse added inline comments to D55227: [DebugInfo] Don't drop dbg.value's of nullptr.
Dec 4 2018, 1:58 AM

Dec 3 2018

jmorse created D55227: [DebugInfo] Don't drop dbg.value's of nullptr.
Dec 3 2018, 10:39 AM

Nov 28 2018

jmorse committed rL347782: [DebugInfo] Give inlinable calls DILocs (PR39807).
[DebugInfo] Give inlinable calls DILocs (PR39807)
Nov 28 2018, 10:01 AM
jmorse closed D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.
Nov 28 2018, 10:01 AM
jmorse added a comment to D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.

Many thanks for the reviews, all.

Nov 28 2018, 9:15 AM
jmorse added inline comments to D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.
Nov 28 2018, 7:53 AM
jmorse updated the diff for D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.

Simplify DebugLoc assignment, correct a comment

Nov 28 2018, 7:48 AM
jmorse added inline comments to D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.
Nov 28 2018, 7:16 AM
jmorse updated the diff for D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.

Always assign merged location to merged terminator; update merged phi's to use the selected DebugLoc or nothing.

Nov 28 2018, 7:10 AM
jmorse added inline comments to D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.
Nov 28 2018, 4:31 AM
jmorse updated the diff for D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.

Update makes this clang-format compliant

Nov 28 2018, 4:04 AM
jmorse created D54997: [DebugInfo] PR39807: Create unknown locations when hoisting to locationless blocks.
Nov 28 2018, 4:01 AM

Nov 19 2018

jmorse created D54717: [WIP][DebugInfo] Use VReg users to find DBG_VALUEs for a value.
Nov 19 2018, 11:55 AM
jmorse created D54716: [WIP][DebugInfo] Allow MachineCopyPropagate to update DebugInfo RegUses.
Nov 19 2018, 11:31 AM
jmorse created D54715: [WIP][DebugInfo] Distinguish reads/writes of VRegs when creating debug SDNodes.
Nov 19 2018, 11:13 AM
jmorse created D54712: [WIP][DebugInfo] Fix SelectionDAGs placement of phi-reading dbg.values.
Nov 19 2018, 10:24 AM

Nov 2 2018

jmorse committed rL345996: [MachineSink][DebugInfo] Correctly sink DBG_VALUEs.
[MachineSink][DebugInfo] Correctly sink DBG_VALUEs
Nov 2 2018, 9:57 AM
jmorse closed D53992: [DebugInfo] Correctly sink DBG_VALUEs in postra-machine-sink.
Nov 2 2018, 9:56 AM
jmorse added a comment to D53992: [DebugInfo] Correctly sink DBG_VALUEs in postra-machine-sink.

Presumably this addresses the bad debugging experience for the sample from the PR; does it have any other good/bad effect on the Dexter corpus?

Nov 2 2018, 8:34 AM
jmorse updated the diff for D53992: [DebugInfo] Correctly sink DBG_VALUEs in postra-machine-sink.

Rewrite comments, use DenseMap<u, TinyPtrVector> instead of multimap

Nov 2 2018, 8:11 AM

Nov 1 2018

jmorse added a comment to D53992: [DebugInfo] Correctly sink DBG_VALUEs in postra-machine-sink.

Because it's not completely clear in the summary: the reliance on DBG_VALUEs following the insn being sunk is caused by performSink's use of MachineInstr::collectDebugValues

Nov 1 2018, 12:53 PM
jmorse created D53992: [DebugInfo] Correctly sink DBG_VALUEs in postra-machine-sink.
Nov 1 2018, 12:45 PM

Oct 1 2018

jmorse created D52728: [XRay] Remove a path-length limitation .
Oct 1 2018, 9:02 AM

Sep 28 2018

jmorse closed D52599: [XRay] Reduce overly broad 'rm' command in lit test.

Fixed concurrently by r343282!

Sep 28 2018, 2:11 AM

Sep 27 2018

jmorse created D52599: [XRay] Reduce overly broad 'rm' command in lit test.
Sep 27 2018, 4:03 AM

Sep 21 2018

jmorse committed rCRT342720: [libfuzzer] Fix a test's run line.
[libfuzzer] Fix a test's run line
Sep 21 2018, 3:53 AM
jmorse committed rL342720: [libfuzzer] Fix a test's run line.
[libfuzzer] Fix a test's run line
Sep 21 2018, 3:53 AM
jmorse accepted D52330: SafeStack: Fix flaky test (PR39001).

LGTM -- obviously this isn't an ideal situation, but the pthreads/OS-threads abstraction isn't supposed to be un-peeled anyway.

Sep 21 2018, 3:15 AM

Aug 28 2018

jmorse added a watcher for debug-info: jmorse.
Aug 28 2018, 7:31 AM

Aug 13 2018

jmorse added a comment to D46866: [EarlyCSE] Avoid a poorly defined instruction comparison.

piny

Aug 13 2018, 1:46 AM
jmorse added a comment to D48072: Sema: Fix PR12350 destructor name lookup, addressing (some of) DR244.

ping

Aug 13 2018, 1:46 AM

Aug 3 2018

jmorse committed rL338841: [Windows FS] Allow moving files in TempFile::keep.
[Windows FS] Allow moving files in TempFile::keep
Aug 3 2018, 3:14 AM
jmorse closed D50048: [Windows FS] Allow moving files in TempFile::keep.
Aug 3 2018, 3:14 AM

Aug 1 2018

jmorse updated the diff for D50048: [Windows FS] Allow moving files in TempFile::keep.

This revision works just as well as the previous, but keeps "rename" behaving the same. Some future refactor could introduce a "move" function, this is the minimum change for now.

Aug 1 2018, 4:23 AM
jmorse added a comment to D50048: [Windows FS] Allow moving files in TempFile::keep.
In D50048#1183136, @pcc wrote:

But if we change the TempFile API so that it always creates the temporary in the same directory as the destination, that becomes a non-problem, no?

Aug 1 2018, 3:57 AM

Jul 31 2018

jmorse added a comment to D49860: [dsymutil] Simplify temporary file handling..

Thanks for the report, it looks like just adding the "copy between volumes" flag to windows' rename was insufficient -- a preceding rename attempt (with slightly different semantics) needs to fall through to it.

Jul 31 2018, 3:42 AM
jmorse created D50048: [Windows FS] Allow moving files in TempFile::keep.
Jul 31 2018, 3:39 AM

Jul 26 2018

jmorse added a comment to D49860: [dsymutil] Simplify temporary file handling..

That's 1 Unsupported 43 Passes (apparently I can't count).

Jul 26 2018, 9:47 AM
jmorse accepted D49860: [dsymutil] Simplify temporary file handling..

LGTM, I get 1 Unsupported (due to Darwin) and 44 successful passes when running lit over the dsymutil\X86\ tests, Windows 10 with a MSVC 2015 build environment. No failures.

Jul 26 2018, 9:45 AM

Jul 25 2018

jmorse closed D49730: Don't filter test-critical calls out of xray data.

Committed in r337929

Jul 25 2018, 8:31 AM
jmorse committed rL337929: [XRay tests] Don't filter test-critical calls.
[XRay tests] Don't filter test-critical calls
Jul 25 2018, 7:49 AM
jmorse committed rCRT337929: [XRay tests] Don't filter test-critical calls.
[XRay tests] Don't filter test-critical calls
Jul 25 2018, 7:49 AM

Jul 24 2018

jmorse added a comment to D49730: Don't filter test-critical calls out of xray data.

Hi Dean et al,

Jul 24 2018, 7:42 AM
jmorse created D49730: Don't filter test-critical calls out of xray data.
Jul 24 2018, 7:40 AM

Jul 19 2018

jmorse added a comment to D46866: [EarlyCSE] Avoid a poorly defined instruction comparison.

ping @reames , does the inline comment clear up the question?

Jul 19 2018, 2:03 AM
jmorse added a comment to D48072: Sema: Fix PR12350 destructor name lookup, addressing (some of) DR244.

Ping

Jul 19 2018, 2:00 AM

Jul 2 2018

jmorse added a comment to D48072: Sema: Fix PR12350 destructor name lookup, addressing (some of) DR244.

Ping

Jul 2 2018, 10:07 AM

Jun 21 2018

jmorse added a comment to D48072: Sema: Fix PR12350 destructor name lookup, addressing (some of) DR244.

Ping

Jun 21 2018, 9:21 AM

Jun 19 2018

jmorse added a comment to D46866: [EarlyCSE] Avoid a poorly defined instruction comparison.

Add review response which (I think) clears up some confusion.

Jun 19 2018, 2:25 AM

Jun 12 2018

jmorse added a comment to D46866: [EarlyCSE] Avoid a poorly defined instruction comparison.

Ping, partially for rebase, mostly because the phab-workflow is unclear to me (see immediately previous comment).

Jun 12 2018, 3:53 AM
jmorse created D48072: Sema: Fix PR12350 destructor name lookup, addressing (some of) DR244.
Jun 12 2018, 3:45 AM