rob.lougher (Robert Lougher)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 5 2014, 7:02 AM (189 w, 5 d)

Recent Activity

Feb 23 2018

rob.lougher added a comment to D43643: [RFC] Sceptre a Spectre variant 1 detector.

This is cut and pasted from an email reply as it's not showing up after over 2 hours...

Feb 23 2018, 12:10 PM

Feb 22 2018

rob.lougher updated the summary of D43643: [RFC] Sceptre a Spectre variant 1 detector.
Feb 22 2018, 12:46 PM
rob.lougher updated the summary of D43643: [RFC] Sceptre a Spectre variant 1 detector.
Feb 22 2018, 12:44 PM
rob.lougher created D43643: [RFC] Sceptre a Spectre variant 1 detector.
Feb 22 2018, 12:42 PM

Sep 12 2017

rob.lougher added a comment to D37625: [DWARF] Incorrect prologue end line record..

This was reverted in r313057 as it was causing buildbot failure (lldb inline stepping tests).

Sep 12 2017, 11:44 AM

Aug 1 2017

rob.lougher updated the diff for D35953: [LiveDebugVariables] Use lexical scope to trim debug value live intervals.

Address review comments. Now enabled for non-inlined variables. This required fixing a test to make it more resilient (it checks that we get the expected number of debug values, but was also enforcing a specific order). I've also changed where the LexicalScopes are generated, as they're only needed when computing the intervals.

Aug 1 2017, 11:45 AM

Jul 27 2017

rob.lougher created D35953: [LiveDebugVariables] Use lexical scope to trim debug value live intervals.
Jul 27 2017, 11:37 AM

Feb 10 2017

rob.lougher edited reviewers for D29833: Improve the API of DILocation::getMergedLocation(), added: rob.lougher; removed: dblaikie.
Feb 10 2017, 10:20 AM

Jan 12 2017

rob.lougher added a comment to D28521: [DebugInfo] Handle same locations in DILocation::getMergedLocation.

Added a couple of inline comments. LGTM with these changes applied.

Jan 12 2017, 5:49 PM

Jan 10 2017

rob.lougher retitled D28521: [DebugInfo] Handle same locations in DILocation::getMergedLocation from to [DebugInfo] Handle same locations in DILocation::getMergedLocation.
Jan 10 2017, 11:25 AM

Dec 15 2016

