Page MenuHomePhabricator

xur (Rong Xu)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 20 2015, 4:19 PM (216 w, 6 d)

Recent Activity

Thu, Oct 10

xur committed rG686fa4bbfbce: [ValueTracking] Improve pointer offset computation for cases of same base (authored by xur).
[ValueTracking] Improve pointer offset computation for cases of same base
Thu, Oct 10, 2:34 PM
xur closed D67989: [ValueTracking] Improve pointer offset computation for cases of same base.
Thu, Oct 10, 2:34 PM · Restricted Project
xur committed rL374454: [ValueTracking] Improve pointer offset computation for cases of same base.
[ValueTracking] Improve pointer offset computation for cases of same base
Thu, Oct 10, 2:34 PM
xur added a comment to D67989: [ValueTracking] Improve pointer offset computation for cases of same base.

I totally agree with what eugenis said.
I added his comments to a TODO comment.
I will commit this version and may address the TODO later.

Thu, Oct 10, 11:31 AM · Restricted Project

Wed, Oct 2

xur accepted D67920: [PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins..

Thanks for improving this.

Wed, Oct 2, 10:51 AM · Restricted Project

Tue, Oct 1

xur added inline comments to D67920: [PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins..
Tue, Oct 1, 2:42 PM · Restricted Project
xur added a comment to D67920: [PGO] Refactor Value Profiling into a plugin based oracle and create a well defined API for the plugins..

Sorry it takes long to review this.
I have a pending patch that value profiling the expensive MOD/REM instructions. It is more tightly coupled to edge profile (than current mem-size-op and icall value profile).
The difference is that it does not have <valuesite, value> pair. The counts are stored like the edge counts.
It seems to be fine with patch as the instrumentation says in PGOInstrumenation.cpp and only the candidate collecting is extracted out.

Tue, Oct 1, 11:42 AM · Restricted Project
xur committed rGe0fa2689de53: [PGO] Fix typos from r359612. NFC. (authored by xur).
[PGO] Fix typos from r359612. NFC.
Tue, Oct 1, 11:07 AM
xur committed rL373369: [PGO] Fix typos from r359612. NFC..
[PGO] Fix typos from r359612. NFC.
Tue, Oct 1, 11:07 AM
xur added a reviewer for D67989: [ValueTracking] Improve pointer offset computation for cases of same base: fhahn.
Tue, Oct 1, 10:47 AM · Restricted Project
xur edited reviewers for D67989: [ValueTracking] Improve pointer offset computation for cases of same base, added: eugenis; removed: evghenii.
Tue, Oct 1, 10:39 AM · Restricted Project

Mon, Sep 30

xur committed rG367405008755: [PGO] Don't group COMDAT variables for compiler generated profile variables in… (authored by xur).
[PGO] Don't group COMDAT variables for compiler generated profile variables in…
Mon, Sep 30, 11:11 AM
xur committed rL373241: [PGO] Don't group COMDAT variables for compiler generated profile variables in….
[PGO] Don't group COMDAT variables for compiler generated profile variables in…
Mon, Sep 30, 11:11 AM
xur closed D68041: [PGO] Don't group COMDAT variables for compiler generated profile variables in ELF.
Mon, Sep 30, 11:10 AM · Restricted Project

Wed, Sep 25

xur created D68041: [PGO] Don't group COMDAT variables for compiler generated profile variables in ELF.
Wed, Sep 25, 11:31 AM · Restricted Project
xur updated the diff for D67989: [ValueTracking] Improve pointer offset computation for cases of same base.

Fixed comments suggested by Guillaume.

Wed, Sep 25, 9:57 AM · Restricted Project

Tue, Sep 24

xur created D67989: [ValueTracking] Improve pointer offset computation for cases of same base.
Tue, Sep 24, 2:56 PM · Restricted Project

Sep 13 2019

xur added a comment to D67579: [PGO] Use linkonce_odr linkage for __profd_ variables in comdat groups.

For the legacy pass manager, use option "-mllvm -debug-pass=Structure", or in the source, we add the lowering pass right after instrumentation pass.

Sep 13 2019, 4:27 PM · Restricted Project
xur accepted D67579: [PGO] Use linkonce_odr linkage for __profd_ variables in comdat groups.

LGTM. Thanks for the fix!

Sep 13 2019, 4:06 PM · Restricted Project

Aug 2 2019

xur committed rG206fe82be410: [PGO] Fix bolt failures from r367628 (authored by xur).
[PGO] Fix bolt failures from r367628
Aug 2 2019, 12:22 AM
xur committed rL367657: [PGO] Fix bolt failures from r367628.
[PGO] Fix bolt failures from r367628
Aug 2 2019, 12:21 AM

Aug 1 2019

xur committed rGca161fa00886: [PGO] Add PGO support at -O0 in the experimental new pass manager (authored by xur).
[PGO] Add PGO support at -O0 in the experimental new pass manager
Aug 1 2019, 3:39 PM
xur committed rL367628: [PGO] Add PGO support at -O0 in the experimental new pass manager.
[PGO] Add PGO support at -O0 in the experimental new pass manager
Aug 1 2019, 3:36 PM
xur closed D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.
Aug 1 2019, 3:36 PM · Restricted Project
xur added inline comments to D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.
Aug 1 2019, 2:59 PM · Restricted Project

Jul 29 2019

xur updated the diff for D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.

Integrated Chandler's review comments.

Jul 29 2019, 3:28 PM · Restricted Project
xur added a comment to D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.

I'm sorry that I missed this review for this long!

Jul 29 2019, 3:22 PM · Restricted Project

Jul 9 2019

xur added a comment to D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.

Ping

Jul 9 2019, 11:03 AM · Restricted Project

Jul 8 2019

xur committed rGc23da4824668: [llvm-profdata] Fix buildbot failure on llvm-clang-x86_64-expensive-checks-win (authored by xur).
[llvm-profdata] Fix buildbot failure on llvm-clang-x86_64-expensive-checks-win
Jul 8 2019, 3:19 PM
xur committed rL365401: [llvm-profdata] Fix buildbot failure on llvm-clang-x86_64-expensive-checks-win.
[llvm-profdata] Fix buildbot failure on llvm-clang-x86_64-expensive-checks-win
Jul 8 2019, 3:19 PM
xur committed rGf0d3dcec97a1: llvm-profdata] Handle the cases of overlapping input file and output file (authored by xur).
llvm-profdata] Handle the cases of overlapping input file and output file
Jul 8 2019, 2:06 PM
xur committed rL365386: llvm-profdata] Handle the cases of overlapping input file and output file.
llvm-profdata] Handle the cases of overlapping input file and output file
Jul 8 2019, 2:03 PM
xur closed D64360: [llvm-profdata] Handle the cases of overlapping input file and output file.
Jul 8 2019, 2:03 PM · Restricted Project
xur updated the diff for D64360: [llvm-profdata] Handle the cases of overlapping input file and output file.

