HsiangKai (Hsiangkai Wang)
User

Projects

User does not belong to any projects.

User Details

User Since
May 4 2016, 7:01 PM (102 w, 3 d)

Recent Activity

Yesterday

HsiangKai added inline comments to D45556: [DebugInfo] Generate DWARF debug information for labels..
Fri, Apr 20, 1:13 AM
HsiangKai updated the diff for D45045: [DebugInfo] Generate debug information for labels..
  • Update test cases.
  • Checked with clang-format.
Fri, Apr 20, 12:40 AM
HsiangKai updated the diff for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
  • Update the test case.
Fri, Apr 20, 12:36 AM
HsiangKai updated the diff for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..
  • Rename elements in DISubprogram to retainedNodes.
  • Update test cases.
  • Update according to review comments.
Fri, Apr 20, 12:32 AM

Tue, Apr 17

HsiangKai added a comment to D45556: [DebugInfo] Generate DWARF debug information for labels..

About combining DwarfLabel and DbgVariable.

Tue, Apr 17, 12:23 AM

Mon, Apr 16

HsiangKai added a comment to D45045: [DebugInfo] Generate debug information for labels..

Always add labels to DISubprogram even unreachable.

Mon, Apr 16, 8:00 AM
HsiangKai added inline comments to D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
Mon, Apr 16, 7:47 AM
HsiangKai updated the diff for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
  1. Use range-based for in lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp:918
  2. Check !dbg attachment in the test case.
Mon, Apr 16, 7:46 AM
HsiangKai added inline comments to D45556: [DebugInfo] Generate DWARF debug information for labels..
Mon, Apr 16, 7:40 AM
HsiangKai added a comment to D45395: [RISCV] Implement tail call optimization.

Two questions.

Mon, Apr 16, 12:31 AM
HsiangKai requested changes to D45395: [RISCV] Implement tail call optimization.

I think it should be a typo.

Mon, Apr 16, 12:01 AM

Sat, Apr 14

HsiangKai updated the diff for D45045: [DebugInfo] Generate debug information for labels..

Update test cases.

Sat, Apr 14, 7:02 PM
HsiangKai updated the diff for D45556: [DebugInfo] Generate DWARF debug information for labels..

Update according to reviewers' comments.
Update test cases.

Sat, Apr 14, 7:00 PM
HsiangKai updated the diff for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..

Update according to reviewers' comments.

Sat, Apr 14, 6:59 PM
HsiangKai added a comment to D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

I realize it's non-trivial to keep these all in the same list - but I'd
rather not create a new list only to remove it again later if it can be
helped. What particular issues did you encounter when attempting to use a
single list?

Sat, Apr 14, 6:56 PM
HsiangKai updated the diff for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

Merge label metadata list into variable metadata list. The new metadata list is called 'elements' list. I do not merge other metadata lists into this one.

Sat, Apr 14, 6:55 PM

Thu, Apr 12

HsiangKai added a reviewer for D45045: [DebugInfo] Generate debug information for labels.: aprantl.
Thu, Apr 12, 1:20 AM
HsiangKai abandoned D45043: [DebugInfo] Add test cases for generating debug info of labels..

Merged into D45556.

Thu, Apr 12, 1:17 AM
HsiangKai added a dependency for D45556: [DebugInfo] Generate DWARF debug information for labels.: D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
Thu, Apr 12, 1:15 AM
HsiangKai added a dependent revision for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr.: D45556: [DebugInfo] Generate DWARF debug information for labels..
Thu, Apr 12, 1:15 AM
HsiangKai created D45556: [DebugInfo] Generate DWARF debug information for labels..
Thu, Apr 12, 1:15 AM

Wed, Apr 11

HsiangKai updated the diff for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

Add DILabel list to DISubprogram. The new DISubprogram will be

Wed, Apr 11, 7:17 AM
HsiangKai updated the diff for D45342: [DebugInfo] Examine all uses of isDebugValue() for debug instructions..

Update according to review comments.

Wed, Apr 11, 7:04 AM
HsiangKai added a comment to D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..

