Page MenuHomePhabricator
Feed Advanced Search

Yesterday

jmorse added a comment to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

NB: I've written up a sort of broad-ish summary of what's wrong with the SelectionDAG scheduling of DBG_VALUEs in PR41583 [0], which IMO is the cause of the unfortunate variable-location droppage described above. I've got an additional patch that should go up tomorrow.

Wed, Apr 24, 9:30 AM

Mon, Apr 15

jmorse committed rG7a112c44ff41: [Docs] Switch a code block from LLVM to text (authored by jmorse).
[Docs] Switch a code block from LLVM to text
Mon, Apr 15, 3:25 AM
jmorse committed rL358391: [Docs] Switch a code block from LLVM to text.
[Docs] Switch a code block from LLVM to text
Mon, Apr 15, 3:25 AM
jmorse committed rG38c1bda9f640: [Docs] Correct some indentation muppetry that trips buildbots (authored by jmorse).
[Docs] Correct some indentation muppetry that trips buildbots
Mon, Apr 15, 3:04 AM
jmorse committed rL358388: [Docs] Correct some indentation muppetry that trips buildbots.
[Docs] Correct some indentation muppetry that trips buildbots
Mon, Apr 15, 3:03 AM
jmorse added a comment to D59790: [DebugInfo][Docs] Document how variable location metadata is transformed through target codegen.

Thanks for the all the reviews; still outstanding is the dbg.declares-get-stashed-in-MF-objects matter, which I'll generate a follow-up for.

Mon, Apr 15, 2:43 AM · Restricted Project
jmorse committed rG38803920c49c: [DebugInfo][Docs] Document variable location metadata transformations (authored by jmorse).
[DebugInfo][Docs] Document variable location metadata transformations
Mon, Apr 15, 2:42 AM
jmorse committed rL358385: [DebugInfo][Docs] Document variable location metadata transformations.
[DebugInfo][Docs] Document variable location metadata transformations
Mon, Apr 15, 2:42 AM
jmorse closed D59790: [DebugInfo][Docs] Document how variable location metadata is transformed through target codegen.
Mon, Apr 15, 2:42 AM · Restricted Project

Fri, Apr 12

jmorse committed rG32afe6a1f8a5: [DebugInfo] Fix pr41175 Dead Store Elimination missing debug loc (authored by jmorse).
[DebugInfo] Fix pr41175 Dead Store Elimination missing debug loc
Fri, Apr 12, 2:46 AM
jmorse committed rL358270: [DebugInfo] Fix pr41175 Dead Store Elimination missing debug loc.
[DebugInfo] Fix pr41175 Dead Store Elimination missing debug loc
Fri, Apr 12, 2:46 AM
jmorse closed D60556: [DebugInfo@O2] Fix pr41175 Dead Store Elimination missing debug loc.
Fri, Apr 12, 2:46 AM · Restricted Project, debug-info
jmorse added a comment to D60556: [DebugInfo@O2] Fix pr41175 Dead Store Elimination missing debug loc.

