Page MenuHomePhabricator

ianlevesque (Ian Levesque)
Software Engineer @ Facebook

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2019, 1:46 PM (187 w, 2 d)

Recent Activity

Mar 11 2023

ianlevesque accepted D145848: [Driver] Correct -f(no-)xray-function-index behavior.

Good catch, thanks for the fix.

Mar 11 2023, 1:18 PM · Restricted Project, Restricted Project

Dec 28 2022

ianlevesque accepted D140739: [XRay] Unsupport version<2 sled entry.

Makes sense to me

Dec 28 2022, 1:16 PM · Restricted Project, Restricted Project

Jul 13 2022

ianlevesque accepted D129594: [InstrProf] Add options to profile function groups.

lgtm

Jul 13 2022, 1:16 PM · Restricted Project, Restricted Project, Restricted Project
ianlevesque added inline comments to D129594: [InstrProf] Add options to profile function groups.
Jul 13 2022, 10:02 AM · Restricted Project, Restricted Project, Restricted Project

Jan 19 2021

ianlevesque committed rG68a1f09107a4: [xray] Honor xray-never function-instrument attribute (authored by ianlevesque).
[xray] Honor xray-never function-instrument attribute
Jan 19 2021, 3:47 PM
ianlevesque closed D89441: [xray] Honor xray-never function-instrument attribute.
Jan 19 2021, 3:47 PM · Restricted Project, Restricted Project

Oct 15 2020

ianlevesque retitled D89441: [xray] Honor xray-never function-instrument attribute from RFC: Potential fixes to function-instrument=xray-never to [xray] Honor xray-never function-instrument attribute.
Oct 15 2020, 7:07 PM · Restricted Project, Restricted Project
ianlevesque updated the diff for D89441: [xray] Honor xray-never function-instrument attribute.

Apply the fix in XRayInstrumentation, add test cases.

Oct 15 2020, 7:06 PM · Restricted Project, Restricted Project

Oct 14 2020

ianlevesque requested review of D89441: [xray] Honor xray-never function-instrument attribute.
Oct 14 2020, 7:24 PM · Restricted Project, Restricted Project

Sep 24 2020

ianlevesque committed rG7db7a3554538: Fix uninitialized XRayArg (authored by ianlevesque).
Fix uninitialized XRayArg
Sep 24 2020, 9:21 PM
ianlevesque committed rG6f7fbdd2857f: [xray] Function coverage groups (authored by ianlevesque).
[xray] Function coverage groups
Sep 24 2020, 7:10 PM
ianlevesque closed D87953: [xray] Function coverage groups.
Sep 24 2020, 7:10 PM · Restricted Project, Restricted Project
ianlevesque updated the diff for D87953: [xray] Function coverage groups.

Add static function to the test case, update documentation.

Sep 24 2020, 6:39 PM · Restricted Project, Restricted Project
ianlevesque added a comment to D87953: [xray] Function coverage groups.

I can update the docs @MaskRay, not a problem. I'll tweak the test a little too per your comment.

Sep 24 2020, 5:56 PM · Restricted Project, Restricted Project
ianlevesque added a comment to D87953: [xray] Function coverage groups.

Thanks @MaskRay - I tried to answer that question in https://reviews.llvm.org/D87953#2286430. At present we are deploying instrumentation to an arbitrary subset of our application using the instruction threshold. I would like to make the selection of how many and which functions more deterministic, and be able to instrument different subsets over time. The overhead we are concerned with is purely binary size as we are deploying to Android devices. We are using features from my previous XRay patches to omit the function index already, but the sheer number of sleds and size of the associated xray_instr_map are the limiting factor of how much we can instrument in any given app release. For our use case it is fine to gradually over a period of weeks work our way across the entire app group by group.

Sep 24 2020, 10:24 AM · Restricted Project, Restricted Project

Sep 23 2020

ianlevesque updated the diff for D87953: [xray] Function coverage groups.

Remove extraneous parameter validations.

Sep 23 2020, 11:44 AM · Restricted Project, Restricted Project