Thanks, this looks mostly fine! Have you considered just allowing the DBG_VALUE MachineInstr to carry a DILabel insetad of just DILocalVariables? Would that simplify the code or make it harder to understand?

Wed, Apr 11, 7:04 AM
HsiangKai updated the diff for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..

Update according to review comments.

Wed, Apr 11, 6:16 AM
HsiangKai updated the diff for D45045: [DebugInfo] Generate debug information for labels..

Update the test case for inlined functions. The inlined label will attach to DISubprogram(..., labels: !n)

Wed, Apr 11, 6:12 AM

Thu, Apr 5

HsiangKai added a comment to D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

Probably best not to create another list on the DISubprogram - you might be
able to generalize the existing list to contain "anything that might be
optimized out"

Katya (CC'd), over at Sony, has been looking at a similar issue/possible
change to move function-local using declarations/directives into such a
list as well.

Thu, Apr 5, 5:41 PM
HsiangKai added a comment to D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

My understanding was that in the latest revision of the design we don't have anywhere to attach the DILabel to when it is optimized away. If we do care about DILabels that have been optimized away (I don't see why we would want to) we would have to add a list of labels to the DISubprogram similar to how we keep dead variables around. But I don't htink that that is worth it.

Hmm if I compile a function containing 3 labels and the debugger knows about only 2, I might think the compiler has a bug.
We keep dead variables around so we can correctly report they have been optimized away. Thinking ahead to supporting languages where labels are far more common than in C/C++ (for example I know the OpenVMS guys will want to support COBOL) I think a labels list might be appropriate.

In the end I'm fine with both variants, but if we go for the line field in the DILabel I think we should also implement support for the labels list in DISubprogram or at least document our intention to add this clearly.

Thu, Apr 5, 5:32 PM
HsiangKai added a dependency for D45342: [DebugInfo] Examine all uses of isDebugValue() for debug instructions.: D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
Thu, Apr 5, 5:17 PM
HsiangKai added a dependent revision for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr.: D45342: [DebugInfo] Examine all uses of isDebugValue() for debug instructions..
Thu, Apr 5, 5:17 PM
HsiangKai added a dependency for D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr.: D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..
Thu, Apr 5, 5:17 PM
HsiangKai added a dependent revision for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label.: D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
Thu, Apr 5, 5:17 PM
HsiangKai created D45342: [DebugInfo] Examine all uses of isDebugValue() for debug instructions..
Thu, Apr 5, 5:13 PM
HsiangKai created D45341: [DebugInfo] Convert intrinsic llvm.dbg.label to MachineInstr..
Thu, Apr 5, 5:10 PM

Mon, Apr 2

HsiangKai added inline comments to D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..
Mon, Apr 2, 10:41 PM
HsiangKai added a comment to D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

D45045 is the clang part of the implementation to support DILabel and llvm.dbg.label.

Mon, Apr 2, 8:20 AM
HsiangKai added a dependent revision for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label.: D45045: [DebugInfo] Generate debug information for labels..
Mon, Apr 2, 8:15 AM
HsiangKai removed a dependent revision for D45043: [DebugInfo] Add test cases for generating debug info of labels.: D45045: [DebugInfo] Generate debug information for labels..
Mon, Apr 2, 8:15 AM
HsiangKai edited dependencies for D45045: [DebugInfo] Generate debug information for labels., added: 1; removed: 1.
Mon, Apr 2, 8:15 AM
HsiangKai updated the diff for D45045: [DebugInfo] Generate debug information for labels..
Mon, Apr 2, 8:15 AM
HsiangKai abandoned D45025: [DebugInfo] Add parser for DILabel metadata..

Needs a test. Probably should be combined with the Verifier patch as well.

Mon, Apr 2, 8:14 AM
HsiangKai abandoned D45089: [DebugInfo] Verifier for DILabel..

This wants to have a test, which probably means it should be combined with one or more of the other patches that support creating/parsing the label metadata.