rob.lougher added a comment to D27590: [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction.

LGTM too, FWIW!

Dec 15 2016, 8:26 AM

Dec 13 2016

rob.lougher added a comment to D26256: [InstCombine] Don't set debug location when folding through a phi node.

Ping. Adrian, are you happy with this revision?

Dec 13 2016, 10:42 AM

Dec 9 2016

rob.lougher added a comment to D27590: [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction.
Dec 9 2016, 4:38 AM

Dec 8 2016

rob.lougher updated D27590: [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction.
Dec 8 2016, 1:43 PM
rob.lougher added a dependency for D27590: [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction: D26256: [InstCombine] Don't set debug location when folding through a phi node.
Dec 8 2016, 1:41 PM
rob.lougher added a dependent revision for D26256: [InstCombine] Don't set debug location when folding through a phi node: D27590: [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction.
Dec 8 2016, 1:41 PM
rob.lougher retitled D27590: [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction from to [SimplifyCFG] In sinkLastInstruction correctly set the debug location of the "common" instruction.
Dec 8 2016, 1:40 PM

Dec 6 2016

rob.lougher updated the diff for D26256: [InstCombine] Don't set debug location when folding through a phi node.

I have updated the patch to add a new API for merging debug locations. As explained in the comments, the API is currently a stub which simply uses an empy location.

Dec 6 2016, 10:53 AM

Nov 21 2016

rob.lougher added a comment to D26256: [InstCombine] Don't set debug location when folding through a phi node.

Just a quick note to say I haven't forgotten about this.

Nov 21 2016, 7:52 AM

Nov 11 2016

rob.lougher retitled D26554: [LoopVectorizer] When estimating register usage, unused instructions may "end" another use. from to [LoopVectorizer] When estimating register usage, unused instructions may "end" another use..
Nov 11 2016, 12:24 PM

Nov 9 2016

rob.lougher added a comment to D26256: [InstCombine] Don't set debug location when folding through a phi node.

Thanks for all the comments. I'm away for the next couple of days - I'll check back on Monday.

Nov 9 2016, 5:43 PM
rob.lougher added a comment to D26256: [InstCombine] Don't set debug location when folding through a phi node.

No update. I looked into handling the single line if-then-else case and concluded it was not easy (as Dehao says at this stage you do not know the maximum discriminator value, without redoing the work of AddDiscriminators). As others want the patch could I add a TODO for now?

Nov 9 2016, 9:48 AM

Nov 2 2016

rob.lougher added a comment to D26256: [InstCombine] Don't set debug location when folding through a phi node.

Shouldn't it only drop the location if the two locations are distinct (and perhaps add a discriminator)?

Nov 2 2016, 1:24 PM
rob.lougher added a comment to D26256: [InstCombine] Don't set debug location when folding through a phi node.

Shouldn't it only drop the location if the two locations are distinct (and perhaps add a discriminator)?

Nov 2 2016, 1:19 PM
rob.lougher retitled D26256: [InstCombine] Don't set debug location when folding through a phi node from to [InstCombine] Don't set debug location when folding through a phi node.
Nov 2 2016, 12:29 PM

Oct 25 2016

rob.lougher added a comment to D25742: Remove debug location from common tail when tail-merging.

I've had to revert this as it caused a ubsan test to unexpectedly fail (vptr.cpp). As I don't know much about these tests I need to do some investigation into the failure. I suspect the test was reliant on a debug location from a common-tail.

Oct 25 2016, 1:33 PM
rob.lougher added a comment to D25742: Remove debug location from common tail when tail-merging.

ping...

Oct 25 2016, 9:50 AM

Oct 18 2016

rob.lougher added a comment to D25742: Remove debug location from common tail when tail-merging.

This approach seems generally fine, but I have one question:

If the code were on a single line, and both locations share a common ancestor scope, it seems make sense to create a new location using the common ancestor scope and line and only remove the column information.

That would collapse the if-then-else into (effectively) a single statement. That probably works okay for a debugger but not profiling, which still wants to treat the then/else as distinct. And, after the tail merging, the tails are no longer distinct.

I'm not sure I understand your point. How is having an orphaned add instruction preferable over having it associated with the collapsed if-then-else statement? Wouldn't I want that instruction to be counted towards the line?

No, the profiler wants to assign sample counts to each block individually. By giving each block the same source attribution, you assert that they have the same profiles. That's unlikely to be true in practice. Really what happens is that the sample counts would be assigned to the parent block, which doesn't help the profiler sort out what to do with the nested blocks.

Admittedly, zapping the source attribution on the merged (parts of the) blocks doesn't let you attribute those counts to *any* block, but at least you aren't attributing counts incorrectly.

Oct 18 2016, 7:03 PM
rob.lougher retitled D25742: Remove debug location from common tail when tail-merging from to Remove debug location from common tail when tail-merging.
Oct 18 2016, 11:33 AM

Jul 6 2016

rob.lougher updated subscribers of D22038: [X86] Transform zext+seteq+cmp into shr+lzcnt on btver2 architecture..
Jul 6 2016, 10:54 AM

Apr 29 2016

rob.lougher added a comment to D16298: Improve test coverage of -Wdouble-promotion.

No problem. Thanks for the code review.

Apr 29 2016, 10:44 AM

Apr 28 2016

rob.lougher added a comment to D16298: Improve test coverage of -Wdouble-promotion.

Ping.

Apr 28 2016, 10:23 AM

Mar 3 2016

rob.lougher added a comment to D16298: Improve test coverage of -Wdouble-promotion.

Ping. Please can somebody review this? Thanks!

Mar 3 2016, 5:44 AM

Feb 23 2016

rob.lougher added a comment to D16298: Improve test coverage of -Wdouble-promotion.

Ping. Just test changes - OK to commit?

Feb 23 2016, 5:00 AM

Jan 27 2016

rob.lougher added a comment to D16298: Improve test coverage of -Wdouble-promotion.

Ping.

Jan 27 2016, 3:32 AM

Jan 18 2016

rob.lougher retitled D16298: Improve test coverage of -Wdouble-promotion from to Improve test coverage of -Wdouble-promotion.
Jan 18 2016, 10:06 AM

Jan 12 2016

rob.lougher added a comment to D16067: Redundant vmov instruction generated with vcvtph2ps.

Hi Quentin,

Jan 12 2016, 3:50 AM

Jan 11 2016

rob.lougher added a comment to D16057: [SROA] Fix for PR25873: Pre-splitting should always preserve the partition structure..

Looks to be a typo - it's PR25873.

Jan 11 2016, 12:50 PM
rob.lougher retitled D16067: Redundant vmov instruction generated with vcvtph2ps from to Redundant vmov instruction generated with vcvtph2ps.
Jan 11 2016, 7:50 AM
rob.lougher updated subscribers of D16057: [SROA] Fix for PR25873: Pre-splitting should always preserve the partition structure..
Jan 11 2016, 7:34 AM

Dec 9 2015

rob.lougher added inline comments to D15330: Fix cycle in selection DAG introduced by extractelement legalization.
Dec 9 2015, 2:52 AM
rob.lougher updated the diff for D15330: Fix cycle in selection DAG introduced by extractelement legalization.

Updated patch to use hasPredecessorHelper.

Dec 9 2015, 2:48 AM

Dec 8 2015

rob.lougher added a comment to D15330: Fix cycle in selection DAG introduced by extractelement legalization.

Thanks for the review! Yes, I can use hasPredecessorHelper, which should make it less expensive when there is more than one store to check. I'll post an updated patch...

Dec 8 2015, 4:09 PM
rob.lougher updated D15330: Fix cycle in selection DAG introduced by extractelement legalization.
Dec 8 2015, 4:35 AM
rob.lougher updated D15330: Fix cycle in selection DAG introduced by extractelement legalization.
Dec 8 2015, 4:34 AM
rob.lougher retitled D15330: Fix cycle in selection DAG introduced by extractelement legalization from to Fix cycle in selection DAG introduced by extractelement legalization.
Dec 8 2015, 4:32 AM

Nov 4 2015

rob.lougher accepted D13988: [X86][SSE] Add general memory folding for (V)INSERTPS instruction.

Hi Simon,

Nov 4 2015, 7:44 AM
rob.lougher added a comment to D13988: [X86][SSE] Add general memory folding for (V)INSERTPS instruction.

Hi Simon,

Nov 4 2015, 6:48 AM
rob.lougher updated subscribers of D13988: [X86][SSE] Add general memory folding for (V)INSERTPS instruction.
Nov 4 2015, 4:39 AM

Oct 8 2015

rob.lougher updated subscribers of D13519: [MemCpyOpt] Fix wrong merging of adjacent nontemporal stores into memset calls..
Oct 8 2015, 6:51 AM

Aug 7 2015

rob.lougher updated the diff for D11686: [RegAlloc] Trace sibling copies when checking for rematerializability during spill weight calculation (PR24139).

Hi Quentin,

Aug 7 2015, 12:09 PM

Jul 31 2015

rob.lougher retitled D11686: [RegAlloc] Trace sibling copies when checking for rematerializability during spill weight calculation (PR24139) from to [RegAlloc] Trace sibling copies when checking for rematerializability during spill weight calculation (PR24139).
Jul 31 2015, 11:49 AM

Mar 13 2015

rob.lougher added a comment to D7566: [Reassociate] Add initial support for vector instructions..

I have reapplied the patch at revision 232209. Hopefully it will be OK this time!

Mar 13 2015, 1:56 PM
rob.lougher added a comment to D7566: [Reassociate] Add initial support for vector instructions..

I reverted the commit as it caused a couple of arm64 clang tests to fail. This was not expected to happen after a change to LLVM. Hopefully will be easy to fix and I'll resubmit on Monday.

Mar 13 2015, 12:32 PM

Mar 11 2015

rob.lougher added a comment to D7566: [Reassociate] Add initial support for vector instructions..

Hi Chad,

Mar 11 2015, 2:03 PM

Feb 23 2015

rob.lougher updated the diff for D7566: [Reassociate] Add initial support for vector instructions..

New version of the patch that addresses Sanjay's comments. Tests 3, 7, 9 and 11 now use double rather than float.

Feb 23 2015, 12:00 PM
rob.lougher added a comment to D7566: [Reassociate] Add initial support for vector instructions..

Thanks for the review Sanjay.

Feb 23 2015, 10:19 AM
rob.lougher added a comment to D7566: [Reassociate] Add initial support for vector instructions..

ping

Feb 23 2015, 8:39 AM

Feb 13 2015

rob.lougher updated the diff for D7566: [Reassociate] Add initial support for vector instructions..

Rebased the patch and added tests for 'or' and 'and' (previously these just showed that the operands were commuted - the tests now check that the expressions are optimized).

Feb 13 2015, 8:57 AM

Feb 12 2015

rob.lougher added reviewers for D7566: [Reassociate] Add initial support for vector instructions.: hfinkel, spatel.
Feb 12 2015, 4:06 AM

Feb 11 2015

rob.lougher retitled D7566: [Reassociate] Add initial support for vector instructions. from [Reassocate] Add initial support for vector instructions. to [Reassociate] Add initial support for vector instructions..
Feb 11 2015, 10:41 AM
rob.lougher updated D7566: [Reassociate] Add initial support for vector instructions..
Feb 11 2015, 10:06 AM
rob.lougher retitled D7566: [Reassociate] Add initial support for vector instructions. from to [Reassocate] Add initial support for vector instructions..
Feb 11 2015, 10:02 AM

Jan 29 2015

rob.lougher added a comment to D7226: [X86] Use single add/sub for large stack offsets.

Thanks for the review! Typo fixed, and committed in r227458.

Jan 29 2015, 8:23 AM
rob.lougher updated the diff for D7226: [X86] Use single add/sub for large stack offsets.

I have uploaded a new diff which hopefully addresses the inreg attribute issue. I have also updated the tests to include a test for it.

Jan 29 2015, 7:10 AM

Jan 28 2015

rob.lougher added inline comments to D7226: [X86] Use single add/sub for large stack offsets.
Jan 28 2015, 10:29 AM
rob.lougher added inline comments to D7226: [X86] Use single add/sub for large stack offsets.
Jan 28 2015, 9:53 AM
rob.lougher retitled D7226: [X86] Use single add/sub for large stack offsets from to [X86] Use single add/sub for large stack offsets.
Jan 28 2015, 8:29 AM