Sep 22 2020

ianlevesque added a comment to D87953: [xray] Function coverage groups.

This is ready for another review, I think I addressed everything.

Sep 22 2020, 1:37 PM · Restricted Project, Restricted Project

Sep 21 2020

ianlevesque updated the diff for D87953: [xray] Function coverage groups.

const

Sep 21 2020, 4:45 PM · Restricted Project, Restricted Project
ianlevesque added a comment to D87953: [xray] Function coverage groups.

How large the overhead is? This is somewhat surprising to me.

Sep 21 2020, 4:16 PM · Restricted Project, Restricted Project
ianlevesque updated the diff for D87953: [xray] Function coverage groups.

Address code review feedback

Sep 21 2020, 4:15 PM · Restricted Project, Restricted Project
ianlevesque added inline comments to D87953: [xray] Function coverage groups.
Sep 21 2020, 4:12 PM · Restricted Project, Restricted Project

Sep 19 2020

ianlevesque added inline comments to D87953: [xray] Function coverage groups.
Sep 19 2020, 9:06 PM · Restricted Project, Restricted Project

Sep 18 2020

ianlevesque requested review of D87953: [xray] Function coverage groups.
Sep 18 2020, 3:44 PM · Restricted Project, Restricted Project

Jun 17 2020

ianlevesque added inline comments to D81995: [xray] Option to omit the function index.
Jun 17 2020, 9:02 PM · Restricted Project, Restricted Project, Restricted Project
ianlevesque added inline comments to D81995: [xray] Option to omit the function index.
Jun 17 2020, 7:26 PM · Restricted Project, Restricted Project, Restricted Project
ianlevesque added inline comments to D81995: [xray] Option to omit the function index.
Jun 17 2020, 3:40 PM · Restricted Project, Restricted Project, Restricted Project
ianlevesque committed rG7c7c8e0da4e0: [xray] Option to omit the function index (authored by ianlevesque).
[xray] Option to omit the function index
Jun 17 2020, 11:19 AM
ianlevesque closed D81995: [xray] Option to omit the function index.
Jun 17 2020, 11:19 AM · Restricted Project, Restricted Project, Restricted Project
ianlevesque created D81995: [xray] Option to omit the function index.
Jun 17 2020, 12:30 AM · Restricted Project, Restricted Project, Restricted Project

May 28 2020

ianlevesque added a comment to D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

Ugh, cut a bit too deep when removing formatting. Thanks for fixing forward on the test @MaskRay

May 28 2020, 10:27 PM · Restricted Project
ianlevesque committed rGe62d67f770d2: [xray] Add llvm-xray extract support for 32 bit ARM (authored by ianlevesque).
[xray] Add llvm-xray extract support for 32 bit ARM
May 28 2020, 4:00 PM
ianlevesque committed rG57f1c43cda8a: clang-format xray InstrumentationMap.cpp (authored by ianlevesque).
clang-format xray InstrumentationMap.cpp
May 28 2020, 4:00 PM
ianlevesque closed D80185: [xray] Add llvm-xray extract support for 32 bit ARM.
May 28 2020, 4:00 PM · Restricted Project

May 27 2020

ianlevesque added a comment to D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

Can I get a re-review on this?

May 27 2020, 11:23 AM · Restricted Project

May 21 2020

ianlevesque added a comment to D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

@MaskRay I think this should cover it now. I cut away all the sections I could from the test and eliminated the unused branch and all the ELFObject modifications.

May 21 2020, 12:59 PM · Restricted Project

May 20 2020

ianlevesque updated the summary of D80185: [xray] Add llvm-xray extract support for 32 bit ARM.
May 20 2020, 9:29 PM · Restricted Project
ianlevesque updated the diff for D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

Remove unnecessary fallback branch.

May 20 2020, 9:29 PM · Restricted Project
ianlevesque added inline comments to D80185: [xray] Add llvm-xray extract support for 32 bit ARM.
May 20 2020, 8:25 PM · Restricted Project
ianlevesque updated the diff for D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

