Page MenuHomePhabricator

jinlin (Jin Lin)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 8 2015, 3:17 PM (351 w, 18 h)

Recent Activity

Nov 17 2021

jinlin committed rG1e9fa0b12a76: Fix the side effect of outlined function when the register is implicit use and… (authored by DianQK).
Fix the side effect of outlined function when the register is implicit use and…
Nov 17 2021, 9:44 AM
jinlin closed D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..
Nov 17 2021, 9:44 AM · Restricted Project

Nov 13 2021

jinlin retitled D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction. from Fix the side effect of outlined function when register is implicit use and implicit-def in the same instruction. to Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..
Nov 13 2021, 7:05 PM · Restricted Project
jinlin retitled D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction. from Fix the side effect of outlined function when register is implicit and implicit-def to Fix the side effect of outlined function when register is implicit use and implicit-def in the same instruction..
Nov 13 2021, 7:05 PM · Restricted Project
jinlin accepted D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..
Nov 13 2021, 7:04 PM · Restricted Project
jinlin added a comment to D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..
Nov 13 2021, 6:14 PM · Restricted Project
jinlin added a comment to D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..

I have got your point. Please still keep your changes in file machine-outliner-side-effect-2.mir. Please update the comment in that file to state that the case of implict-def and implict use of $x0 in the same instruction are handled correctly.

Nov 13 2021, 1:58 PM · Restricted Project

Nov 12 2021

jinlin added inline comments to D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..
Nov 12 2021, 4:44 PM · Restricted Project
jinlin added a comment to D112911: Fix the side effect of outlined function when the register is implicit use and implicit-def in the same instruction..

Here is the output of first iteration machine outliner.
llc -march=arm64 -run-pass=machine-outliner -machine-outliner-reruns=0 --simplify-mir -verify-machineinstrs build/example.mir -o build/example.outlined.mir0

Nov 12 2021, 4:01 PM · Restricted Project

Oct 11 2021

jinlin abandoned D111572: Port Uber specific changes from swift 5.4.2 to swift 5.5.
Oct 11 2021, 12:12 PM · Restricted Project
jinlin requested review of D111572: Port Uber specific changes from swift 5.4.2 to swift 5.5.
Oct 11 2021, 12:10 PM · Restricted Project

Jul 26 2021

jinlin abandoned D106805: Port the Uber specific changes from swift 5.3 to swift 5.4.2.
Jul 26 2021, 9:40 AM · Restricted Project
jinlin added a reviewer for D106805: Port the Uber specific changes from swift 5.3 to swift 5.4.2: tt.
Jul 26 2021, 9:38 AM · Restricted Project
jinlin requested review of D106805: Port the Uber specific changes from swift 5.3 to swift 5.4.2.
Jul 26 2021, 9:35 AM · Restricted Project

Jun 29 2021

jinlin added a comment to D105131: Change the phase ordering of SROA in the LTO to enable more cse opportunities.

This is only changing LTO side of obsolete pass manager.
If that is intentional, i'm not sure it's really worthwhile - it's obsolete pass manager is obsolete.

When I added -flto, this pass will be invoked. The LTO is used in the release build at Uber. Why do you think it is obsolete?

Because now the default is the New Pass Manager.

Jun 29 2021, 11:02 AM · Restricted Project, Restricted Project
jinlin added a comment to D105131: Change the phase ordering of SROA in the LTO to enable more cse opportunities.

This is only changing LTO side of obsolete pass manager.
If that is intentional, i'm not sure it's really worthwhile - it's obsolete pass manager is obsolete.

Jun 29 2021, 10:46 AM · Restricted Project, Restricted Project
jinlin requested review of D105131: Change the phase ordering of SROA in the LTO to enable more cse opportunities.
Jun 29 2021, 9:54 AM · Restricted Project, Restricted Project

Apr 26 2021

jinlin added inline comments to D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 26 2021, 11:52 PM · Restricted Project
jinlin added a comment to D95541: Support Os or Oz inside the LTO.

I don' think mapping 's' to 4 and 'z' to 5 is suitable. It is quite different. If you just want clang -fuse-ld=lld -Oz -flto{,=thin} to work, it already does after D79919

Apr 26 2021, 4:51 PM · Restricted Project
jinlin retitled D95541: Support Os or Oz inside the LTO from Support Os or Oz during LTO to Support Os or Oz inside the LTO.
Apr 26 2021, 2:27 PM · Restricted Project
jinlin committed rGcedfa38fc46d: Preserve the lexical order for global variables during llvm-link merge (authored by jinlin).
Preserve the lexical order for global variables during llvm-link merge
Apr 26 2021, 10:12 AM
jinlin closed D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 26 2021, 10:11 AM · Restricted Project