Mon, Apr 2, 8:11 AM
HsiangKai abandoned D45088: [DebugInfo] Prepare DIBuilder for labels.

I suggest combining this with a patch that actually uses the API. We don't generally have commits that add APIs without uses or tests.

Mon, Apr 2, 8:10 AM
HsiangKai abandoned D45078: [DebugInfo] Enable the capability of attaching metadata to BasicBlock..

As discussed in llvm-dev mailing list, we should attach label metadata in intrinsic instead of basic block.

Mon, Apr 2, 8:09 AM
HsiangKai abandoned D45032: [DebugInfo] LLVM IR assembly writer for DILabel..

LGTM. However, combining this one with D45025 would be better.

Mon, Apr 2, 8:07 AM
HsiangKai abandoned D45026: [DebugInfo] Add bitcode reader/writer for DILabel metadata..

It's usual to do bitcode and text reading/writing for new metadata all in one patch; splitting it up actually makes it harder to review.

Mon, Apr 2, 8:05 AM
HsiangKai updated the diff for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..

Restructure patches and add more test cases.

Mon, Apr 2, 8:00 AM

Fri, Mar 30

HsiangKai updated the diff for D45045: [DebugInfo] Generate debug information for labels..
  1. No generating llvm.dbg.label intrinsic.
  2. Modify commits according to chenwj's comments.
Fri, Mar 30, 7:21 AM
HsiangKai created D45089: [DebugInfo] Verifier for DILabel..
Fri, Mar 30, 6:50 AM
HsiangKai created D45088: [DebugInfo] Prepare DIBuilder for labels.
Fri, Mar 30, 6:49 AM
HsiangKai abandoned D45042: [DebugInfo] Fill DW_TAG_label attributes..
Fri, Mar 30, 1:48 AM
HsiangKai abandoned D45041: [DebugInfo] Construct DW_TAG_label DIEs from DbgLabels..
Fri, Mar 30, 1:45 AM
HsiangKai abandoned D45040: [DebugInfo] Construct DWARF-specific data for labels in DwarfDebug..
Fri, Mar 30, 1:44 AM
HsiangKai abandoned D45035: [DebugInfo] Construct SDDbgLabel to store debug info of labels in DAG..
Fri, Mar 30, 1:44 AM
HsiangKai abandoned D45039: [DebugInfo] Prepare debug information of labels in DebugHandlerBase..
Fri, Mar 30, 1:44 AM
HsiangKai abandoned D45038: [DebugInfo] Skip DBG_LABEL in calculateDbgValueHistory()..
Fri, Mar 30, 1:44 AM
HsiangKai abandoned D45037: [DebugInfo] Emit comments for DBG_LABEL in AsmPrinter..
Fri, Mar 30, 1:44 AM
HsiangKai abandoned D45036: [DebugInfo] Generating DBG_LABEL MachineInstr from SelectionDAG..
Fri, Mar 30, 1:44 AM
HsiangKai abandoned D45034: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI..
Fri, Mar 30, 1:41 AM
HsiangKai abandoned D45031: [DebugInfo] Use (isDebugValue() || isDebugLable()) instead of isDebugValue().
Fri, Mar 30, 1:41 AM
HsiangKai abandoned D45033: [DebugInfo] In GlobalISel, convert llvm.dbg.label to DBG_LABEL MI..
Fri, Mar 30, 1:41 AM
HsiangKai abandoned D45030: [DebugInfo] Verifier for DILabel and llvm.dbg.label..
Fri, Mar 30, 1:39 AM
HsiangKai abandoned D45029: [DebugInfo] Add MI instruction 'DBG_LABEL label'..
Fri, Mar 30, 1:38 AM
HsiangKai abandoned D45028: [DebugInfo] Prepare DIBuilder for labels..
Fri, Mar 30, 1:37 AM
HsiangKai abandoned D45027: [DebugInfo] Add intrinsic function llvm.dbg.label for labels..
Fri, Mar 30, 1:37 AM
HsiangKai updated the diff for D45078: [DebugInfo] Enable the capability of attaching metadata to BasicBlock..