Remove even more sections from the test object. Special case ARM entirely instead of extending the ELFObject classes.

May 20 2020, 5:40 PM · Restricted Project
ianlevesque added a comment to D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

I'll keep looking at this but @MaskRay if you could point me to something in LLVM that checks whether an addend is present that I can actually access from this module that would be helpful. I added getOptionalAddend as a last resort :(

May 20 2020, 9:48 AM · Restricted Project

May 19 2020

ianlevesque updated the diff for D80185: [xray] Add llvm-xray extract support for 32 bit ARM.

Simplify and combine tests per @MaskRay

May 19 2020, 2:53 PM · Restricted Project

May 18 2020

ianlevesque created D80185: [xray] Add llvm-xray extract support for 32 bit ARM.
May 18 2020, 11:17 PM · Restricted Project

Apr 27 2020

ianlevesque committed rG4b9bef7e6cae: [xray] Preserve x8 in trampoline on AArch64 (authored by ianlevesque).
[xray] Preserve x8 in trampoline on AArch64
Apr 27 2020, 12:23 PM
ianlevesque closed D78596: [xray] Preserve x8 in trampoline on AArch64.
Apr 27 2020, 12:23 PM · Restricted Project

Apr 23 2020

ianlevesque accepted D78590: [XRay] Change ARM/AArch64/powerpc64le to use version 2 sled (PC-relative address).
Apr 23 2020, 10:14 PM · Restricted Project

Apr 21 2020

ianlevesque committed rGeeaabe64e307: [xray] Use hidden symbol visibility for xray trampolines (authored by ianlevesque).
[xray] Use hidden symbol visibility for xray trampolines
Apr 21 2020, 8:33 PM
ianlevesque committed rG5081468a6692: [xray] Avoid text relocations in trampolines for ARM/AArch64 (authored by ianlevesque).
[xray] Avoid text relocations in trampolines for ARM/AArch64
Apr 21 2020, 8:33 PM
ianlevesque closed D78595: [xray] Avoid text relocations in trampolines for ARM/AArch64.
Apr 21 2020, 8:33 PM · Restricted Project
ianlevesque closed D78593: [xray] Use hidden symbol visibility for xray trampolines.
Apr 21 2020, 8:33 PM · Restricted Project
ianlevesque created D78596: [xray] Preserve x8 in trampoline on AArch64.
Apr 21 2020, 4:16 PM · Restricted Project
ianlevesque created D78595: [xray] Avoid text relocations in trampolines for ARM/AArch64.
Apr 21 2020, 3:44 PM · Restricted Project
ianlevesque created D78593: [xray] Use hidden symbol visibility for xray trampolines.
Apr 21 2020, 3:44 PM · Restricted Project
ianlevesque added a comment to D78590: [XRay] Change ARM/AArch64/powerpc64le to use version 2 sled (PC-relative address).

@MaskRay for what it's worth i'm currently trying to make xray_fn_idx optional - we tend to patch an entire DSO at a time so we don't need it to find individual sleds (I think we could support the entire compiler-rt interface, just slower, without it). Perhaps if someone cares about avoiding the relocations in xray_fn_idx they could just use the option to omit it as well.

Apr 21 2020, 3:11 PM · Restricted Project

Apr 14 2020

ianlevesque accepted D78082: [XRay] Change xray_instr_map sled addresses from absolute to PC relative for x86-64.

Is "llvm-xray extract" still able to symbolize these correctly? I don't know offhand what test coverage is there for that. The change looks great to me otherwise.

Apr 14 2020, 12:24 PM · Restricted Project

Mar 31 2020

ianlevesque committed rGbb3111cbaf7b: [clang][xray] Add xray attributes to functions without decls too (authored by ianlevesque).
[clang][xray] Add xray attributes to functions without decls too
Mar 31 2020, 9:28 PM
ianlevesque closed D77191: [clang][xray] Add xray attributes to functions without decls too.
Mar 31 2020, 9:27 PM · Restricted Project
ianlevesque created D77191: [clang][xray] Add xray attributes to functions without decls too.
Mar 31 2020, 8:22 PM · Restricted Project

