Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

yurydelendik (Yury Delendik)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 15 2016, 6:29 AM (385 w, 1 d)

Recent Activity

Nov 20 2020

yurydelendik accepted D91803: [lld] Use -1 as tombstone value for discarded code ranges.
Nov 20 2020, 11:28 AM · Restricted Project

Nov 12 2020

yurydelendik added a comment to D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

@yurydelendik note that wasm64 is an LLVM-level construct, in general Wasm we may one day have multiple memories, which means that "being 64-bit" is a property of each load/store instruction individually. So assuming we have a DWARF section associated with a possibly mixed mode Wasm module, there's no way to determine the size of DW_AT_low_pc or DW_FORM_addr from the module.

Granted, this is a little hypothetical, since we don't know if wasm-ld will ever support such mixed linking (or another linker will), or wether DWARF will be output by non-LLVM producers, but the fact remains that Wasm really doesn't have an "architecture" in the same way as other ISAs.

Thus, it seems easier to me to hard-code DW_FORM_addr to always be 32 or 64-bit for Wasm. Either choice is going to give the problem this patch is trying to address, though.

Nov 12 2020, 9:23 AM · Restricted Project
yurydelendik added a comment to D91203: [WebAssembly] Fixed wasm64 DWARF using 64-bit code pointer sizes.

Given that we already have DWARF consumers of WebAssembly DWARF pointers I wonder how they handle this today?
For example 1, 2, and 3 are perfectly valid function addresses in user code but make no sense as bytecode offsets.

Nov 12 2020, 8:20 AM · Restricted Project

Apr 16 2020

yurydelendik added a comment to D77353: [WebAssembly] Add DW_OP_WASM_location_int.

@yurydelendik one thing about your patch: the variadic argument was previously declared as SignedSizeLEB and emitted with emitSigned, yet your new code reads it as getULEB128 and stores it in an array of uint64_t (which we can't change since its shared code). It doesn't matter much for the current use case, but we might want to be consistent about this storing signed or unsigned values? I see value in it being signed for future use cases, but given the existing DWARFExpression code it may well have to be unsigned.

Apr 16 2020, 1:23 PM · debug-info, Restricted Project

Apr 9 2020

yurydelendik added a comment to D77353: [WebAssembly] Add DW_OP_WASM_location_int.

So far we only need 2 tags, for locals and globals, and maybe soon a third for stack-relative. I don't see us running out of 32 entries that fast :)

Apr 9 2020, 3:30 PM · debug-info, Restricted Project
yurydelendik added a comment to D77353: [WebAssembly] Add DW_OP_WASM_location_int.

@yurydelendik how would you change Descriptions[DW_OP_WASM_location] = Desc(Op::Dwarf4, Op::SizeLEB, Op::SignedSizeLEB); to make it variadic?

Apr 9 2020, 1:50 PM · debug-info, Restricted Project
yurydelendik added a comment to D77353: [WebAssembly] Add DW_OP_WASM_location_int.

Concretely you are proposing that the form of DW_OP_Wasm_location be variadic instead of fixed, right? i.e. it has different fields based on the value of the first field. I don't think there is any precedent for that in DWARF anywhere, is there?

Apr 9 2020, 1:34 PM · debug-info, Restricted Project
yurydelendik added a comment to D77353: [WebAssembly] Add DW_OP_WASM_location_int.

If there are no further comments on improvements we can carry out right now, does anyone feel like approving this for merging? :)

Apr 9 2020, 12:15 PM · debug-info, Restricted Project

Apr 3 2020

yurydelendik added a comment to D77353: [WebAssembly] Add DW_OP_WASM_location_int.

I'm still curious if something like this will work:

Apr 3 2020, 9:07 AM · debug-info, Restricted Project

Jan 29 2020

yurydelendik added a comment to D73581: [WebAssembly] Preserve debug frame base information through register coloring.

I'll go ahead and land this to reduce the number of cases where we crash; but I'd be interested in hearing if @yurydelendik has found any cases that were asserting before that this fixes, or if any of the wasm subscribers have other opinions.

Jan 29 2020, 2:08 PM · Restricted Project

Jan 15 2020

yurydelendik accepted D71681: [WebAssembly] Track frame registers through VReg and local allocation.

Agree with all the changes

Jan 15 2020, 1:00 PM · Restricted Project
yurydelendik abandoned D69807: [WebAssembly] Track frame/stack pointer local for debug information.

Closing in favor of D71681

Jan 15 2020, 12:23 PM · Restricted Project

Dec 19 2019

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

