Page MenuHomePhabricator

yonghong-song (Yonghong Song)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 4 2018, 11:50 PM (36 w, 3 d)

Recent Activity

Tue, Jun 11

yonghong-song added a comment to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

@rsmith @eli.friedman Ping again. Do you have any comments on my proposed clang/IR intrinsics? Thanks!

Tue, Jun 11, 5:05 PM · Restricted Project

Tue, May 28

yonghong-song updated the diff for D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

remove bpf offsetreloc option and use FileCheck in the test.

Tue, May 28, 5:17 PM · Restricted Project
yonghong-song updated the diff for D61524: [BPF] Support for compile once and run everywhere.

remove BPF "checkoffsetreloc" subtarget option as just honoring what user says. Later on, if needed, we can introduce a pass to help show user what is transformed and what is not so user can decide whether there is any missing __builtin_preserve_access_index()'s.

Tue, May 28, 5:17 PM · Restricted Project
yonghong-song added a comment to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

@rsmith @eli.friedman Do you have any comments on the clang intrinsic interface in this patch and the llvm intrinsics interface at https://reviews.llvm.org/D61810?

Tue, May 28, 12:49 PM · Restricted Project

Sun, May 26

yonghong-song committed rGe698958ad803: [BPF] generate R_BPF_NONE relocation for BTF DataSec variables (authored by yonghong-song).
[BPF] generate R_BPF_NONE relocation for BTF DataSec variables
Sun, May 26, 2:25 PM

Sat, May 25

yonghong-song created D62460: [BPF] generate R_BPF_NONE relocation for BTF DataSec variables.
Sat, May 25, 10:46 PM · Restricted Project

Thu, May 23

yonghong-song added inline comments to D61524: [BPF] Support for compile once and run everywhere.
Thu, May 23, 11:00 PM · Restricted Project
yonghong-song added inline comments to D61524: [BPF] Support for compile once and run everywhere.
Thu, May 23, 6:52 PM · Restricted Project
yonghong-song added inline comments to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.
Thu, May 23, 5:30 PM · Restricted Project

Tue, May 21

yonghong-song updated subscribers of D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

@eli.friedman @rsmith @lebedev.ri I just loaded a new set of patches. Notable changes include

  • introduce clang intrinsic base = __builtin_preserve_access_index(base), which is used to identify relocatable geps. This is a buy-in approach from user so we do not pay performance penalty for transforming gep's to intrinsics and later back to gep with some performance loss.
  • for IR intrinsics preserve_*_access_index, struct/union names are removed from the argument list. Instead a new metadata type MD_preserve_access_index is introduced. This metadata has struct/union debuginfo type and attached to preserve_*_access_index.
Tue, May 21, 10:10 PM · Restricted Project
yonghong-song updated the diff for D61524: [BPF] Support for compile once and run everywhere.
Tue, May 21, 10:00 PM · Restricted Project
yonghong-song updated the diff for D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

removed typename from intrinsics, using metadata (ditype) instead

Tue, May 21, 9:56 PM · Restricted Project
yonghong-song updated the diff for D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

add clang builtin __builtin_preserve_access_index

Tue, May 21, 9:52 PM · Restricted Project

Mon, May 20

yonghong-song added a comment to D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

I did some analysis on the performance side, specifically, # of instructions generated.
My example is cilium at https://github.com/cilium/cilium/tree/master/bpf, bpf program bpf_lxc.c.

Mon, May 20, 12:27 PM · Restricted Project

May 17 2019

yonghong-song added a comment to D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

This update of three patches mostly a few intrinsic format changes (array +num_of_zeros for gep, array/struct -inst_name), and correspond adjustments to fix bugs.
This will unblock other kernel bpf developers which can work in parallel in kernel side.

May 17 2019, 4:46 PM · Restricted Project
yonghong-song updated the diff for D61524: [BPF] Support for compile once and run everywhere.

changes due to intrinsics change

May 17 2019, 4:40 PM · Restricted Project
yonghong-song updated the diff for D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

change new intrinsic format, add num_of_zeros for array, remove inst_name

May 17 2019, 4:40 PM · Restricted Project
yonghong-song updated the diff for D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