Apr 23 2021

jinlin updated the diff for D95541: Support Os or Oz inside the LTO.
Apr 23 2021, 9:47 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 23 2021, 12:09 PM · Restricted Project
jinlin updated the diff for D95541: Support Os or Oz inside the LTO.
Apr 23 2021, 10:05 AM · Restricted Project
jinlin updated the diff for D95541: Support Os or Oz inside the LTO.
Apr 23 2021, 9:15 AM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 23 2021, 9:09 AM · Restricted Project

Apr 22 2021

jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 22 2021, 10:04 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 22 2021, 8:12 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 22 2021, 8:09 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 22 2021, 8:03 PM · Restricted Project

Apr 20 2021

jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 20 2021, 4:32 PM · Restricted Project

Apr 16 2021

jinlin added a comment to D94202: Preserve the lexical order for global variables during llvm-link merge.

Or, maybe you can just splice as you go during your first iteration, and you don't need to sort at all or build up any maps...

// Reorder the new globals to match the old order.
for (GlobalVariable &GV : SrcM->globals()) {
  if (GV.hasAppendingLinkage())
    continue;
  auto NewValue = Mapper.mapValue(GV);
  if (!NewValue)
    continue;
  auto *NewGV = dyn_cast<GlobalVariable>(NewValue->stripPointerCasts());
  if (!NewGV)
    continue;
  Globals.splice(Globals.end(), Globals, NewGV->getIterator());
}
Apr 16 2021, 8:21 PM · Restricted Project
jinlin retitled D94202: Preserve the lexical order for global variables during llvm-link merge from Preserve the lexical order of global variables during llvm-link merge to Preserve the lexical order for global variables during llvm-link merge.
Apr 16 2021, 8:57 AM · Restricted Project
jinlin added a comment to D94202: Preserve the lexical order for global variables during llvm-link merge.

This looks brittle and wrong to fiddle with the initializers of the variables and doing some complex logic.
You want to preserve the order, ok, couldn't we just sort the globals in the resulting module according to the order in the source(s)?

Sorry I have sent the wrong patch to the review and it causes many lit cases fails.

The order of the globals is determined when the globals are generated. If you want to sort the order, you have to regenerate the globals and replace the old ones with new ones.

Aren't the globals stored in a list that allows to change their order? It has a remove and insert, that should be sufficient.

You can remove, replace or append. However, you cannot insert. Please correct me if I am wrong.

As far as I can tell the list has insert with a position.

The globals are in the SymbolTableList. It does not provide any util for insertion.

94 public:
95 void addNodeToList(ValueSubClass *V);
96 void removeNodeFromList(ValueSubClass *V);
97 void transferNodesFromList(SymbolTableListTraits &L2, iterator first,
98 iterator last);
99 // private:
100 template<typename TPtr>
101 void setSymTabObject(TPtr *, TPtr);
102 static ValueSymbolTable *toPtr(ValueSymbolTable *P) { return P; }
103 static ValueSymbolTable *toPtr(ValueSymbolTable &R) { return &R; }
104 };

Isn't a SymbolTableList a iplist_impl which has insert and remove? (FWIW, you copied the interface of SymbolTableListTraits not SymbolTableList)

Apr 16 2021, 8:37 AM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Apr 16 2021, 8:35 AM · Restricted Project

Mar 3 2021

jinlin committed rG7c2192b277e6: Add the use of register r for outlined function when register r is live in and… (authored by jinlin).
Add the use of register r for outlined function when register r is live in and…
Mar 3 2021, 3:14 PM
jinlin closed D95267: Add the use of register r for outlined function when register r is live in and defined later..
Mar 3 2021, 3:14 PM · Restricted Project

Mar 2 2021

jinlin added a comment to D94202: Preserve the lexical order for global variables during llvm-link merge.

This looks brittle and wrong to fiddle with the initializers of the variables and doing some complex logic.
You want to preserve the order, ok, couldn't we just sort the globals in the resulting module according to the order in the source(s)?

Sorry I have sent the wrong patch to the review and it causes many lit cases fails.

The order of the globals is determined when the globals are generated. If you want to sort the order, you have to regenerate the globals and replace the old ones with new ones.

Aren't the globals stored in a list that allows to change their order? It has a remove and insert, that should be sufficient.