Change the error report format suggested by David.

Jul 8 2019, 12:52 PM · Restricted Project
xur created D64360: [llvm-profdata] Handle the cases of overlapping input file and output file.
Jul 8 2019, 12:03 PM · Restricted Project

Jul 3 2019

xur added a comment to D63949: [PGO] Add profile instrumentation sampling support.

Does the bursty style sampling provide additional benefit? A non-bursty style sampling can be cheaper:

sample_count++;
if (sample_count == SamplePeriod) {

increment_prof_counter();
 sample_count = 0;

}

Jul 3 2019, 2:39 PM · Restricted Project

Jul 1 2019

xur updated the diff for D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.

Sent the wrong test file in last patch.
Update to the correct one.

Jul 1 2019, 12:59 PM · Restricted Project
xur created D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager.
Jul 1 2019, 12:23 PM · Restricted Project

Jun 28 2019

xur added a comment to D63155: [clang][NewPM] Fix broken profile test.
In D63155#1563229, @xur wrote:

This patch does not make sense to me.

The reason of failing with -fexperimental-new-pass-manager is because we don't do PGO instrumentation at -O0. This is due to the fact that PGO instrumentation/use passes are under PassBuilder::buildPerModuleDefaultPipeline.

This patch add a pass

MPM.addPass(PGOInstrumentationGenCreateVar(PGOOpt->ProfileFile));

