xur (Rong Xu)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 20 2015, 4:19 PM (117 w, 2 d)

Recent Activity

Wed, Nov 15

xur committed rL318353: [CodeGen] Fix the branch probability assertion in r318202.
[CodeGen] Fix the branch probability assertion in r318202
Wed, Nov 15, 4:15 PM

Tue, Nov 14

xur committed rL318206: [CodeGen] Fix the test case added in r318202.
[CodeGen] Fix the test case added in r318202
Tue, Nov 14, 2:08 PM
xur committed rL318202: [CodeGen] Peel off the dominant case in switch statement in lowering.
[CodeGen] Peel off the dominant case in switch statement in lowering
Tue, Nov 14, 1:44 PM
xur closed D39262: [CodeGen] Peel off the dominant case in switch statement in lowering by committing rL318202: [CodeGen] Peel off the dominant case in switch statement in lowering.
Tue, Nov 14, 1:44 PM

Tue, Nov 7

xur updated the diff for D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.

Added more switch cases to make the lowering generate binary search compares.
Thanks to Hans's suggestion.

Tue, Nov 7, 10:03 AM

Mon, Nov 6

xur updated the diff for D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.

Add a test case that tests merging adjacent cases.

Mon, Nov 6, 3:04 PM

Wed, Nov 1

xur added inline comments to D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.
Wed, Nov 1, 4:38 PM
xur updated the diff for D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.

Here is the patch that Integrated with the review comments from Hans.

Wed, Nov 1, 4:04 PM
xur updated the diff for D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.

Integrated with Hans's review comments.

Wed, Nov 1, 1:24 PM
xur added a comment to D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.

Hans, Thanks for the detailed reviews. Please check if the updated patch addresses your reviews.

Wed, Nov 1, 1:23 PM

Fri, Oct 27

xur updated the diff for D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.

Integrated the review comments and suggestion from Hans.

Fri, Oct 27, 2:47 PM

Tue, Oct 24

xur created D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.
Tue, Oct 24, 4:03 PM

Mon, Oct 23

xur committed rL316384: [PM] Add pgo-memop-opt pass to the new pass manager.
[PM] Add pgo-memop-opt pass to the new pass manager
Mon, Oct 23, 3:22 PM
xur closed D39145: [PM] Add pgo-memop-opt pass to the new pass manager by committing rL316384: [PM] Add pgo-memop-opt pass to the new pass manager.
Mon, Oct 23, 3:22 PM
xur updated the diff for D39145: [PM] Add pgo-memop-opt pass to the new pass manager.

Updated the patch with review comments.

Mon, Oct 23, 12:41 PM

Fri, Oct 20

xur updated the diff for D39145: [PM] Add pgo-memop-opt pass to the new pass manager.

Thanks for the review. Here is the updated patch.

Fri, Oct 20, 3:25 PM
xur created D39145: [PM] Add pgo-memop-opt pass to the new pass manager.
Fri, Oct 20, 2:43 PM

Oct 5 2017

xur committed rL314990: [ProfileData] Fix data racing in merging indexed profiles.
[ProfileData] Fix data racing in merging indexed profiles
Oct 5 2017, 10:07 AM
xur closed D38431: [ProfileData] Fix data racing in merging indexed profiles by committing rL314990: [ProfileData] Fix data racing in merging indexed profiles.
Oct 5 2017, 10:07 AM

Oct 2 2017

xur updated the diff for D38431: [ProfileData] Fix data racing in merging indexed profiles.

Integrated the review comments from vsk.

Oct 2 2017, 2:10 PM

Sep 29 2017

xur created D38431: [ProfileData] Fix data racing in merging indexed profiles.
Sep 29 2017, 2:56 PM

Sep 27 2017

xur abandoned D38334: Enable critical edge split for indirectbr instruction.

This patch is wrong. Please ignore.

Sep 27 2017, 2:23 PM
xur created D38334: Enable critical edge split for indirectbr instruction.
Sep 27 2017, 2:14 PM

Sep 15 2017

xur created D37940: Peel off the dominant case in switch statement.
Sep 15 2017, 3:43 PM

Aug 28 2017

xur accepted D37176: Create PHI node for the return value only when the return value has uses..

LGTM

Aug 28 2017, 10:44 AM
xur added a comment to D37176: Create PHI node for the return value only when the return value has uses..

Thanks for the fix.

Aug 28 2017, 10:25 AM

Aug 23 2017

