Page MenuHomePhabricator

jinlin (Jin Lin)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 8 2015, 3:17 PM (297 w, 2 d)

Recent Activity

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
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, 12:21 PM · Restricted Project
jinlin updated the diff for D71027: Support repeated machine outlining.

Simplified the test case.

Mar 4 2020, 11:15 AM · Restricted Project
jinlin updated the diff for D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

rebase master

Mar 4 2020, 10:38 AM · Restricted Project
jinlin added a comment to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

The changes to machine-outliner-noreturn-save-lr.mir look fine to me.

Mar 4 2020, 10:38 AM · Restricted Project
jinlin added a comment to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

Hi Jessica,

Mar 4 2020, 9:32 AM · Restricted Project
jinlin updated the diff for D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 4 2020, 9:32 AM · Restricted Project

Mar 3 2020

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

LGTM!

Mar 3 2020, 3:00 PM · Restricted Project
jinlin added a comment to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.

The reason you weren't getting outlined functions is probably because there were attributes missing on the function.

I think that we should be able to simplify it further like this:

# RUN: llc -mtriple=aarch64 -run-pass=machine-outliner -verify-machineinstrs %s -o - | FileCheck %s

# The test checks whether the compiler updates the side effect of function @OUTLINED_FUNCTION_0 by adding the use of register x20.

--- |
  declare void @spam() local_unnamed_addr
  define void @baz() optsize minsize noredzone { ret void }
...
---
name:            baz
tracksRegLiveness: true
body:             |
  bb.0:
    liveins: $x0, $x20

    $x0 = COPY renamable $x20
    BL @spam, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit-def $sp, implicit-def $x0
    renamable $x21 = COPY $x0

    $x0 = COPY renamable $x20
    BL @spam, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit-def $sp, implicit-def $x0
    renamable $x22 = COPY $x0

    $x0 = COPY killed renamable $x20
    BL @spam, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit $x0, implicit-def $sp, implicit-def $x0
    renamable $x3 = COPY $x0

    RET_ReallyLR

...

# CHECK: BL @OUTLINED_FUNCTION_0, {{.*}}, implicit $x20, {{.*}}
Mar 3 2020, 1:47 PM · Restricted Project
jinlin updated the diff for D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 3 2020, 1:47 PM · Restricted Project

Mar 2 2020

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

Thank you Jessica for quick feedback. I have updated the test case based on your advice.

Mar 2 2020, 11:09 PM · Restricted Project
jinlin updated the diff for D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 2 2020, 11:09 PM · Restricted Project
jinlin added inline comments to D71217: Fix incorrect logic in maintaining the side-effect of compiler generated outliner functions.
Mar 2 2020, 10:25 PM · Restricted Project

Feb 27 2020

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

Hi Jessica,

Feb 27 2020, 2:29 PM · Restricted Project

Feb 25 2020

jinlin added a comment to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
  1. I will add a llvm-link tests for combining objc and swift bitcode.
  2. What do you mean by "codegen tests for correct value in the object file"? There is no "object file" in the picture. Are you asking for a test that checks the value in the output of llvm-link?

I think the decision was to break apart the current "Objective-C Garbage Collection" metadata. You need codegen test to test that OBJC_IMAGE_INFO is generated correctly after breaking apart the value.

I have question regarding this. Let's assume we have one assembly file from Objective-C and another one from Swift.

Objective-C assembly:
L_OBJC_IMAGE_INFO:
.long 0
.long 64

Swift assembly:

L_OBJC_IMAGE_INFO:
.long 0
.long 83953472

Let's assume that the llvm-link can link Swift bitcode and Objective-C bit successfully and the llc can generate the assembly for the merged output bitcode.

In the final assembly file, what value do you expect for L_OBJC_IMAGE_INFO?

You can easily test that out with ld64. It depends on the bits in the current garbage collection fields. Most of the fields are useless now (only there for GC which is obsoleted), that is why the module flag uses Override. Some bits in there are taking Max, like OBJC_IMAGE_HAS_CATEGORY_CLASS_PROPERTIES. Swift version should be taking Error since mismatch is a failure, unless it is not set.

Feb 25 2020, 4:17 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.
  1. I will add a llvm-link tests for combining objc and swift bitcode.
  2. What do you mean by "codegen tests for correct value in the object file"? There is no "object file" in the picture. Are you asking for a test that checks the value in the output of llvm-link?

I think the decision was to break apart the current "Objective-C Garbage Collection" metadata. You need codegen test to test that OBJC_IMAGE_INFO is generated correctly after breaking apart the value.

Feb 25 2020, 3:05 PM · Restricted Project, Restricted Project

Feb 24 2020

jinlin added a comment to D71219: Fix conflict value for metadata "Objective-C Garbage Collection" in the mix of swift and Objective-C bitcode.
  1. I will add a llvm-link tests for combining objc and swift bitcode.
  2. What do you mean by "codegen tests for correct value in the object file"? There is no "object file" in the picture. Are you asking for a test that checks the value in the output of llvm-link?

I think the decision was to break apart the current "Objective-C Garbage Collection" metadata. You need codegen test to test that OBJC_IMAGE_INFO is generated correctly after breaking apart the value.

Feb 24 2020, 4:27 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.

Update with llvm-link test case.

Feb 24 2020, 4:18 PM · Restricted Project, Restricted Project