Feb 11 2020

ianlevesque added a comment to D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.

Is it worth adding a test that a function with an explicit xray-instrument attribute also has these other attributes applied?

Feb 11 2020, 1:55 PM · Restricted Project
ianlevesque updated the diff for D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.

Address code review feedback on the tests.

Feb 11 2020, 1:36 PM · Restricted Project

Feb 10 2020

ianlevesque updated the diff for D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.

Now with 100% more tests.

Feb 10 2020, 11:36 PM · Restricted Project

Feb 6 2020

ianlevesque added a comment to D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.

@hiraditya or @smeenai can i get a merge?

Feb 6 2020, 12:56 AM · Restricted Project

Feb 5 2020

ianlevesque updated the diff for D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.

Address code review nits

Feb 5 2020, 7:03 PM · Restricted Project

Feb 3 2020

ianlevesque added inline comments to D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.
Feb 3 2020, 11:29 AM · Restricted Project

Feb 1 2020

ianlevesque created D73842: [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs.
Feb 1 2020, 2:59 PM · Restricted Project

Jan 17 2020

ianlevesque updated the diff for D72890: [xray] Allow instrumenting only function entry and/or only function exit.

Add x86 tests

Jan 17 2020, 12:57 PM · Restricted Project, Restricted Project
ianlevesque added inline comments to D72873: [clang][xray] Add -fxray-ignore-loops option.
Jan 17 2020, 10:22 AM · Restricted Project

Jan 16 2020

ianlevesque added reviewers for D72873: [clang][xray] Add -fxray-ignore-loops option: hiraditya, smeenai.
Jan 16 2020, 4:40 PM · Restricted Project
ianlevesque created D72890: [xray] Allow instrumenting only function entry and/or only function exit.
Jan 16 2020, 4:31 PM · Restricted Project, Restricted Project
ianlevesque updated the diff for D72873: [clang][xray] Add -fxray-ignore-loops option.

fix clang-format

Jan 16 2020, 1:36 PM · Restricted Project
ianlevesque created D72873: [clang][xray] Add -fxray-ignore-loops option.
Jan 16 2020, 1:35 PM · Restricted Project

Jan 14 2020

ianlevesque added a comment to D72659: [xray] Add xray-ignore-loops option.

I'm wondering how you're imbuing these attributes to the functions from the front-ends -- is this something you intend to support as a flag in Clang for example?

Jan 14 2020, 10:52 AM · Restricted Project

Jan 13 2020

ianlevesque updated the diff for D72659: [xray] Add xray-ignore-loops option.

Remove extraneous changes

Jan 13 2020, 3:35 PM · Restricted Project
ianlevesque created D72659: [xray] Add xray-ignore-loops option.
Jan 13 2020, 3:27 PM · Restricted Project

Dec 5 2019

ianlevesque updated subscribers of D69386: [xray] Remove cl::sub from alias options.

@smeenai or @hiraditya we could use this too, maybe one of you can merge?

Dec 5 2019, 6:16 PM · Restricted Project

Nov 7 2019

ianlevesque added a comment to D69967: [llvm-xray] Add AArch64 to llvm-xray extract.

I don't have commit access, can someone land it?

Nov 7 2019, 4:00 PM · Restricted Project
ianlevesque updated the diff for D69967: [llvm-xray] Add AArch64 to llvm-xray extract.

rename Supports

Nov 7 2019, 1:58 PM · Restricted Project
ianlevesque added reviewers for D69967: [llvm-xray] Add AArch64 to llvm-xray extract: phosek, dberris.
Nov 7 2019, 1:47 PM · Restricted Project
ianlevesque added reviewers for D69967: [llvm-xray] Add AArch64 to llvm-xray extract: tetsuo-cpp, smeenai.
Nov 7 2019, 1:47 PM · Restricted Project
ianlevesque created D69967: [llvm-xray] Add AArch64 to llvm-xray extract.
Nov 7 2019, 1:37 PM · Restricted Project