You can remove, replace or append. However, you cannot insert. Please correct me if I am wrong.

As far as I can tell the list has insert with a position.

Mar 2 2021, 10:54 AM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Mar 2 2021, 10:33 AM · Restricted Project
jinlin added a comment to D94202: Preserve the lexical order for global variables during llvm-link merge.

This looks brittle and wrong to fiddle with the initializers of the variables and doing some complex logic.
You want to preserve the order, ok, couldn't we just sort the globals in the resulting module according to the order in the source(s)?

Sorry I have sent the wrong patch to the review and it causes many lit cases fails.

The order of the globals is determined when the globals are generated. If you want to sort the order, you have to regenerate the globals and replace the old ones with new ones.

Aren't the globals stored in a list that allows to change their order? It has a remove and insert, that should be sufficient.

Mar 2 2021, 9:49 AM · Restricted Project
jinlin added a comment to D94202: Preserve the lexical order for global variables during llvm-link merge.

This looks brittle and wrong to fiddle with the initializers of the variables and doing some complex logic.
You want to preserve the order, ok, couldn't we just sort the globals in the resulting module according to the order in the source(s)?

Mar 2 2021, 9:13 AM · Restricted Project

Mar 1 2021

jinlin added a reviewer for D94202: Preserve the lexical order for global variables during llvm-link merge: jdoerfert.
Mar 1 2021, 9:14 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Mar 1 2021, 9:10 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Mar 1 2021, 9:09 PM · Restricted Project
jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Mar 1 2021, 9:04 PM · Restricted Project

Jan 27 2021

jinlin requested review of D95541: Support Os or Oz inside the LTO.
Jan 27 2021, 9:39 AM · Restricted Project

Jan 22 2021

jinlin requested review of D95267: Add the use of register r for outlined function when register r is live in and defined later..
Jan 22 2021, 2:57 PM · Restricted Project

Jan 21 2021

jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Jan 21 2021, 6:00 PM · Restricted Project
jinlin added inline comments to D94202: Preserve the lexical order for global variables during llvm-link merge.
Jan 21 2021, 5:57 PM · Restricted Project

Jan 14 2021

jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Jan 14 2021, 8:40 AM · Restricted Project

Jan 13 2021

jinlin updated the diff for D94202: Preserve the lexical order for global variables during llvm-link merge.
Jan 13 2021, 10:38 PM · Restricted Project

Jan 6 2021

jinlin requested review of D94202: Preserve the lexical order for global variables during llvm-link merge.
Jan 6 2021, 4:12 PM · Restricted Project

Dec 10 2020

jinlin added a comment to D70562: [LiveRegUnits] Add phys_regs_and_masks iterator range (NFC)..

Sorry I could not provide bitcode file since it is related to IP issue.

Dec 10 2020, 10:32 AM · Restricted Project

Dec 1 2020

jinlin added a comment to D70562: [LiveRegUnits] Add phys_regs_and_masks iterator range (NFC)..

Hi Florian,

Dec 1 2020, 9:43 AM · Restricted Project

Apr 6 2020

jinlin committed rG28ecd7f0b086: [clang-format] Don't break multi block parameters on… (authored by ghvg1313).
[clang-format] Don't break multi block parameters on…
Apr 6 2020, 2:44 PM
jinlin closed D77039: [clang-format] Don't break multi block parameters on ObjCBreakBeforeNestedBlockParam.
Apr 6 2020, 2:43 PM · Restricted Project, Restricted Project

Mar 18 2020

jinlin committed rG0d896278c81c: Support repeated machine outlining (authored by jinlin).
Support repeated machine outlining
Mar 18 2020, 10:53 AM
jinlin added a comment to D71027: Support repeated machine outlining.

Testing Time: 128.22s

Expected Passes    : 36105
Expected Failures  : 163
Unsupported Tests  : 336
Mar 18 2020, 10:52 AM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.

I have made minor changes in test case llvm/test/CodeGen/AArch64/machine-outliner-iterative.mir.

Mar 18 2020, 10:20 AM · Restricted Project

Mar 17 2020