(I'll commit)

Fri, Apr 12, 2:11 AM · Restricted Project, debug-info

Tue, Apr 9

jmorse added inline comments to D59790: [DebugInfo][Docs] Document how variable location metadata is transformed through target codegen.
Tue, Apr 9, 4:49 AM · Restricted Project
jmorse updated the diff for D59790: [DebugInfo][Docs] Document how variable location metadata is transformed through target codegen.

Many thanks for the reviews, I've juggled the text in the first third in response to comments,

Tue, Apr 9, 4:49 AM · Restricted Project

Wed, Mar 27

jmorse added a comment to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Maybe ISel should have put the COPY to %0 after the last DBG_VALUE (now we got a dbg-use of %15 after the last non-dbg-use of %15). Or maybe it should have used %0 instead of %15 in that DBG_VALUE. Or maybe there should be one DBG_VALUE before the COPY using %15 and one after using %0.

Wed, Mar 27, 5:21 AM

Tue, Mar 26

jmorse accepted D59807: Fix nondeterminism introduced in r353954.

LGTM, many thanks for the find and fix!

Tue, Mar 26, 3:30 AM · Restricted Project

Mar 25 2019

jmorse added a comment to D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Ping on this -- I think we all agree that this is a part of a large issue (DBG_VALUEs of non-live variables), but this patch is a step in the right direction.

Mar 25 2019, 1:23 PM
jmorse created D59790: [DebugInfo][Docs] Document how variable location metadata is transformed through target codegen.
Mar 25 2019, 12:09 PM · Restricted Project
jmorse added a comment to D57694: [DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs.

Switching it to a MapVector makes it deterministic. I was just struggling late last night to try to reduce the .ll file down to something worth checking in! If you want to take over to minimize the test case, that would be much appreciated. Let me know so I can continue doing that if needed. Thanks.

Mar 25 2019, 8:39 AM · Restricted Project
jmorse added a comment to D59272: [DebugInfo] Select debug intrinsic line-numbers more carefully when promoting dbg.declare.

Isn't there a risk that this (partially) is hiding bugs in some other passes, where the DebugLoc is picked from the wrong place. I guess that either it should be picked from an adjacent non-meta instruction. Or it should be set to unknown.
With this patch we only eliminate the risk that the faulty passes are picking an "incorrect" DebugLoc from a dbg.value intrinsic (or DBG_VALUE instruction). But the "faulty" pass could still pick incorrect DebugLoc from other instructions, right? Or is it always correct to take the DebugLoc from all other non-dbg.value instructions, including all other kinds of meta-instructions?

Might be hard to find all such bugs. But with your known examples it shouldn't be too hard to find at least some places in opt/llc where the DebugLoc from the dbg.value is infecting some other instruction. Then perhaps we want to land this patch as well, just do avoid some not-yet-detected problems.

Mar 25 2019, 7:40 AM · Restricted Project
jmorse added a comment to D57694: [DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs.

This patch appears to generate non-reproducible builds in some cases. I can craft a more minimal test case, but the following link (https://godbolt.org/z/sWucUZ) is what I have been using. If I run Clang multiple times, the output eventually swaps the order of some undef DEBUG_VALUE's. I am just passing "-O1 -g" with that .ii file. It isn't obvious to me yet what is causing this to be unordered/non-deterministic.

Mar 25 2019, 4:21 AM · Restricted Project
jmorse added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

this could land right now.

Mar 25 2019, 3:21 AM · Restricted Project
jmorse added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

What is the status regarding this patch? Are we waiting for something?

Mar 25 2019, 3:19 AM · Restricted Project

Mar 22 2019

jmorse added inline comments to D59431: [DebugInfo] Terminate constant-value location-list ranges at the end of basic blocks.
Mar 22 2019, 9:08 AM · debug-info, Restricted Project

Mar 21 2019

jmorse added a comment to D59431: [DebugInfo] Terminate constant-value location-list ranges at the end of basic blocks.

So I guess the answer to my question whether this is indicative of a bug in an earlier pass is: not necessarily.

Mar 21 2019, 4:26 AM · debug-info, Restricted Project

Mar 19 2019

jmorse added a comment to D59431: [DebugInfo] Terminate constant-value location-list ranges at the end of basic blocks.

Isn't that a symptom of previous passes failing to insert a dbg.value(undef) when they deleted a dbg.value? I'm trying to figure out what a legitimate example for this would look like.

Mar 19 2019, 1:46 PM · debug-info, Restricted Project

Mar 15 2019

jmorse created D59431: [DebugInfo] Terminate constant-value location-list ranges at the end of basic blocks.
Mar 15 2019, 1:12 PM · debug-info, Restricted Project

Mar 14 2019

jmorse updated the diff for D59272: [DebugInfo] Select debug intrinsic line-numbers more carefully when promoting dbg.declare.

Update to use unknown-locations for everything but promoted store instructions,

Mar 14 2019, 7:49 AM · Restricted Project

Mar 13 2019

jmorse added a comment to D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.

Many thanks for the reviews!

Mar 13 2019, 4:43 AM · Restricted Project
jmorse committed rG66943c32d2ad: [DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in… (authored by jmorse).
[DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in…
Mar 13 2019, 4:43 AM
jmorse committed rL356041: [DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in….
[DebugInfo][Docs] Document how dbg.value intrinsics are interpreted in…
Mar 13 2019, 4:43 AM
jmorse closed D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.
Mar 13 2019, 4:43 AM · Restricted Project

Mar 12 2019

jmorse created D59272: [DebugInfo] Select debug intrinsic line-numbers more carefully when promoting dbg.declare.
Mar 12 2019, 1:20 PM · Restricted Project
jmorse added a comment to D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.

Ping -- AFAIUI we're happy with the meaning in this patch, wording and presentation still needs review?

Mar 12 2019, 8:45 AM · Restricted Project

Mar 11 2019

jmorse committed rG90ede5f4bfe6: [SimplifyCFG] Retain debug info when threading jumps with critical edges (authored by jmorse).
[SimplifyCFG] Retain debug info when threading jumps with critical edges
Mar 11 2019, 9:26 AM
jmorse committed rL355833: [SimplifyCFG] Retain debug info when threading jumps with critical edges.
[SimplifyCFG] Retain debug info when threading jumps with critical edges
Mar 11 2019, 9:26 AM
jmorse closed D59206: [SimplifyCFG] Retain debug info when threading jumps with critical edges.
Mar 11 2019, 9:25 AM · Restricted Project
jmorse committed rGb60aea41315c: [JumpThreading] Retain debug info when replacing branch instructions (authored by jmorse).
[JumpThreading] Retain debug info when replacing branch instructions
Mar 11 2019, 4:49 AM
jmorse committed rL355822: [JumpThreading] Retain debug info when replacing branch instructions.
[JumpThreading] Retain debug info when replacing branch instructions
Mar 11 2019, 4:48 AM
jmorse closed D58963: [JumpThreading] Retain debug info when replacing branch instructions.
Mar 11 2019, 4:47 AM · Restricted Project

Mar 8 2019

jmorse requested review of D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.

Yes, I was just thinking out loud about sinking/scheduling in general and not so much the specific situation with MachineSink. But I also wondered if the sinking done by MachineSink could be seen as a special case of sinking in general, where we sink one instruction at a time. For MachineSink we eventually reach the end of the BB, and then continue into a successor. So how do we determine when it is time to insert "undef" when sinking one instruction at a time? What kind of reorderings should/shouldn't trigger that we insert an "undef"? I guess this is one thing we should try to describe in the documentation (also for DGB_VALUE), to make sure new developers understand the basic logic behind how we implement these things.

Mar 8 2019, 2:49 AM · Restricted Project

Mar 7 2019

jmorse added a comment to D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.

I produced another patch (D59027, work-in-progress) that only creates undef DBG_VALUEs when the order of assignments would change... however I then realised I'd misunderstood Bjorns question here:

Mar 7 2019, 3:47 AM · Restricted Project

Mar 6 2019

jmorse created D59027: [WIP][DebugInfo] When sinking DBG_VALUEs, only insert undef DBG_VALUEs if sinking would re-order assignments.
Mar 6 2019, 8:44 AM · Restricted Project

Mar 4 2019

jmorse added inline comments to D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.
Mar 4 2019, 6:06 AM · Restricted Project
jmorse updated the diff for D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.

Re-think opening of paragraph on the risks involved when moving/altering code.

Mar 4 2019, 6:02 AM · Restricted Project
jmorse updated the diff for D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.

Incorporate further wording and structure feedback

Mar 4 2019, 5:57 AM · Restricted Project
jmorse committed rG09d8ea528250: [X86] Avoid codegen changes when DBG_VALUE appears between lowered selects (authored by jmorse).
[X86] Avoid codegen changes when DBG_VALUE appears between lowered selects
Mar 4 2019, 2:55 AM
jmorse committed rL355307: [X86] Avoid codegen changes when DBG_VALUE appears between lowered selects.
[X86] Avoid codegen changes when DBG_VALUE appears between lowered selects
Mar 4 2019, 2:55 AM
jmorse closed D58672: [X86] Avoid codegen changes when DBG_VALUE appears between lowered selects.
Mar 4 2019, 2:55 AM · Restricted Project

Mar 1 2019

jmorse updated the diff for D58672: [X86] Avoid codegen changes when DBG_VALUE appears between lowered selects.

Incorporate recommendations on using auto from Andrea, delivered offline,

Mar 1 2019, 8:53 AM · Restricted Project
jmorse added a comment to D58831: [DebugInfo] Ignore bitcasts when lowering stack arg dbg.values.

LGTM, although I'll wait a bit for more opinions

Mar 1 2019, 8:08 AM · Restricted Project, debug-info
jmorse updated the diff for D58672: [X86] Avoid codegen changes when DBG_VALUE appears between lowered selects.

Incorporate feedback: use skipDebugInstructionsForward for better readability, iterate forwards when sinking DBG_VALUEs.

Mar 1 2019, 7:49 AM · Restricted Project
jmorse updated the diff for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.

Rename new test case's file name, move it to the 'DebugInfo' directory too as that seems more appropriate.

Mar 1 2019, 7:18 AM
jmorse updated the diff for D58403: [DebugInfo][CGP] Update dbg.values when updating memory address computations.

Avoid relying on placeDbgValues for this change. We already walk (forwards) through all instructions in a block looking to optimise them, add a dbg.value visitor that rewrites the dbg.value operand if it refers to a sunk address computation.

Mar 1 2019, 7:10 AM · Restricted Project
jmorse added inline comments to D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.
Mar 1 2019, 4:53 AM · Restricted Project
jmorse updated the diff for D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.

Sprinkle some possessive apostrophes, speling, incorrect variable names

Mar 1 2019, 4:53 AM · Restricted Project
jmorse added inline comments to D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.
Mar 1 2019, 4:29 AM · Restricted Project
jmorse updated the diff for D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.

Apply review feedback, re-write the dbg.value undef example to better demonstrate the problem at hand.

Mar 1 2019, 4:29 AM · Restricted Project

Feb 27 2019

jmorse added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

I've generated a short summary in https://reviews.llvm.org/D58726 which illustrates how I believe dbg.values are to be interpreted -- I'll chuck this at llvm-dev tomorrow if it's not obviously broken. As mentioned in the summary, it's likely that more could be said, but getting agreement on the location of a dbg.value being the location that an assignment ``happens'' would be good.

Feb 27 2019, 9:49 AM · Restricted Project
jmorse created D58726: [DebugInfo][Docs] Explicitly document how dbg.value intrinsics are interpreted in optimized code.
Feb 27 2019, 9:48 AM · Restricted Project

Feb 26 2019

jmorse created D58672: [X86] Avoid codegen changes when DBG_VALUE appears between lowered selects.
Feb 26 2019, 6:05 AM · Restricted Project

Feb 25 2019

jmorse added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

Hi Paul,

Feb 25 2019, 1:12 PM · Restricted Project

Feb 22 2019

jmorse planned changes to D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.

So then we should check if there is any other dbg.value that we sink past? Otherwise there won't be any reordering and no need for an undef location?

Feb 22 2019, 5:44 AM · Restricted Project
jmorse added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

In my view, the real problem as stated in the PR appears to be that the value later gets *lost*, sadly before the instructions directly related to the switch-case where the variable is used; the real problem is *not* that the value's description starts too soon.

So given all that, how does this patch help address the real problem?

Feb 22 2019, 5:02 AM · Restricted Project
jmorse added inline comments to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 22 2019, 3:56 AM · Restricted Project
jmorse updated the diff for D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

Update comments in placeDbgValues to reflect its new purpose; remove code calculating the previous non-debug-instr, as we now use a dominator tree check instead.

Feb 22 2019, 3:52 AM · Restricted Project

Feb 21 2019

jmorse added inline comments to D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.
Feb 21 2019, 5:18 AM · Restricted Project
jmorse updated the diff for D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.

Use isCopyInstr to detect copy instructions, which will catch more opportunities that just isCopy().

Feb 21 2019, 5:18 AM · Restricted Project
jmorse abandoned D54715: [WIP][DebugInfo] Distinguish reads/writes of VRegs when creating debug SDNodes.
Feb 21 2019, 3:10 AM · Restricted Project
Herald added a project to D54715: [WIP][DebugInfo] Distinguish reads/writes of VRegs when creating debug SDNodes: Restricted Project.

This problem had PR40427 hiding at the bottom of it, so this WIP isn't required.

Feb 21 2019, 3:10 AM · Restricted Project

Feb 20 2019

jmorse planned changes to D58403: [DebugInfo][CGP] Update dbg.values when updating memory address computations.

It turns out the validity of this change relies on placeDbgValues reordering (curses), a small amount of extra juggling will be required.

Feb 20 2019, 9:08 AM · Restricted Project
jmorse added a child revision for D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations: D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 20 2019, 8:24 AM
jmorse added parent revisions for D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics: D58450: [DebugInfo][MachineCSE] Don't try to copy-propagate debuginfo for every COPY seen, D58403: [DebugInfo][CGP] Update dbg.values when updating memory address computations, D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies, D58386: [DebugInfo] Pre-RA MachineSink: sink DBG_VALUEs that don't immediately follow the sunk instruction too, D56151: [DebugInfo] PR40010: Avoid register coalesing altering DBG_VALUE valuations.
Feb 20 2019, 8:24 AM · Restricted Project
jmorse added a child revision for D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies: D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 20 2019, 8:24 AM · Restricted Project
jmorse added a child revision for D58403: [DebugInfo][CGP] Update dbg.values when updating memory address computations: D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 20 2019, 8:24 AM · Restricted Project
jmorse added a child revision for D58386: [DebugInfo] Pre-RA MachineSink: sink DBG_VALUEs that don't immediately follow the sunk instruction too: D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 20 2019, 8:24 AM · Restricted Project
jmorse added a child revision for D58450: [DebugInfo][MachineCSE] Don't try to copy-propagate debuginfo for every COPY seen: D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 20 2019, 8:24 AM · Restricted Project
jmorse created D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.
Feb 20 2019, 8:23 AM · Restricted Project
jmorse added a child revision for D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block: D58450: [DebugInfo][MachineCSE] Don't try to copy-propagate debuginfo for every COPY seen.
Feb 20 2019, 7:33 AM
jmorse added a parent revision for D58450: [DebugInfo][MachineCSE] Don't try to copy-propagate debuginfo for every COPY seen: D56265: [DebugInfo] MCP: collect and update DBG_VALUEs encountered in local block.
Feb 20 2019, 7:33 AM · Restricted Project
jmorse created D58450: [DebugInfo][MachineCSE] Don't try to copy-propagate debuginfo for every COPY seen.
Feb 20 2019, 7:31 AM · Restricted Project

Feb 19 2019

jmorse created D58403: [DebugInfo][CGP] Update dbg.values when updating memory address computations.
Feb 19 2019, 1:15 PM · Restricted Project
jmorse added a parent revision for D58386: [DebugInfo] Pre-RA MachineSink: sink DBG_VALUEs that don't immediately follow the sunk instruction too: D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.
Feb 19 2019, 7:35 AM · Restricted Project
jmorse added a child revision for D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies: D58386: [DebugInfo] Pre-RA MachineSink: sink DBG_VALUEs that don't immediately follow the sunk instruction too.
Feb 19 2019, 7:35 AM · Restricted Project
jmorse created D58386: [DebugInfo] Pre-RA MachineSink: sink DBG_VALUEs that don't immediately follow the sunk instruction too.
Feb 19 2019, 7:35 AM · Restricted Project

Feb 15 2019

jmorse added a comment to D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.

I have some doubt about this. Mainly the part about inserting undefs. Although, some of my doubts are partially based on the big-black-hole regarding how debug info is supposed to work for heavily optimized code (and more specifically how this is supposed to work in LLVM based on what we got today).

Feb 15 2019, 4:25 AM · Restricted Project
jmorse added inline comments to D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.
Feb 15 2019, 2:38 AM · Restricted Project
jmorse updated the diff for D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.

Explicitly test for whether we're pre or post regalloc when deciding whether a copy can be propagated, refactor test logic.

Feb 15 2019, 2:30 AM · Restricted Project

Feb 14 2019

jmorse added a child revision for D58191: [DebugInfo] Make postra sinking of DBG_VALUEs safe in the presence of subregisters: D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.
Feb 14 2019, 7:56 AM · Restricted Project
jmorse added a parent revision for D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies: D58191: [DebugInfo] Make postra sinking of DBG_VALUEs safe in the presence of subregisters.
Feb 14 2019, 7:56 AM · Restricted Project
jmorse created D58238: [DebugInfo] MachineSink: Insert undef DBG_VALUEs when sinking instructions, try to forward copies.
Feb 14 2019, 7:56 AM · Restricted Project
jmorse added inline comments to D58191: [DebugInfo] Make postra sinking of DBG_VALUEs safe in the presence of subregisters.
Feb 14 2019, 7:04 AM · Restricted Project
jmorse updated the diff for D58191: [DebugInfo] Make postra sinking of DBG_VALUEs safe in the presence of subregisters.

Sort dbg-values to be sunk to ensure determinism, sprinkle -NEXT on some CHECKS to strengthen test.

Feb 14 2019, 7:04 AM · Restricted Project
jmorse added inline comments to D56788: [DebugInfo][InstCombine] Prefer salvaging dbg.values over sinking them.
Feb 14 2019, 3:26 AM · Restricted Project
jmorse committed rG897a9f8d008c: Fix an accidentally flipped pair of arguments, NFCI (authored by jmorse).
Fix an accidentally flipped pair of arguments, NFCI
Feb 14 2019, 3:10 AM
jmorse committed rL354019: Fix an accidentally flipped pair of arguments, NFCI.
Fix an accidentally flipped pair of arguments, NFCI
Feb 14 2019, 3:10 AM

Feb 13 2019

jmorse created D58191: [DebugInfo] Make postra sinking of DBG_VALUEs safe in the presence of subregisters.
Feb 13 2019, 9:20 AM · Restricted Project
jmorse committed rG291713a596fb: [DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs (authored by jmorse).
[DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs
Feb 13 2019, 8:33 AM
jmorse committed rL353954: [DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs.
[DebugInfo][DAG] Either salvage dangling debug info or emit Undef DBG_VALUEs
Feb 13 2019, 8:33 AM