which only gives you the wrong signal of instrumentation is done.

I wrote pass PGOInstrumentationGenCreateVar only for some trick interactions for thinlto under ldd for CSPGO.
Regular FDO should not use it.

The right fix is to enable PGO instrumentation and use in pass builder for O0.

I would like to request to revert this patch.

As an alternative, could I instead request that we remove the BackendUtil changes and just mark the runs in gcc-flag-compatibility.c with -fno-experimental-new-pass-manager. This way we could clarify that under the new PM, we shouldn't run PGO at -O0? If not, I'll revert this patch as is.

No, I think we should be doing PGO at O0 in the new PM if we do so in the old PM.

I think Rong is saying that the *way* you're enabling PGO at O0 isn't correct to fix this test case. That seems plausible to me at least, and I think reverting and figuring out what the right way to do it is a fine approach.

Jun 28 2019, 5:09 PM · Restricted Project, Restricted Project
xur added a comment to D63155: [clang][NewPM] Fix broken profile test.

they are not doing the exacly the same thing for old pass manager and new pass manger: old pass manger is doing instrumentation, while the new pass manager with this change is NOT.
the test is not check instrumentation, (it only check the variables that generates by InstroProfiling pass).
In this sense, the test is not well written.

Jun 28 2019, 5:09 PM · Restricted Project, Restricted Project
xur added a comment to D63155: [clang][NewPM] Fix broken profile test.

This patch does not make sense to me.

Jun 28 2019, 4:46 PM · Restricted Project, Restricted Project
xur created D63949: [PGO] Add profile instrumentation sampling support.
Jun 28 2019, 11:50 AM · Restricted Project

Jun 10 2019

xur committed rG7ea131c20c11: [PGO] Fix the buildbot failure in r362995 (authored by xur).
[PGO] Fix the buildbot failure in r362995
Jun 10 2019, 4:17 PM
xur committed rL363004: [PGO] Fix the buildbot failure in r362995.
[PGO] Fix the buildbot failure in r362995
Jun 10 2019, 4:16 PM
xur committed rGe44fa83c3744: [PGO] Handle cases of non-instrument BBs (authored by xur).
[PGO] Handle cases of non-instrument BBs
Jun 10 2019, 3:34 PM
xur committed rL362995: [PGO] Handle cases of non-instrument BBs.
[PGO] Handle cases of non-instrument BBs
Jun 10 2019, 3:34 PM
xur closed D62700: [PGO] Handle cases of non-instrument BBs.
Jun 10 2019, 3:34 PM · Restricted Project
xur updated the diff for D62700: [PGO] Handle cases of non-instrument BBs.

Integrated David's review suggestions.

Jun 10 2019, 2:55 PM · Restricted Project
xur added a comment to D62700: [PGO] Handle cases of non-instrument BBs.

This can be handled this way:

BBInfo &SrcInfo = getBBInfo(SrcBB);    // BBInfo is the template type
BBInfo &DestInfo = getBBInfo(DestBB);
SrcInfo.addOutEdge(E.get());
DestInfo.addInEdge(E.get());

For base class BBInfo, addOutEdge, addInEdge will be empty, while it is defined for UseBBInfo class.

By so doing, the code is more readable.

Jun 10 2019, 2:55 PM · Restricted Project
xur added inline comments to D62700: [PGO] Handle cases of non-instrument BBs.
Jun 10 2019, 10:25 AM · Restricted Project
xur added inline comments to D62700: [PGO] Handle cases of non-instrument BBs.
Jun 10 2019, 9:47 AM · Restricted Project

Jun 7 2019