array index may not be constant and remove inst_name

May 17 2019, 4:34 PM · Restricted Project

May 16 2019

yonghong-song added a comment to D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

@eli.friedman thanks for the review. I just did some experiments with some performance sensitive bpf programs. It looks the approach I am taking here cause worse case 30% instructions generated by llvm at -O2 level.
So the current approach to convert to intrinsics blindly and later on convert back unnecessary intrinsics to regular GEP and necessary intrinsics to relocatable GEP won't work.
The main reason for performance degradation is:

  • intrinsics causing less optimal codes which may contributes 5% performance loss for a relative small routines, for a large routines, I have see the loss is more than 20%.
  • intrinsics impact inline decision and less inlining has negative impacts on the performance.
May 16 2019, 1:37 PM · Restricted Project
yonghong-song added inline comments to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.
May 16 2019, 1:27 PM · Restricted Project
yonghong-song added a comment to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

@rsmith @eli.friedman Hi, I just implemented a new version which generates intrinsics only. Three intrinsics are implemented for array/union/structure separately as their handling and parameters are different. Could you take a look? Thanks!

May 16 2019, 9:28 AM · Restricted Project
yonghong-song added a comment to D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

@lebedev.ri For comments "What about other targets, does this need some default expansion?", currently these intrinsics only used by bpf and lowered to GEP in an IR pass implemented by bpf backend. I can certainly implement some default expansion if it is desirable. Is the SelectionDAG the proper place to implement the default lowering?

May 16 2019, 9:23 AM · Restricted Project
yonghong-song updated the diff for D61524: [BPF] Support for compile once and run everywhere.

use the new preserve_*_access_index intrinsics

May 16 2019, 9:21 AM · Restricted Project
yonghong-song updated the diff for D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

split intrinsics into three, and add langdef.

May 16 2019, 9:21 AM · Restricted Project
yonghong-song updated the diff for D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

do not generate gep any more, only intrinsics

May 16 2019, 9:15 AM · Restricted Project

May 13 2019

yonghong-song added a comment to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

@rsmith @eli.friedman Thanks for your comments. I fully agree that it seems awkward that we have both GEP and intrinsic generation. I will try to do some experiments here to only have intrinsic generation. My only concern is possible performance degradation. I will post here once I got concrete implementation and numbers.

May 13 2019, 12:54 PM · Restricted Project
yonghong-song added a comment to D61524: [BPF] Support for compile once and run everywhere.

getAsInstruction probably doesn't do what you want here. It actually creates a new Instruction*, instead of casting the expression. Probably this is the source of the verifier error.

May 13 2019, 12:06 PM · Restricted Project

May 12 2019

yonghong-song committed rG98fe9c9869c4: [BPF] emit BTF sections only if debuginfo available (authored by yonghong-song).
[BPF] emit BTF sections only if debuginfo available
May 12 2019, 9:59 PM

May 11 2019

yonghong-song created D61826: [BPF] emit BTF sections only if debuginfo available.
May 11 2019, 11:17 AM · Restricted Project

May 10 2019

yonghong-song added a comment to D61524: [BPF] Support for compile once and run everywhere.

@eli.friedman I just uploaded a new revision which uses a newly-added intrinsics to pass information from clang generated IR to BPF IR pass. Could you take a look and give your opinion on this approach?
This patch is not mergeable as I have a llvm verification failure described in my previous comments. If you have some insight on this issue, please let me know. Thanks!

May 10 2019, 4:14 PM · Restricted Project
yonghong-song added a comment to D61524: [BPF] Support for compile once and run everywhere.

My current implementation has an issue like below:

May 10 2019, 4:12 PM · Restricted Project
yonghong-song added a child revision for D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index: D61809: [BPF] Preserve debuginfo array/union/struct type/access index.
May 10 2019, 4:03 PM · Restricted Project
yonghong-song added a child revision for D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index: D61524: [BPF] Support for compile once and run everywhere.
May 10 2019, 4:03 PM · Restricted Project
yonghong-song added parent revisions for D61524: [BPF] Support for compile once and run everywhere: D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index, D61809: [BPF] Preserve debuginfo array/union/struct type/access index.
May 10 2019, 4:03 PM · Restricted Project
yonghong-song added a parent revision for D61809: [BPF] Preserve debuginfo array/union/struct type/access index: D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.
May 10 2019, 4:03 PM · Restricted Project
yonghong-song added a child revision for D61809: [BPF] Preserve debuginfo array/union/struct type/access index: D61524: [BPF] Support for compile once and run everywhere.
May 10 2019, 4:03 PM · Restricted Project
yonghong-song added a comment to D61524: [BPF] Support for compile once and run everywhere.

A new apporach to use intrindics to pass info. from clang is used. The following two patches implements the intrinsics:

https://reviews.llvm.org/D61809
https://reviews.llvm.org/D61810
May 10 2019, 3:59 PM · Restricted Project
yonghong-song added a comment to D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.

@lebedev.ri Thanks for looking at this patch. The following two other patches are correlated so I just added them here.

https://reviews.llvm.org/D61809
https://reviews.llvm.org/D61524

Could you be more specific where to add langref for this intrinsic?

May 10 2019, 3:58 PM · Restricted Project
yonghong-song added a comment to D61809: [BPF] Preserve debuginfo array/union/struct type/access index.

@lebedev.ri Thanks for the comment. This patch is not ready to land yet. Yes, tests are missing and I am going to add tests later.
More importantly, I want to get a sense whether what I am implementing here is the right direction or not.
The following two other patches are also related to describe our end goal:

https://reviews.llvm.org/D61810
https://reviews.llvm.org/D61524
May 10 2019, 3:50 PM · Restricted Project
yonghong-song updated the diff for D61524: [BPF] Support for compile once and run everywhere.

clang encodes struct/union typename, field_index, array subscript and the original getelementptr base address into preserve_di_access_index intrinsics. this way, the BPF IR passes can just look at these intrinsics to get the original type info in order to construct the complete gep access pattern.

May 10 2019, 3:46 PM · Restricted Project
yonghong-song created D61810: [BPF] add new intrinsics preserve_{array,union,struct}_access_index.
May 10 2019, 3:39 PM · Restricted Project
yonghong-song created D61809: [BPF] Preserve debuginfo array/union/struct type/access index.
May 10 2019, 3:36 PM · Restricted Project

May 3 2019

yonghong-song added a comment to D61524: [BPF] Support for compile once and run everywhere.

@efriedma thanks for the comments. I will take a look at clang gep generation to see whether relocatable gep can be done where.

May 3 2019, 10:26 PM · Restricted Project
yonghong-song created D61524: [BPF] Support for compile once and run everywhere.
May 3 2019, 10:59 AM · Restricted Project
yonghong-song added a comment to D61512: [Docs][CodeGenerator][eBPF] Correct the values for BPF_X and BPF_K.

merged. https://reviews.llvm.org/rL359904

May 3 2019, 9:40 AM · Restricted Project
yonghong-song committed rG33434d5f0450: [Docs][CodeGenerator][eBPF] Correct the values for BPF_X and BPF_K (authored by yonghong-song).
[Docs][CodeGenerator][eBPF] Correct the values for BPF_X and BPF_K
May 3 2019, 9:38 AM
yonghong-song accepted D61512: [Docs][CodeGenerator][eBPF] Correct the values for BPF_X and BPF_K.

Thanks for the fix! Please go ahead to land by yourself if you have write permission. Otherwise, let me know I can land for you.

May 3 2019, 8:42 AM · Restricted Project

Apr 26 2019

yonghong-song committed rG51a4a0d68f37: [BPF] do not generate predefined macro bpf (authored by yonghong-song).
[BPF] do not generate predefined macro bpf
Apr 26 2019, 8:34 AM

Apr 25 2019

yonghong-song updated the diff for D61173: [BPF] do not generate predefined macro bpf.

remove __bpf.

Apr 25 2019, 11:17 PM · Restricted Project, Restricted Project
yonghong-song added inline comments to D61173: [BPF] do not generate predefined macro bpf.
Apr 25 2019, 11:09 PM · Restricted Project, Restricted Project
yonghong-song created D61173: [BPF] do not generate predefined macro bpf.
Apr 25 2019, 10:55 PM · Restricted Project, Restricted Project