xur committed rL311604: [PGO] Set edge weights for indirectbr instruction with profile counts.
[PGO] Set edge weights for indirectbr instruction with profile counts
Aug 23 2017, 2:37 PM
xur closed D37074: [PGO] Set edge weights for indirectbr instruction with profile counts by committing rL311604: [PGO] Set edge weights for indirectbr instruction with profile counts.
Aug 23 2017, 2:37 PM
xur added inline comments to D37074: [PGO] Set edge weights for indirectbr instruction with profile counts.
Aug 23 2017, 12:40 PM
xur updated the diff for D37074: [PGO] Set edge weights for indirectbr instruction with profile counts.
Aug 23 2017, 12:38 PM
xur updated the diff for D37074: [PGO] Set edge weights for indirectbr instruction with profile counts.
Aug 23 2017, 12:30 PM
xur created D37074: [PGO] Set edge weights for indirectbr instruction with profile counts.
Aug 23 2017, 11:48 AM

Aug 18 2017

xur added a comment to D36844: [PGO] Fixed assertion due to mismatched memcpy size type..

Looks good to me. Thanks for fixing.

Aug 18 2017, 9:11 AM

Aug 15 2017

xur created D36753: [SimplifyCFG] Do not perform tail sinking if there are extra moves introduced.
Aug 15 2017, 9:54 AM

Aug 14 2017

xur accepted D36648: [PGO] Add support for profile dumping dir relocation.
Aug 14 2017, 6:46 PM
xur added a comment to D36648: [PGO] Add support for profile dumping dir relocation.

Lgtm.

Aug 14 2017, 9:08 AM

Apr 27 2017

xur added a comment to D28867: [Profile] Add off-by-default -Wprofile-instr-missing warning.

Looks good to me.

Apr 27 2017, 9:51 AM

Apr 6 2017

xur committed rL299707: [PGO] Preserve GlobalsAA in pgo-memop-opt pass..
[PGO] Preserve GlobalsAA in pgo-memop-opt pass.
Apr 6 2017, 2:08 PM

Apr 4 2017

xur committed rL299446: [PGO] Memory intrinsic calls optimization based on profiled size.
[PGO] Memory intrinsic calls optimization based on profiled size
Apr 4 2017, 9:55 AM
xur closed D28966: [PGO] Memory intrinsic calls optimization based on profiled size by committing rL299446: [PGO] Memory intrinsic calls optimization based on profiled size.
Apr 4 2017, 9:55 AM

Mar 31 2017

xur updated the diff for D28966: [PGO] Memory intrinsic calls optimization based on profiled size.

integrated David's review comments

Mar 31 2017, 12:14 PM

Mar 29 2017

xur updated the diff for D28966: [PGO] Memory intrinsic calls optimization based on profiled size.

This new patch integrated David's review suggestion to make this optimization a separated pass.
This pass will be called after inlining to avoid the potential interference to in-lining decisions. It will use both the metadata annotation for memop size profiling and the enclosing BB's edge count to find the actual count.

Mar 29 2017, 2:48 PM
xur added inline comments to D28966: [PGO] Memory intrinsic calls optimization based on profiled size.
Mar 29 2017, 2:43 PM

Mar 20 2017

xur updated the diff for D28966: [PGO] Memory intrinsic calls optimization based on profiled size.

Integrated David's suggestion to make the optimization a stand along pass (a function pass).
It currently resides in IndirectCallPromotion.cpp. I will have a follow-up patch to change IndirectCallPromotion.cpp to a more appropriate name.

Mar 20 2017, 2:05 PM

Mar 17 2017