xur added inline comments to D62700: [PGO] Handle cases of non-instrument BBs.
Jun 7 2019, 10:33 AM · Restricted Project
xur added inline comments to D62700: [PGO] Handle cases of non-instrument BBs.
Jun 7 2019, 10:18 AM · Restricted Project

Jun 3 2019

xur updated the diff for D62700: [PGO] Handle cases of non-instrument BBs.

My previous patch was not complete -- we need to set the profile count to the fail-to-instrument edge. Otherwise, we cannot propagate the counts in the CFG.
The new patch has this part of change.
Updated the test to test the profile-use.

Jun 3 2019, 10:17 AM · Restricted Project

May 30 2019

xur added a comment to D62700: [PGO] Handle cases of non-instrument BBs.

Another change of this patch is to move down statistic collection code for critical edge. I think this is a better place.

May 30 2019, 1:53 PM · Restricted Project
xur created D62700: [PGO] Handle cases of non-instrument BBs.
May 30 2019, 1:53 PM · Restricted Project
xur accepted D62430: [PPC] Correctly adjust branch probability in PPCReduceCRLogicals.

looks good to me.

May 30 2019, 10:52 AM · Restricted Project

May 28 2019

xur added inline comments to D62430: [PPC] Correctly adjust branch probability in PPCReduceCRLogicals.
May 28 2019, 3:46 PM · Restricted Project
xur committed rGe88173abc01b: [PGO] Handle cases of failing to split critical edges (authored by xur).
[PGO] Handle cases of failing to split critical edges
May 28 2019, 2:45 PM
xur committed rL361882: [PGO] Handle cases of failing to split critical edges.
[PGO] Handle cases of failing to split critical edges
May 28 2019, 2:44 PM
xur closed D62439: PGO] Handle cases of failing to split critical edges.
May 28 2019, 2:44 PM · Restricted Project
xur updated the diff for D62439: PGO] Handle cases of failing to split critical edges.

Fix comments suggested by David.

May 28 2019, 10:49 AM · Restricted Project
xur updated the diff for D62439: PGO] Handle cases of failing to split critical edges.

Integrated comments from Noel and David.

May 28 2019, 9:11 AM · Restricted Project
xur added inline comments to D62439: PGO] Handle cases of failing to split critical edges.
May 28 2019, 9:04 AM · Restricted Project

May 24 2019

xur created D62439: PGO] Handle cases of failing to split critical edges.
May 24 2019, 5:12 PM · Restricted Project

May 20 2019

xur added inline comments to D61540: [PGO] Use sum of count values to fix func entry count and add a check to verify BFI counts.
May 20 2019, 4:00 PM · Restricted Project

May 3 2019

xur created D61540: [PGO] Use sum of count values to fix func entry count and add a check to verify BFI counts.
May 3 2019, 2:31 PM · Restricted Project

Apr 30 2019

xur committed rGb1f9577a5fdd: [llvm-profdata] Fix indentation error in docs. NFC. (authored by xur).
[llvm-profdata] Fix indentation error in docs. NFC.
Apr 30 2019, 3:37 PM
xur committed rL359625: [llvm-profdata] Fix indentation error in docs. NFC..
[llvm-profdata] Fix indentation error in docs. NFC.
Apr 30 2019, 3:33 PM
xur committed rG287908f9c867: [llvm-profdata] Fix indentation error. NFC (authored by xur).
[llvm-profdata] Fix indentation error. NFC
Apr 30 2019, 3:06 PM
xur committed rL359619: [llvm-profdata] Fix indentation error. NFC.
[llvm-profdata] Fix indentation error. NFC
Apr 30 2019, 3:02 PM
xur committed rG998b97f6f1fe: [llvm-profdata] Add overlap command to compute similarity b/w two profile files (authored by xur).
[llvm-profdata] Add overlap command to compute similarity b/w two profile files
Apr 30 2019, 2:19 PM
xur committed rL359612: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
[llvm-profdata] Add overlap command to compute similarity b/w two profile files
Apr 30 2019, 2:17 PM
xur closed D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 30 2019, 2:17 PM · Restricted Project