Apr 2 2019

yonghong-song accepted D60117: [BPF] Replace fstream and sstream with line_iterator.

This definitely more llvm-like. Thanks for the change!

Apr 2 2019, 8:33 AM · Restricted Project

Mar 28 2019

yonghong-song committed rG360a4e2ca6ea: [BPF] add proper multi-dimensional array support (authored by yonghong-song).
[BPF] add proper multi-dimensional array support
Mar 28 2019, 2:59 PM
yonghong-song created D59943: [BPF] add proper multi-dimensional array support.
Mar 28 2019, 9:01 AM · Restricted Project

Mar 27 2019

yonghong-song committed rG6c56edfe420d: [BPF] use std::map to ensure consistent output (authored by yonghong-song).
[BPF] use std::map to ensure consistent output
Mar 27 2019, 8:44 AM

Mar 21 2019

yonghong-song committed rGa1ffe2fa49bc: [BPF] fix flaky btf unit test static-var-derived-type.ll (authored by yonghong-song).
[BPF] fix flaky btf unit test static-var-derived-type.ll
Mar 21 2019, 7:56 PM
yonghong-song committed rGded9a440d03f: [BPF] handle derived type properly for computing type id (authored by yonghong-song).
[BPF] handle derived type properly for computing type id
Mar 21 2019, 6:31 PM

Mar 16 2019

yonghong-song committed rG6db6b56a5c8f: [BPF] Add BTF Var and DataSec Support (authored by yonghong-song).
[BPF] Add BTF Var and DataSec Support
Mar 16 2019, 8:36 AM

Mar 15 2019

yonghong-song added inline comments to D59441: [BPF] Add BTF Var and DataSec Support.
Mar 15 2019, 10:38 PM · Restricted Project
yonghong-song created D59441: [BPF] Add BTF Var and DataSec Support.
Mar 15 2019, 4:23 PM · Restricted Project
yonghong-song committed rG44ed286a2f80: [BPF] handle external global properly (authored by yonghong-song).
[BPF] handle external global properly
Mar 15 2019, 10:40 AM

Mar 14 2019

yonghong-song committed rGcacac05aca3d: [BPF] do not generate unused local/global types (authored by yonghong-song).
[BPF] do not generate unused local/global types
Mar 14 2019, 10:52 PM
yonghong-song committed rGbf3a279bced1: Revert "[BPF] do not generate unused local/global types" (authored by yonghong-song).
Revert "[BPF] do not generate unused local/global types"
Mar 14 2019, 10:02 PM
yonghong-song committed rG5664d4c8cae9: [BPF] do not generate unused local/global types (authored by yonghong-song).
[BPF] do not generate unused local/global types
Mar 14 2019, 9:41 PM

Mar 4 2019

yonghong-song committed rGd82247cb804c: [BPF] Do not generate BTF sections unnecessarily (authored by yonghong-song).
[BPF] Do not generate BTF sections unnecessarily
Mar 4 2019, 5:03 PM
yonghong-song created D58936: [BPF] Do not generate BTF sections unnecessarily.
Mar 4 2019, 4:42 PM · Restricted Project

Feb 26 2019

yonghong-song committed rGcc290a9e912e: [BPF] Don't fail for static variables (authored by yonghong-song).
[BPF] Don't fail for static variables
Feb 26 2019, 9:36 PM

Feb 19 2019

yonghong-song committed rG8e21c08593de: [BPF] make test case reloc-btf.ll tolerable for old compilers (authored by yonghong-song).
[BPF] make test case reloc-btf.ll tolerable for old compilers
Feb 19 2019, 4:24 PM

Jan 30 2019

yonghong-song accepted D57436: gn build: Add BPF target..
Jan 30 2019, 1:03 PM
yonghong-song added a comment to D57436: gn build: Add BPF target..

I read through the link and yes the code looks okay. I think this is a communication issue.
It would be good next time if you have better commit messages which provides enough info. about the change so reviewers can at least
take a look knowing what happens. In the case the reviewer requested a change, it would be good to send out information (as you did)
and wait for acknowledgement before merging.