rename addWasmLocation

Dec 19 2019, 5:34 PM · Restricted Project, debug-info

Dec 18 2019

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Fix comments

Dec 18 2019, 4:14 PM · Restricted Project, debug-info

Dec 16 2019

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

add llvm-dwarfdump test

Dec 16 2019, 9:29 AM · Restricted Project, debug-info
yurydelendik updated the summary of D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
Dec 16 2019, 9:29 AM · Restricted Project, debug-info

Dec 6 2019

yurydelendik added inline comments to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
Dec 6 2019, 3:39 PM · Restricted Project, debug-info

Dec 2 2019

yurydelendik added inline comments to D69807: [WebAssembly] Track frame/stack pointer local for debug information.
Dec 2 2019, 1:05 PM · Restricted Project

Nov 18 2019

yurydelendik retitled D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations from [WebAssembly] Add DBG_VALUE with local operands location in WebAssemblyExplicitLocals pass to [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
Nov 18 2019, 10:14 AM · Restricted Project, debug-info
yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Use TargetIndex operands in DbgValue to track WebAssembly operands locations

Nov 18 2019, 10:14 AM · Restricted Project, debug-info

Nov 6 2019

yurydelendik added a comment to D69807: [WebAssembly] Track frame/stack pointer local for debug information.

we'd need to ensure that the frame base stays in the designated local for the whole function, correct? i.e. we'd have to ensure it never gets stackified, which it currently could, right?

Nov 6 2019, 11:24 AM · Restricted Project

Nov 4 2019

yurydelendik created D69807: [WebAssembly] Track frame/stack pointer local for debug information.
Nov 4 2019, 9:23 AM · Restricted Project
yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Rebase D52634: [WebAssembly] Add DBG_VALUE with local operands location in WebAssemblyExplicitLocals pass

Nov 4 2019, 9:03 AM · Restricted Project, debug-info

Jul 15 2019

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

the WebAssemblyDebugValueManager constructor could just apply an additional filter on collected DbgValues, that the LiveInterval/ValueNumber the DBG_VALUE refers to is the defining instruction.

Jul 15 2019, 7:52 AM · Restricted Project

Jul 13 2019

yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Let's work toward getting this landed!
@yurydelendik Your note mentioned that you reverted the breg version based on some kind of incompatibility, can you say more about that?

Jul 13 2019, 7:00 AM · Restricted Project, debug-info

Jul 12 2019

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Rebase

Jul 12 2019, 4:08 PM · Restricted Project, debug-info
yurydelendik added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

I've added some changes to the patch that makes collectDebugValues behave in the way I described, returning all debug users of a VReg, optionally limited to only the basic block of the source MachineInst. This should be useful for testing; and it's immediately caused the test/DebugInfo/WebAssembly/dbg-value-move-reg-stackify.mir [0] test to fail. The output is:

%0:i64 = ARGUMENT_i64 0, implicit $arguments
dead %1:i32 = I32_WRAP_I64 %0, implicit-def dead $arguments
dead %1:i32 = CALL_i32 @bar, implicit-def dead $arguments, implicit $sp32, implicit $sp64
%2:i32 = CALL_i32 @bar, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
DBG_VALUE %2, $noreg, <0x5490d00>, !DIExpression(), debug-location !DILocation(line: 359, column: 12, scope: <0x548f5f0>)
DBG_VALUE %2, $noreg, <0x5490cb0>, !DIExpression(), debug-location !DILocation(line: 358, column: 12, scope: <0x548f5f0>)
DBG_VALUE %2, $noreg, <0x5490a50>, !DIExpression(), debug-location !DILocation(line: 357, column: 12, scope: <0x548f5f0>)
CALL_VOID @foo, %2, implicit-def dead $arguments, implicit $sp32, implicit $sp64, implicit-def $value_stack, implicit $value_stack
RETURN_VOID implicit-def dead $arguments

While I don't know webassembly, it seems clear that a) the test post-SSA, and b) the test expects collectDebugValues to only return DBG_VALUEs that refer to the same vreg def that the source instruction does.

Is that a fair assessment, or some kind of test artefact? That behaviour is almost certainly achievable after this patch lands, although it might require more plumbing somewhere.

[0] https://github.com/llvm/llvm-project/blob/a1d97a960e622ee21550d92809512cb0870be499/llvm/test/DebugInfo/WebAssembly/dbg-value-move-reg-stackify.mir

Jul 12 2019, 10:05 AM · Restricted Project

Jul 1 2019

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

Hi,

Awkwardly collectDebugValues relies on a behaviour that this patch will mostly undo, specifically, that DBG_VALUE insts are placed after the defining instruction. collectDebugValues will work sometimes, but will "miss" DBG_VALUEs much more often that it does now.

Jul 1 2019, 10:24 AM · Restricted Project
yurydelendik added a comment to D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics.

@yurydelendik Would this change be OK for WebAssembly debug value handling?

Jul 1 2019, 6:52 AM · Restricted Project

May 6 2019

yurydelendik accepted D61623: [WebAssembly] Add more test coverage for reloctions against section symbols.

Looks good. Thanks

May 6 2019, 5:33 PM · Restricted Project

Mar 5 2019

yurydelendik committed rG05812b65db6d: [lldb] Disable some of TestJITLoaderGDB.py tests on Windows (authored by yurydelendik).
[lldb] Disable some of TestJITLoaderGDB.py tests on Windows
Mar 5 2019, 9:09 AM
yurydelendik committed rLLDB355413: [lldb] Disable some of TestJITLoaderGDB.py tests on Windows.
[lldb] Disable some of TestJITLoaderGDB.py tests on Windows
Mar 5 2019, 9:08 AM
yurydelendik committed rL355413: [lldb] Disable some of TestJITLoaderGDB.py tests on Windows.
[lldb] Disable some of TestJITLoaderGDB.py tests on Windows
Mar 5 2019, 9:08 AM
yurydelendik committed rGbc6b225d4292: Adds property to force enabling of GDB JIT loader for MacOS (authored by yurydelendik).
Adds property to force enabling of GDB JIT loader for MacOS
Mar 5 2019, 6:24 AM
yurydelendik committed rLLDB355402: Adds property to force enabling of GDB JIT loader for MacOS.
Adds property to force enabling of GDB JIT loader for MacOS
Mar 5 2019, 6:24 AM
yurydelendik committed rL355402: Adds property to force enabling of GDB JIT loader for MacOS.
Adds property to force enabling of GDB JIT loader for MacOS
Mar 5 2019, 6:24 AM
yurydelendik closed D57689: Adds property to force enabling of GDB JIT loader for MacOS.
Mar 5 2019, 6:23 AM · Restricted Project, Restricted Project

Mar 4 2019

yurydelendik updated the diff for D57689: Adds property to force enabling of GDB JIT loader for MacOS.

rebase

Mar 4 2019, 5:23 PM · Restricted Project, Restricted Project
yurydelendik added a comment to D57689: Adds property to force enabling of GDB JIT loader for MacOS.

@jingham is this patch good to land?

Mar 4 2019, 6:21 AM · Restricted Project, Restricted Project

Feb 7 2019

yurydelendik added a comment to D57689: Adds property to force enabling of GDB JIT loader for MacOS.

Could you add a test for this setting to the ./functionalities/jitloader_gdb/TestJITLoaderGDB.py test?

Feb 7 2019, 10:19 AM · Restricted Project, Restricted Project
yurydelendik updated the diff for D57689: Adds property to force enabling of GDB JIT loader for MacOS.
  • Remove enable-jit-breakpoint option
Feb 7 2019, 10:15 AM · Restricted Project, Restricted Project
yurydelendik updated the diff for D57689: Adds property to force enabling of GDB JIT loader for MacOS.
  • Add tests
Feb 7 2019, 10:09 AM · Restricted Project, Restricted Project

Feb 4 2019

yurydelendik updated the diff for D57689: Adds property to force enabling of GDB JIT loader for MacOS.
  • Change to on/off/default property.
Feb 4 2019, 2:33 PM · Restricted Project, Restricted Project
yurydelendik updated the diff for D57689: Adds property to force enabling of GDB JIT loader for MacOS.

Fix GetEnableLoaderForDarwin name

Feb 4 2019, 7:53 AM · Restricted Project, Restricted Project
yurydelendik created D57689: Adds property to force enabling of GDB JIT loader for MacOS.
Feb 4 2019, 7:48 AM · Restricted Project, Restricted Project

Jan 16 2019

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Minor changes to comment; move #include

Jan 16 2019, 7:55 AM · Restricted Project, debug-info

Jan 15 2019

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Add simple test

Jan 15 2019, 5:15 PM · Restricted Project, debug-info
yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
  • revert breg use due to incompatibility with DWARF definition
  • rebase to git llvm-project
Jan 15 2019, 12:28 PM · Restricted Project, debug-info
yurydelendik committed rL351216: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
[WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify
Jan 15 2019, 10:18 AM
yurydelendik closed D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
Jan 15 2019, 10:18 AM

Jan 14 2019

yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

Top comment fix

Jan 14 2019, 4:32 PM
yurydelendik added inline comments to D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
Jan 14 2019, 4:14 PM
yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
  • Prune unused #include
  • Fix comments
  • Reduce default size of vector to 2
  • Reverse insert order for move/clone
Jan 14 2019, 6:38 AM

Jan 11 2019

yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
  • Fix WebAssemblyDebugValueManager::move
  • Remove DebugValueManager::reMaterialize
Jan 11 2019, 4:46 PM
yurydelendik added a comment to D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

And another question: I haven't been a reviewer for your other debug info related CLs so I don't know, but are there any other places or your pending CLs that can make use of this new class?

Jan 11 2019, 4:13 PM
yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
  • Fix trivially clonable instruction moving/cloning
Jan 11 2019, 2:07 PM
yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

Revert bad test change

Jan 11 2019, 11:51 AM
yurydelendik added a comment to D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

Oh and I think we need test cases for

  1. Rematerializing a def in another BB that has DBG_VALUE attached
Jan 11 2019, 8:30 AM
yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
  • Move WebAssembly::DebugValueManager into WebAssemblyUtilities.*
  • Fix testing of dbg-value-move-reg-stackify.mir
Jan 11 2019, 7:41 AM

Jan 10 2019

yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

Remove TII param from clone()

Jan 10 2019, 2:03 PM
yurydelendik added inline comments to D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
Jan 10 2019, 11:27 AM
yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
  • Move MachineInstrAdjacentDebugValues
  • Use CloneMachineInstr
Jan 10 2019, 11:21 AM

Jan 9 2019

yurydelendik added a comment to D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

I haven't finished reading other parts, but I think I should understand this AttachedDebugValues constructor first to proceed.

Jan 9 2019, 8:47 AM
yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
  • Use collectDebugValues
  • Rename AdjacentDebugValues and DefDIs
Jan 9 2019, 8:36 AM

Jan 7 2019

yurydelendik updated the diff for D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.

fix code style

Jan 7 2019, 5:48 PM
yurydelendik created D56401: [WebAssembly] Fix updating/moving DBG_VALUEs in RegStackify.
Jan 7 2019, 11:13 AM

Dec 19 2018

yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Come to think of it, might we actually want the possibility of constant offset in addition to the "kind" and index field, e.g. for cases where the value is actually a pointer?

Dec 19 2018, 11:02 AM · Restricted Project, debug-info
yurydelendik added inline comments to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
Dec 19 2018, 10:29 AM · Restricted Project, debug-info
yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

@aprantl Is the advantage of your suggested approach just that we don't have to define a new expression type? Obviously the interpretation is not the same as DW_OP_breg on other targets so as you say, either way there would have to be special logic in all the tools that consume it. Is this kind of repurposing of builtin primitives common?

I'm not against this approach, I was just trying to point out that an alternative less invasive encoding could be used that might be less confusing to existing consumers of debug information.

Dec 19 2018, 10:07 AM · Restricted Project, debug-info

Dec 18 2018

yurydelendik added reviewers for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations: aprantl, dschuff.
Dec 18 2018, 1:57 PM · Restricted Project, debug-info
yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Replace DW_OP_wasm_location with DW_OP_breg

Dec 18 2018, 1:55 PM · Restricted Project, debug-info
yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

I also found that the tools (e.g. LLVM or LLDB) are eager to know about number of registers (which we cannot determine) to allocate internal structures.

What I was thinking of was to define exactly three WASM DWARF register numbers: wasm_reg_local, wasm_reg_global, wasm_reg_stack and use DW_OP_breg regnum offset like you would use the new special operation introduced by this patch.

Dec 18 2018, 9:30 AM · Restricted Project, debug-info
yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Can you explain how this new operation is meant to work?

@aprantl, here is some description of what we are trying to achieve: https://github.com/WebAssembly/debugging/issues/1#issuecomment-448237641

In the nutshell, the WebAssembly extensions for the DWARF expression will allow us to express WebAssembly specific locations such as for locals, globals and operands stack. The consumers of this information will be limited to LLVM tools, web browser debuggers and AOT/JIT WebAssembly compilers.

Does WebAssembly have a concept of registers? You could just define three additional register numbers for WebAssembly and address a stack slot as DW_OP_breg [wasm_stack_register] + 3 etc.. This would need less support in all the involved tools. The link says that it was considered, but rejected, but there is no mention as to why.

Dec 18 2018, 9:02 AM · Restricted Project, debug-info
yurydelendik retitled D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations from [WIP] [WebAssembly] Add DBG_VALUE with local operands location in WebAssemblyExplicitLocals pass to [WebAssembly] Add DBG_VALUE with local operands location in WebAssemblyExplicitLocals pass.
Dec 18 2018, 6:38 AM · Restricted Project, debug-info
yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Can you explain how this new operation is meant to work?

Dec 18 2018, 6:37 AM · Restricted Project, debug-info

Nov 9 2018

yurydelendik added inline comments to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
Nov 9 2018, 1:23 PM · Restricted Project, debug-info
yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Change DW_OP_WASM_location op to 0xED.

Nov 9 2018, 1:22 PM · Restricted Project, debug-info
yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Can you explain how this new operation is meant to work?

Nov 9 2018, 1:13 PM · Restricted Project, debug-info
yurydelendik added a comment to D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

There was a question about how easy it will be to reuse or modify LLDB to use with such extension (DW_OP_WASM_location). I looked at DWARFExpression::Evaluate and, I think, it will not be a problem to add support for that. It might be even easier than try to emulate registers mapping to some WASM local or stack operand.

Nov 9 2018, 11:15 AM · Restricted Project, debug-info

Nov 2 2018

yurydelendik updated the diff for D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.

Rebase

Nov 2 2018, 2:18 PM · Restricted Project, debug-info

Oct 4 2018

yurydelendik committed rL343827: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for….
[WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for…
Oct 4 2018, 4:34 PM
yurydelendik closed D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.
Oct 4 2018, 4:34 PM
yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Further reduced by @aheejin test case

Oct 4 2018, 4:11 PM
yurydelendik added a comment to D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

And I don't think we need the BEFORE check... what I meant by the 'before' check in the comment above was, before your fix, the wrong code sequence generated was like that.

Oct 4 2018, 4:11 PM
yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Further reduction of cfg-stackify-dbg-skip.ll

Oct 4 2018, 2:09 PM
yurydelendik added a comment to D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Would bugpoint help here? Its specifically designed to minimize test case I think although I don't have a lot of experience with it myself.

Oct 4 2018, 12:14 PM
yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Minimize test case; fix its comment

Oct 4 2018, 12:11 PM
yurydelendik added a comment to D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

.. you can pass multiple -run-pass flags to llc, like llc -run-pass wasm-reg-stackify -run-pass wasm-reg-coloring .... Maybe we can start from mir just before the RegStackify pass and make llc run all passes from RegStackify to CFGStackify. I think it's worth trying. If this fails for some other reason, we can bring back .ll test case...

Oct 4 2018, 8:06 AM
yurydelendik retitled D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start from [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStacify pass when looking for block start to [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.
Oct 4 2018, 8:00 AM
yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Revert test to .ll form, but ensure valid input before wasm-cfg-stackify pass

Oct 4 2018, 8:00 AM

Oct 3 2018

yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Add mir test

Oct 3 2018, 5:11 PM
yurydelendik added a comment to D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

How does the output of the test differ without this fix?

Oct 3 2018, 3:40 PM
yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Add test comment

Oct 3 2018, 3:24 PM
yurydelendik added inline comments to D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.
Oct 3 2018, 2:57 PM
yurydelendik updated the diff for D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Skipping labels

Oct 3 2018, 2:56 PM
yurydelendik added a comment to D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.

Why should we skip debug instructions when searching for block start?

Oct 3 2018, 11:49 AM
yurydelendik created D52837: [WebAssembly] Ignore DBG_VALUE in WebAssemblyCFGStackify pass when looking for block start.
Oct 3 2018, 11:00 AM

Sep 27 2018

yurydelendik created D52634: [WebAssembly] Use TargetIndex operands in DbgValue to track WebAssembly operands locations.
Sep 27 2018, 2:48 PM · Restricted Project, debug-info

Sep 26 2018

yurydelendik committed rL343154: [WebAssembly] Fix MRI.hasOneNonDBGUse assert in WebAssemblyRegStackify pass .
[WebAssembly] Fix MRI.hasOneNonDBGUse assert in WebAssemblyRegStackify pass
Sep 26 2018, 4:50 PM
yurydelendik added a comment to D49034: [WebAssembly] Move/clone DBG_VALUE during WebAssemblyRegStackify pass.

We we revert this or get it fixed? Its currently breaking the wasm waterfall: https://wasm-stat.us/console

Sep 26 2018, 3:08 PM · debug-info