Add DILabel to SlotTracker in IR AsmWriter.

Fri, Mar 30, 12:51 AM

Thu, Mar 29

HsiangKai added a dependency for D45078: [DebugInfo] Enable the capability of attaching metadata to BasicBlock.: D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label..
Thu, Mar 29, 11:26 PM
HsiangKai added a dependent revision for D45024: [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label.: D45078: [DebugInfo] Enable the capability of attaching metadata to BasicBlock..
Thu, Mar 29, 11:26 PM
HsiangKai created D45078: [DebugInfo] Enable the capability of attaching metadata to BasicBlock..
Thu, Mar 29, 11:25 PM
HsiangKai updated subscribers of D45045: [DebugInfo] Generate debug information for labels..
Thu, Mar 29, 7:40 AM
HsiangKai added a dependency for D45045: [DebugInfo] Generate debug information for labels.: D45043: [DebugInfo] Add test cases for generating debug info of labels..
Thu, Mar 29, 7:37 AM
HsiangKai added a dependent revision for D45043: [DebugInfo] Add test cases for generating debug info of labels.: D45045: [DebugInfo] Generate debug information for labels..
Thu, Mar 29, 7:37 AM
HsiangKai changed the repository for D45045: [DebugInfo] Generate debug information for labels. from rL LLVM to rC Clang.
Thu, Mar 29, 7:35 AM
HsiangKai created D45045: [DebugInfo] Generate debug information for labels..
Thu, Mar 29, 7:35 AM
HsiangKai added a dependency for D45043: [DebugInfo] Add test cases for generating debug info of labels.: D45042: [DebugInfo] Fill DW_TAG_label attributes..
Thu, Mar 29, 7:30 AM
HsiangKai added a dependent revision for D45042: [DebugInfo] Fill DW_TAG_label attributes.: D45043: [DebugInfo] Add test cases for generating debug info of labels..
Thu, Mar 29, 7:30 AM
HsiangKai added a dependency for D45042: [DebugInfo] Fill DW_TAG_label attributes.: D45041: [DebugInfo] Construct DW_TAG_label DIEs from DbgLabels..
Thu, Mar 29, 7:30 AM
HsiangKai added a dependent revision for D45041: [DebugInfo] Construct DW_TAG_label DIEs from DbgLabels.: D45042: [DebugInfo] Fill DW_TAG_label attributes..
Thu, Mar 29, 7:30 AM
HsiangKai added a dependent revision for D45040: [DebugInfo] Construct DWARF-specific data for labels in DwarfDebug.: D45041: [DebugInfo] Construct DW_TAG_label DIEs from DbgLabels..
Thu, Mar 29, 7:29 AM
HsiangKai added a dependency for D45041: [DebugInfo] Construct DW_TAG_label DIEs from DbgLabels.: D45040: [DebugInfo] Construct DWARF-specific data for labels in DwarfDebug..
Thu, Mar 29, 7:29 AM
HsiangKai added a dependency for D45040: [DebugInfo] Construct DWARF-specific data for labels in DwarfDebug.: D45039: [DebugInfo] Prepare debug information of labels in DebugHandlerBase..
Thu, Mar 29, 7:28 AM
HsiangKai added a dependent revision for D45039: [DebugInfo] Prepare debug information of labels in DebugHandlerBase.: D45040: [DebugInfo] Construct DWARF-specific data for labels in DwarfDebug..
Thu, Mar 29, 7:28 AM
HsiangKai added a dependency for D45039: [DebugInfo] Prepare debug information of labels in DebugHandlerBase.: D45038: [DebugInfo] Skip DBG_LABEL in calculateDbgValueHistory()..
Thu, Mar 29, 7:28 AM
HsiangKai added a dependent revision for D45038: [DebugInfo] Skip DBG_LABEL in calculateDbgValueHistory().: D45039: [DebugInfo] Prepare debug information of labels in DebugHandlerBase..
Thu, Mar 29, 7:28 AM
HsiangKai added a dependent revision for D45037: [DebugInfo] Emit comments for DBG_LABEL in AsmPrinter.: D45038: [DebugInfo] Skip DBG_LABEL in calculateDbgValueHistory()..
Thu, Mar 29, 7:27 AM
HsiangKai added a dependency for D45038: [DebugInfo] Skip DBG_LABEL in calculateDbgValueHistory().: D45037: [DebugInfo] Emit comments for DBG_LABEL in AsmPrinter..
Thu, Mar 29, 7:27 AM
HsiangKai added a dependency for D45037: [DebugInfo] Emit comments for DBG_LABEL in AsmPrinter.: D45036: [DebugInfo] Generating DBG_LABEL MachineInstr from SelectionDAG..
Thu, Mar 29, 7:27 AM
HsiangKai added a dependent revision for D45036: [DebugInfo] Generating DBG_LABEL MachineInstr from SelectionDAG.: D45037: [DebugInfo] Emit comments for DBG_LABEL in AsmPrinter..
Thu, Mar 29, 7:27 AM
HsiangKai added a dependency for D45036: [DebugInfo] Generating DBG_LABEL MachineInstr from SelectionDAG.: D45035: [DebugInfo] Construct SDDbgLabel to store debug info of labels in DAG..
Thu, Mar 29, 7:27 AM
HsiangKai added a dependent revision for D45035: [DebugInfo] Construct SDDbgLabel to store debug info of labels in DAG.: D45036: [DebugInfo] Generating DBG_LABEL MachineInstr from SelectionDAG..
Thu, Mar 29, 7:27 AM
HsiangKai added a dependency for D45035: [DebugInfo] Construct SDDbgLabel to store debug info of labels in DAG.: D45034: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI..
Thu, Mar 29, 7:26 AM
HsiangKai added a dependent revision for D45034: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI.: D45035: [DebugInfo] Construct SDDbgLabel to store debug info of labels in DAG..
Thu, Mar 29, 7:26 AM
HsiangKai added a dependency for D45034: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI.: D45033: [DebugInfo] In GlobalISel, convert llvm.dbg.label to DBG_LABEL MI..
Thu, Mar 29, 7:26 AM
HsiangKai added a dependent revision for D45033: [DebugInfo] In GlobalISel, convert llvm.dbg.label to DBG_LABEL MI.: D45034: [DebugInfo] In FastISel, convert llvm.dbg.label to DBG_LABEL MI..
Thu, Mar 29, 7:26 AM
HsiangKai added a dependency for D45033: [DebugInfo] In GlobalISel, convert llvm.dbg.label to DBG_LABEL MI.: D45032: [DebugInfo] LLVM IR assembly writer for DILabel..
Thu, Mar 29, 7:26 AM
HsiangKai added a dependent revision for D45032: [DebugInfo] LLVM IR assembly writer for DILabel.: D45033: [DebugInfo] In GlobalISel, convert llvm.dbg.label to DBG_LABEL MI..
Thu, Mar 29, 7:26 AM
HsiangKai added a dependency for D45032: [DebugInfo] LLVM IR assembly writer for DILabel.: D45031: [DebugInfo] Use (isDebugValue() || isDebugLable()) instead of isDebugValue().
Thu, Mar 29, 7:25 AM
HsiangKai added a dependent revision for D45031: [DebugInfo] Use (isDebugValue() || isDebugLable()) instead of isDebugValue(): D45032: [DebugInfo] LLVM IR assembly writer for DILabel..
Thu, Mar 29, 7:25 AM
HsiangKai added a dependency for D45031: [DebugInfo] Use (isDebugValue() || isDebugLable()) instead of isDebugValue(): D45030: [DebugInfo] Verifier for DILabel and llvm.dbg.label..
Thu, Mar 29, 7:25 AM
HsiangKai added a dependent revision for D45030: [DebugInfo] Verifier for DILabel and llvm.dbg.label.: D45031: [DebugInfo] Use (isDebugValue() || isDebugLable()) instead of isDebugValue().
Thu, Mar 29, 7:25 AM