Jan 30 2019, 1:03 PM
yonghong-song abandoned D53329: Generate DIFile with main program if source is not available.

Abandon this patch as the proposed fix is not correct. I have put relative information in the bug https://bugs.llvm.org/show_bug.cgi?id=40170.

Jan 30 2019, 9:54 AM · debug-info

Jan 28 2019

yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

Yes, I do. I can follow the instructions at https://llvm.org/docs/Phabricator.html to commit this change. Thanks!

Jan 28 2019, 1:07 PM
yonghong-song added a comment to D53329: Generate DIFile with main program if source is not available.

@dblaikie As I mentioned in one of my earlier comments, after some analysis, I think this patch definitely not the right way to fix the problem. We just cannot default to the main file if the DIFile source is not available.

Jan 28 2019, 9:03 AM · debug-info
yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

@lhames Pinging. Could you take a look whether the modified patch addressed your comments or not? Thanks!

Jan 28 2019, 8:53 AM

Jan 22 2019

yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

@lhames Just ping, did you get a chance looking at the updated patch? Thanks!

Jan 22 2019, 9:30 AM

Jan 17 2019

yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

Hi, @lhames, could you check whether my change addressed your concern or not? Thanks!

Jan 17 2019, 9:26 AM

Jan 16 2019

yonghong-song updated the diff for D55943: [RuntimeDyld] load all sections with ProcessAllSections.

change one comment from C style to C++ style

Jan 16 2019, 11:53 PM

Jan 15 2019

yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

@lhames Thanks for the review. I just addressed your comments to emit all remaining not-yet-emitted sections. Could you take a look?
Also since the approach for this patch is preferred, I have abandoned my another patch D56729. Thanks!

Jan 15 2019, 4:47 PM
yonghong-song abandoned D56729: [RuntimeDyld][BPF] load additional sections.

Abandon this patch. D55943 is the recommended approach.

Jan 15 2019, 4:46 PM
yonghong-song updated the diff for D55943: [RuntimeDyld] load all sections with ProcessAllSections.

address Lang's comments. Emit all not-yet-loaded sections.

Jan 15 2019, 4:44 PM
yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

Hi, @lhames For this patch, if ProcessAllSections is set to true, all sections will be loaded.
I am not sure whether this is the original intention of not as it says ProcessAllSections, not meaning LoadAllSections.

Jan 15 2019, 9:33 AM
yonghong-song added a comment to D56729: [RuntimeDyld][BPF] load additional sections.

Hi, @lhames this is an alternative implementation w.r.t. D55943. In D55943, if ProcessAllSections is set to true, all sections will be loaded.
I am not sure whether this is the original intention of not as it says ProcessAllSections, not meaning LoadAllSections.

Jan 15 2019, 9:30 AM
yonghong-song created D56729: [RuntimeDyld][BPF] load additional sections.
Jan 15 2019, 9:26 AM

Jan 14 2019

yonghong-song added a comment to D53329: Generate DIFile with main program if source is not available.

@scott.linder Thanks! It would be good if you could give at least an initial, even rough, analysis.

Jan 14 2019, 2:09 PM · debug-info
yonghong-song added a comment to D53329: Generate DIFile with main program if source is not available.

@dblaikie @scott.linder Have you got time to look at this issue? Looks like a trivial test case will be able to reproduce the problem. I have the simple example in the previous comments. Practically, -gdwarf-5 -gembed-source is broken now.

Jan 14 2019, 10:09 AM · debug-info
yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

Hi, @lhames Pinging, have you got time to take a look at this issue?

Jan 14 2019, 10:06 AM

Dec 27 2018

yonghong-song added a comment to D53329: Generate DIFile with main program if source is not available.

I found an easy way to reproduce the issue and also did some preliminary analysis. I have filed a bug https://bugs.llvm.org/show_bug.cgi?id=40170. The reproducible case and my analysis is below:

Dec 27 2018, 11:42 PM · debug-info

Dec 20 2018

yonghong-song updated subscribers of D55943: [RuntimeDyld] load all sections with ProcessAllSections.