Apr 29 2019

xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Adjusted the output string with David's comments.
Also made the naming more uniformed for edge and value profiles.

Apr 29 2019, 3:35 PM · Restricted Project
xur added inline comments to D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 29 2019, 3:12 PM · Restricted Project
xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Discussed offline with David. We changed the output to a simpler: "Description: <Value>" format. This tool will mostly used in a script. Simpler format will make text grep cleaner.

Apr 29 2019, 12:32 PM · Restricted Project
xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Integrated David's review comments

Apr 29 2019, 11:31 AM · Restricted Project
xur added inline comments to D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 29 2019, 10:41 AM · Restricted Project
xur added inline comments to D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 29 2019, 10:41 AM · Restricted Project

Apr 26 2019

xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Integrated David's review comments. Mainly changed the reporting format.

Apr 26 2019, 11:00 AM · Restricted Project

Apr 25 2019

xur committed rGcef8481af013: [PGO] Fix buildbot failure in 359215 (authored by xur).
[PGO] Fix buildbot failure in 359215
Apr 25 2019, 2:16 PM
xur committed rC359241: [PGO] Fix buildbot failure in 359215.
[PGO] Fix buildbot failure in 359215
Apr 25 2019, 2:16 PM
xur committed rL359241: [PGO] Fix buildbot failure in 359215.
[PGO] Fix buildbot failure in 359215
Apr 25 2019, 2:15 PM
xur committed rG4059e143dc71: [PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass… (authored by xur).
[PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass…
Apr 25 2019, 10:51 AM
xur committed rL359215: [PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass….
[PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass…
Apr 25 2019, 10:51 AM
xur committed rC359215: [PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass….
[PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass…
Apr 25 2019, 10:51 AM
xur closed D61138: [PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass manager.
Apr 25 2019, 10:51 AM · Restricted Project
xur created D61138: [PGO] Enable InstrProf lowering for Clang PGO instrumentation in the new pass manager.
Apr 25 2019, 10:05 AM · Restricted Project

Apr 24 2019

xur added inline comments to D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 24 2019, 3:05 PM · Restricted Project

Apr 23 2019

xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Integrated David's review comments.

Apr 23 2019, 3:48 PM · Restricted Project
xur added inline comments to D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 23 2019, 3:44 PM · Restricted Project
xur accepted D61022: [ThinLTO] Pass down opt level to LTO backend and handle -O0 LTO in new PM.

LGTM. We need to Initialize the OptLevel no matter what.

Apr 23 2019, 10:48 AM · Restricted Project, Restricted Project

Apr 22 2019

xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Removed some un-intended changes.

Apr 22 2019, 12:27 PM · Restricted Project
xur updated the diff for D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.

Minor fix of the comments.

Apr 22 2019, 12:23 PM · Restricted Project
xur created D60977: [llvm-profdata] Add overlap command to compute similarity b/w two profile files.
Apr 22 2019, 12:21 PM · Restricted Project

Apr 18 2019

xur committed rG4f471ee99098: [llvm-profdata] Fix one bad format in llvm-profdata CommandGuide doc. NFC (authored by xur).
[llvm-profdata] Fix one bad format in llvm-profdata CommandGuide doc. NFC
Apr 18 2019, 12:13 AM
xur committed rL358643: [llvm-profdata] Fix one bad format in llvm-profdata CommandGuide doc. NFC.
[llvm-profdata] Fix one bad format in llvm-profdata CommandGuide doc. NFC
Apr 18 2019, 12:13 AM

Apr 11 2019

xur committed rG959ef1685979: [PGO] Better handling of profile hash mismatch (authored by xur).
[PGO] Better handling of profile hash mismatch
Apr 11 2019, 1:56 PM
xur committed rL358225: [PGO] Better handling of profile hash mismatch.
[PGO] Better handling of profile hash mismatch
Apr 11 2019, 1:52 PM