jinlin committed rG7b166d518235: Revert "Support repeated machine outlining" (authored by jinlin).
Revert "Support repeated machine outlining"
Mar 17 2020, 6:56 PM
jinlin added a reverting change for rGab2dcff309f9: Support repeated machine outlining: rG7b166d518235: Revert "Support repeated machine outlining".
Mar 17 2020, 6:56 PM
jinlin committed rGab2dcff309f9: Support repeated machine outlining (authored by jinlin).
Support repeated machine outlining
Mar 17 2020, 6:24 PM
jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 17 2020, 2:35 PM · Restricted Project
jinlin committed rGb9f1b8be1cb0: Revert "Support repeated machine outlining" (authored by jinlin).
Revert "Support repeated machine outlining"
Mar 17 2020, 10:11 AM
jinlin added a reverting change for rG1f93b162fc6b: Support repeated machine outlining: rGb9f1b8be1cb0: Revert "Support repeated machine outlining".
Mar 17 2020, 10:11 AM
jinlin committed rG1f93b162fc6b: Support repeated machine outlining (authored by jinlin).
Support repeated machine outlining
Mar 17 2020, 9:39 AM
jinlin closed D71027: Support repeated machine outlining.
Mar 17 2020, 9:39 AM · Restricted Project
jinlin added a comment to D71027: Support repeated machine outlining.

LGTM!

Mar 17 2020, 9:38 AM · Restricted Project

Mar 16 2020

jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 16 2020, 5:31 PM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 16 2020, 5:31 PM · Restricted Project
jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 16 2020, 5:31 PM · Restricted Project

Mar 13 2020

jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 13 2020, 3:07 PM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 13 2020, 3:07 PM · Restricted Project
jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 13 2020, 3:07 PM · Restricted Project

Mar 11 2020

jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 11 2020, 10:33 PM · Restricted Project
jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 11 2020, 10:33 PM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 11 2020, 10:33 PM · Restricted Project
jinlin committed rGa0cacb60549f: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of… (authored by jinlin).
Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of…
Mar 11 2020, 1:36 PM
jinlin closed D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 11 2020, 1:36 PM · Restricted Project, Restricted Project
jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 11 2020, 9:37 AM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 11 2020, 9:37 AM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 11 2020, 9:37 AM · Restricted Project
jinlin added inline comments to D71027: Support repeated machine outlining.
Mar 11 2020, 9:04 AM · Restricted Project

Mar 10 2020

jinlin updated the diff for D71027: Support repeated machine outlining.
Mar 10 2020, 10:17 PM · Restricted Project
jinlin added a comment to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.

Thank you all for your review and suggestions!

Mar 10 2020, 6:37 PM · Restricted Project, Restricted Project
jinlin added inline comments to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 10 2020, 6:24 AM · Restricted Project, Restricted Project
jinlin updated the diff for D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 10 2020, 6:24 AM · Restricted Project, Restricted Project

Mar 9 2020

jinlin added inline comments to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 9 2020, 9:55 PM · Restricted Project, Restricted Project
jinlin updated the diff for D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 9 2020, 9:55 PM · Restricted Project, Restricted Project
jinlin added a comment to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.

I have not made changes in swift side since the changes in LLVM have to go in first.

Mar 9 2020, 1:30 PM · Restricted Project, Restricted Project
jinlin updated the diff for D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
Mar 9 2020, 1:30 PM · Restricted Project, Restricted Project

Mar 6 2020

jinlin committed rGfc6fda90f708: Fix incorrect logic in maintaining the side-effect of compiler generated… (authored by jinlin).
Fix incorrect logic in maintaining the side-effect of compiler generated…
Mar 6 2020, 9:21 AM
jinlin closed D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 6 2020, 9:21 AM · Restricted Project

Mar 5 2020

jinlin committed rGc14f77ebb032: Fix incorrect logic in maintaining the side-effect of compiler generated… (authored by jinlin).
Fix incorrect logic in maintaining the side-effect of compiler generated…
Mar 5 2020, 3:22 PM

Mar 4 2020

jinlin added a comment to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

All the llvm-lit tests passed without any unexpected fails.

Mar 4 2020, 2:05 PM · Restricted Project
jinlin updated the diff for D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 4 2020, 1:30 PM · Restricted Project
jinlin added a comment to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

I have updated the diffs. Now when you compare Diff 248212 with Diff 248301, you will see they are the same.

Mar 4 2020, 1:30 PM · Restricted Project
jinlin updated the diff for D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 4 2020, 1:29 PM · Restricted Project
jinlin added a comment to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

Hi, I just tried out this patch locally and I'm seeing failures running the tests:

Failing Tests (3):
    LLVM :: CodeGen/AArch64/machine-outliner-cfi.mir
    LLVM :: CodeGen/AArch64/machine-outliner-noreturn-save-lr.mir
    LLVM :: CodeGen/AArch64/machine-outliner-side-effect.mir
Mar 4 2020, 1:29 PM · Restricted Project