@labath No problem. Yes, I just searched and find you also contributed patch(es) there in non architecture-dependent way. @lhames is in the review list. Thanks!

Dec 20 2018, 11:17 AM
yonghong-song added a comment to D55943: [RuntimeDyld] load all sections with ProcessAllSections.

I uploaded a test case to demonstrate the use case related to BPF and .BTF section, in case that you want to reproduce in this specific use case context.

Dec 20 2018, 11:06 AM
yonghong-song created D55943: [RuntimeDyld] load all sections with ProcessAllSections.
Dec 20 2018, 10:54 AM

Dec 19 2018

yonghong-song abandoned D53736: [BTF] Add BTF DebugInfo.

The alternative method (put most of implementation under lib/Target/BPF with slight refactoring at the core) is used. Abandon this one.

Dec 19 2018, 8:46 AM · debug-info

Dec 16 2018

yonghong-song added a comment to D55756: [DebugInfo] Make AsmPrinter struct HandlerInfo and Handlers protected.

@echristo @aprantl @dblaikie
This patch and two other patches (D55755, D55752) implemented a different mechanism
to generate BTF than patch D53736. D53736 has its most implementation under
lib/CodeGen/AsmPrinter. The new mechanism put most implementation under BTF target.

Dec 16 2018, 10:03 PM · debug-info
yonghong-song added a comment to D55755: [DebugInfo] Move several private headers to include directory.

@echristo @aprantl @dblaikie
This patch and two other patches (D55756, D55752) implemented a different mechanism
to generate BTF than patch D53736. D53736 has its most implementation under
lib/CodeGen/AsmPrinter. The new mechanism put most implementation under BTF target.

(1) https://reviews.llvm.org/D55755, moving header files
(2) https://reviews.llvm.org/D55756, changes some fields from private to protected
(3) https://reviews.llvm.org/D55752, changes only under target BPF

It will be good if you can help review all related patches and provide your opinions soon.
Thanks! Real appreciated.

Dec 16 2018, 10:02 PM · debug-info
yonghong-song added a comment to D53736: [BTF] Add BTF DebugInfo.

@echristo @aprantl @dblaikie This patch has stuck in this state for more than one month and did not make progress.
I have suggested a possible way to move some header files to include directory and then we will be
able to move BTFDebug.{cpp,h} under BPF directory. I have implemented this approach with the
following three patches for easy to see pro and cons of two approaches:

(1) https://reviews.llvm.org/D55755, moving header files
(2) https://reviews.llvm.org/D55756, changes some fields from private to protected
(3) https://reviews.llvm.org/D55752, changes only under target BPF
Dec 16 2018, 9:56 PM · debug-info
yonghong-song updated the diff for D55752: [BPF] Add BTF DebugInfo under BPF target.

refactor the previous change to separate Debug info changes into
https://reviews.llvm.org/D55755 (for moving related header files into include directory)
and
https://reviews.llvm.org/D55756 (for exposing some private fields as protected)

Dec 16 2018, 9:43 PM · debug-info
yonghong-song created D55756: [DebugInfo] Make AsmPrinter struct HandlerInfo and Handlers protected.
Dec 16 2018, 9:39 PM · debug-info
yonghong-song created D55755: [DebugInfo] Move several private headers to include directory.
Dec 16 2018, 9:36 PM · debug-info
yonghong-song added a comment to D53736: [BTF] Add BTF DebugInfo.

In one of my earlier comments, I mentioned it is possible to push the implementation into BPF target directory with the need
moving three private headers to include/llvm/CodeGen directory.
I did not get opinion whether that implementation is preferred or not, but I feel that maybe it is a good idea just to go ahead
with a diff which may facilitate discussion and move review/discussion faster.
I created another diff, https://reviews.llvm.org/D55752, which did this implementation.

Dec 16 2018, 4:37 PM · debug-info
yonghong-song created D55752: [BPF] Add BTF DebugInfo under BPF target.
Dec 16 2018, 4:31 PM · debug-info

Dec 15 2018

yonghong-song updated subscribers of D53736: [BTF] Add BTF DebugInfo.
Dec 15 2018, 11:24 PM · debug-info