xur committed rL298120: [PGO] Change the internal options description. nfc..
[PGO] Change the internal options description. nfc.
Mar 17 2017, 2:03 PM
xur committed rL298115: [PGO] Add omitted test cases..
[PGO] Add omitted test cases.
Mar 17 2017, 1:17 PM
xur committed rL298113: Resubmit r295469 [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write.
Resubmit r295469 [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write
Mar 17 2017, 11:53 AM
xur committed rL298110: [PGO] Value profile for size of memory intrinsic calls.
[PGO] Value profile for size of memory intrinsic calls
Mar 17 2017, 11:19 AM
xur closed D31002: {PGO] Profile annotation for MemOPSize value profile by committing rL298110: [PGO] Value profile for size of memory intrinsic calls.
Mar 17 2017, 11:19 AM
xur updated the diff for D31002: {PGO] Profile annotation for MemOPSize value profile .

randomize the order the VP profile entry in proftext, as suggested by David.

Mar 17 2017, 11:01 AM

Mar 16 2017

xur updated the diff for D31002: {PGO] Profile annotation for MemOPSize value profile .

Fix the testcase.

Mar 16 2017, 3:32 PM
xur updated the diff for D31002: {PGO] Profile annotation for MemOPSize value profile .

Integrate David's comments. Using a separated option to control the number of annotation for memop_size.

Mar 16 2017, 3:31 PM
xur committed rL297996: Resubmit r297897: [PGO] Value profile for size of memory intrinsic calls.
Resubmit r297897: [PGO] Value profile for size of memory intrinsic calls
Mar 16 2017, 2:28 PM

Mar 15 2017

xur committed rL297909: Fix build failure from r297897..
Fix build failure from r297897.
Mar 15 2017, 4:12 PM
xur added inline comments to D31002: {PGO] Profile annotation for MemOPSize value profile .
Mar 15 2017, 4:03 PM
xur committed rL297897: [PGO] Value profile for size of memory intrinsic calls.
[PGO] Value profile for size of memory intrinsic calls
Mar 15 2017, 2:59 PM
xur closed D28965: [PGO] Value profile for size of memory intrinsic calls by committing rL297897: [PGO] Value profile for size of memory intrinsic calls.
Mar 15 2017, 2:59 PM
xur committed rL297895: [PGO] Value profile support for value ranges.
[PGO] Value profile support for value ranges
Mar 15 2017, 2:58 PM
xur closed D28964: [PGO] Value profile support for value ranges by committing rL297895: [PGO] Value profile support for value ranges.
Mar 15 2017, 2:58 PM
xur created D31002: {PGO] Profile annotation for MemOPSize value profile .
Mar 15 2017, 2:57 PM
xur committed rL297892: [PGO] Minor cleanup for count instruction in SelectInstVisitor..
[PGO] Minor cleanup for count instruction in SelectInstVisitor.
Mar 15 2017, 2:18 PM
xur closed D30999: [PGO] Minor cleanup for count instruction in SelectInstVisitor..
Mar 15 2017, 2:17 PM
xur created D30999: [PGO] Minor cleanup for count instruction in SelectInstVisitor..
Mar 15 2017, 1:47 PM
xur committed rL297870: [PGO] Refactor the code for value profile annotation.
[PGO] Refactor the code for value profile annotation
Mar 15 2017, 11:36 AM
xur closed D30989: [PGO] Refactor the code for value profile annotation by committing rL297870: [PGO] Refactor the code for value profile annotation.
Mar 15 2017, 11:35 AM
xur added a comment to D28965: [PGO] Value profile for size of memory intrinsic calls.

After the refactoring code lands, do you plan to add the site annotation part in this patch?

Mar 15 2017, 11:23 AM
xur updated the diff for D28965: [PGO] Value profile for size of memory intrinsic calls.

Update the patch: remove some unrelated changes.

Mar 15 2017, 10:50 AM
xur created D30989: [PGO] Refactor the code for value profile annotation.
Mar 15 2017, 10:21 AM

Mar 9 2017

xur updated the diff for D28965: [PGO] Value profile for size of memory intrinsic calls.

This is the patch that after splitting out the llvm-profdata refactor change.

Mar 9 2017, 1:44 PM
xur committed rL297400: Minor format change. nfc..
Minor format change. nfc.
Mar 9 2017, 11:21 AM
xur committed rL297399: [PGO] Refactor profile dumping function for ease of adding other profile kind.
[PGO] Refactor profile dumping function for ease of adding other profile kind
Mar 9 2017, 11:16 AM
xur closed D30752: [PGO] Refactor the valule profile dumping function for ease of adding other profile kind by committing rL297399: [PGO] Refactor profile dumping function for ease of adding other profile kind.
Mar 9 2017, 11:16 AM

Mar 8 2017

xur added inline comments to D30752: [PGO] Refactor the valule profile dumping function for ease of adding other profile kind.
Mar 8 2017, 4:36 PM
xur updated the diff for D30752: [PGO] Refactor the valule profile dumping function for ease of adding other profile kind.
Mar 8 2017, 4:35 PM
xur created D30752: [PGO] Refactor the valule profile dumping function for ease of adding other profile kind.
Mar 8 2017, 12:37 PM
xur added a comment to D28966: [PGO] Memory intrinsic calls optimization based on profiled size.

The optimization pass should be split into two phases as IC promotion. The annotation part should probably be merged with the instrumentation patch. The transformation patch should be done in the same pass as IndirectCallPromotion.

Mar 8 2017, 11:11 AM

Mar 3 2017

xur committed rL296916: [PGO] Text format profile reader needs to clear the value profile.
[PGO] Text format profile reader needs to clear the value profile
Mar 3 2017, 2:08 PM
xur closed D30479: [PGO] Text format profile reader needs to clear the value profile.
Mar 3 2017, 2:08 PM
xur updated the diff for D30479: [PGO] Text format profile reader needs to clear the value profile.

Integrated David's review comments.

Mar 3 2017, 11:21 AM
xur updated the diff for D28965: [PGO] Value profile for size of memory intrinsic calls.

Updated the patch according on David's review comments.

Mar 3 2017, 10:24 AM
xur added inline comments to D28965: [PGO] Value profile for size of memory intrinsic calls.
Mar 3 2017, 10:23 AM

Feb 28 2017

xur created D30479: [PGO] Text format profile reader needs to clear the value profile.
Feb 28 2017, 3:39 PM

Feb 27 2017

xur committed rL296391: [PGO] Fix a bug in reading text format value profile..
[PGO] Fix a bug in reading text format value profile.
Feb 27 2017, 1:54 PM
xur closed D30420: [PGO] Fix a bug in reading text format value profile..
Feb 27 2017, 1:54 PM
xur created D30420: [PGO] Fix a bug in reading text format value profile..
Feb 27 2017, 11:25 AM
xur committed rL296362: Fix comments. NFC..
Fix comments. NFC.
Feb 27 2017, 10:10 AM

Feb 24 2017

xur committed rL296206: [PGO] Directory name stripping in global identifier for static functions.
[PGO] Directory name stripping in global identifier for static functions
Feb 24 2017, 4:12 PM
xur closed D29512: [PGO] Directory name stripping in global identifier for static functions by committing rL296206: [PGO] Directory name stripping in global identifier for static functions.
Feb 24 2017, 4:12 PM

Feb 23 2017

xur accepted D30282: Add call branch annotation for ICP promoted direct call in SamplePGO mode..
Feb 23 2017, 9:53 AM

Feb 22 2017

xur added a comment to D30282: Add call branch annotation for ICP promoted direct call in SamplePGO mode..

Not familiar with samplePGO. Are the counters always annotated in the call sites (or the sampled BB)?
The call counts cannot be inferred from entry counts and the branch-weight?
If this the way samplePGO works, this looks fine to me.

Feb 22 2017, 5:52 PM
xur added a comment to D29512: [PGO] Directory name stripping in global identifier for static functions.

From the description:

Current internal option -static-func-full-module-prefix strips all the directory path the profile counter names for static functions. The default of this option is true.

...

This patch turns the default value for -static-func-full-module-prefix to false.

However in the diff I see:

  • "static-func-full-module-prefix", cl::init(false), + "static-func-full-module-prefix", cl::init(true),

    Which is the opposite of the description? This seems confusing to me.
Feb 22 2017, 11:42 AM
xur updated the diff for D29512: [PGO] Directory name stripping in global identifier for static functions.

Update the patch based on the reviews:
(1) move the code to ProfileData to make the change local to profile
(2) add negative test
(3) add a comment on how it affects thin-lto.

Feb 22 2017, 11:37 AM

Feb 17 2017

xur committed rL295469: [PGO] remove unintended debug trace. NFC.
[PGO] remove unintended debug trace. NFC
Feb 17 2017, 9:53 AM

Feb 16 2017

xur committed rL295364: [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write.
[PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write
Feb 16 2017, 11:33 AM
xur closed D29954: [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write.
Feb 16 2017, 11:33 AM

Feb 15 2017

xur updated the diff for D29954: [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write.

Integrated David's review comments.

Feb 15 2017, 3:29 PM
xur updated the diff for D29954: [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write.

Add a testcase

Feb 15 2017, 1:04 PM

Feb 14 2017

xur accepted D29960: [PGO] Delay directory creation until write time.

LGTM too.

Feb 14 2017, 1:40 PM
xur added a comment to D29960: [PGO] Delay directory creation until write time.

why limit to merge mode?
non-merge mode also exhibits the problem mentioned.

Feb 14 2017, 1:04 PM
xur updated the diff for D29954: [PGO] Suspend SIGKILL for PR_SET_PDEATHSIG in profile-write.

move platform depended code to InstrProfilingUnil.c per David's suggestion.

Feb 14 2017, 12:55 PM