xur (Rong Xu)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Wed, May 9

xur added a comment to D46662: [X86] condition branches folding for three-way conditional codes.

For a reference: there are total of 1301 instances this optimization for a bootstrap build of llvm:

grep "Found one" bootstrap_buildlog |sort |uniq -c

1094 Found one path (len=1):
  176 Found one path (len=2):
   30 Found one path (len=3):
    1 Found one path (len=4):
Wed, May 9, 2:28 PM
xur created D46662: [X86] condition branches folding for three-way conditional codes.
Wed, May 9, 2:20 PM

Apr 2 2018

xur committed rCRT329016: [profile] Move newly added test to the supported platform.
[profile] Move newly added test to the supported platform
Apr 2 2018, 2:27 PM
xur committed rL329016: [profile] Move newly added test to the supported platform.
[profile] Move newly added test to the supported platform
Apr 2 2018, 2:27 PM
xur committed rL328991: [DeadArgumentElim] Clone function level metadatas.
[DeadArgumentElim] Clone function level metadatas
Apr 2 2018, 10:30 AM
xur closed D44127: DeadArgumentElim] Clone function level metadatas.
Apr 2 2018, 10:30 AM
xur committed rCRT328987: [profile] Fix value profile runtime merging issues.
[profile] Fix value profile runtime merging issues
Apr 2 2018, 10:05 AM
xur committed rL328987: [profile] Fix value profile runtime merging issues.
[profile] Fix value profile runtime merging issues
Apr 2 2018, 10:00 AM
xur closed D44847: [profile] Fix value profile runtime merging issues.
Apr 2 2018, 10:00 AM

Mar 30 2018

xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

integrated David's review comments to use an available api.

Mar 30 2018, 9:49 PM
xur added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 9:46 PM
xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

Fixed type cast warnings.

Mar 30 2018, 4:59 PM
xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

using __llvm_profile_get_size_for_buffer_internal directly to get the profile size.

Mar 30 2018, 4:49 PM
xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

integrated David's review comments

Mar 30 2018, 3:17 PM
xur added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 3:12 PM
xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

move inline attribute into InstrProfilingPort.h

Mar 30 2018, 2:55 PM
xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

using wrappers to always_inline function to avoid function call overhead.

Mar 30 2018, 2:12 PM
xur added a comment to D44847: [profile] Fix value profile runtime merging issues.

My previous refers to using gcc as the compiler.

Mar 30 2018, 1:57 PM
xur updated subscribers of D44847: [profile] Fix value profile runtime merging issues.

I checked the assembly in
clang_rt.profile-i386.dir/ and
clang_rt.profile-x86_64.dir/

Mar 30 2018, 1:50 PM
xur updated the diff for D44847: [profile] Fix value profile runtime merging issues.

This is the updated patch. It fixed some issues in previous patch. It also adds a new API for updating value-count in batch mode. Without this, PGO instrumented Clang incurs 20x slow down in building itself (with %9m prefix -- with %m is even greater slowdown ).

Mar 30 2018, 1:35 PM

Mar 27 2018

xur committed rL328653: [PGO] Fix branch probability remarks assert.
[PGO] Fix branch probability remarks assert
Mar 27 2018, 11:58 AM
xur closed D44809: [PGO] Fix branch probability remarks assert.
Mar 27 2018, 11:58 AM

Mar 26 2018

xur added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 26 2018, 11:24 AM

Mar 24 2018

xur added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 24 2018, 8:56 AM

Mar 23 2018

xur added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 23 2018, 3:12 PM
xur created D44847: [profile] Fix value profile runtime merging issues.
Mar 23 2018, 2:48 PM

Mar 22 2018

xur created D44809: [PGO] Fix branch probability remarks assert.
Mar 22 2018, 3:16 PM

Mar 21 2018

xur accepted D44757: [InstrProf] Encapsulates access to AddrToMD5Map..

lgtm

Mar 21 2018, 3:25 PM

Mar 12 2018

xur added a comment to D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.

Ping.

Mar 12 2018, 11:11 AM
xur added a comment to D44127: DeadArgumentElim] Clone function level metadatas.

ping

Mar 12 2018, 11:10 AM

Mar 6 2018

xur updated the diff for D44127: DeadArgumentElim] Clone function level metadatas.

Integrated David's review comments: (1) add vararg test (2) simplify function attributes.

Mar 6 2018, 10:08 AM

Mar 5 2018

xur created D44127: DeadArgumentElim] Clone function level metadatas.
Mar 5 2018, 4:38 PM

Feb 21 2018

xur updated subscribers of D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.
Feb 21 2018, 11:48 AM
xur added a comment to D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.

ping.

Feb 21 2018, 9:59 AM

Feb 16 2018

xur added inline comments to D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.
Feb 16 2018, 12:00 PM
xur updated the diff for D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.

Updated the patch to integrate comments from ctopper and dberlin.

Feb 16 2018, 11:52 AM
xur added inline comments to D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.
Feb 16 2018, 10:51 AM

Feb 15 2018

xur created D43349: [InstCombine] Make SimplifyDemandedUseBits handle PhiNode.
Feb 15 2018, 12:14 PM

Dec 15 2017

xur accepted D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.

Look good to me.

Dec 15 2017, 3:30 PM
xur added a comment to D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.

This is a good improvement.

Dec 15 2017, 1:33 PM

Dec 4 2017

xur accepted D40702: [PGO] More fix to infinite loop profiling.

Looks good to me.

Dec 4 2017, 1:56 PM

Nov 15 2017

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

Nov 14 2017

xur committed rL318206: [CodeGen] Fix the test case added in r318202.
[CodeGen] Fix the test case added in r318202
Nov 14 2017, 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
Nov 14 2017, 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.
Nov 14 2017, 1:44 PM

Nov 7 2017

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.

Nov 7 2017, 10:03 AM

Nov 6 2017

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.

Nov 6 2017, 3:04 PM

Nov 1 2017

xur added inline comments to D39262: [CodeGen] Peel off the dominant case in switch statement in lowering.
Nov 1 2017, 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.

Nov 1 2017, 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.

Nov 1 2017, 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.

Nov 1 2017, 1:23 PM

Oct 27 2017

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.

Oct 27 2017, 2:47 PM

Oct 24 2017

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

Oct 23 2017

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
Oct 23 2017, 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.
Oct 23 2017, 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.

Oct 23 2017, 12:41 PM

Oct 20 2017

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.

Oct 20 2017, 3:25 PM
xur created D39145: [PM] Add pgo-memop-opt pass to the new pass manager.
Oct 20 2017, 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