davidxl (David Li)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 13 2015, 9:48 AM (162 w, 4 d)

Recent Activity

Wed, May 23

davidxl accepted D47212: [profile] Rename InstrProfilingPlatform(Linux|Darwin).

lgtm

Wed, May 23, 8:36 AM
davidxl accepted D47208: [profile] Support profiling runtime on Fuchsia.

lgtm

Wed, May 23, 8:32 AM

Tue, May 22

davidxl added inline comments to D47208: [profile] Support profiling runtime on Fuchsia.
Tue, May 22, 11:34 AM

Mon, May 21

davidxl updated subscribers of D47023: Limit the number of phis in intptr/ptrint folding .

This might work and existing test cases should be able to make sure the
behavior is not regressed.

Mon, May 21, 8:42 AM

Thu, May 17

davidxl added a comment to D47023: Limit the number of phis in intptr/ptrint folding .

My profile shows that with the 20000 phi case, the cycles are cut in half
with the limit.

Thu, May 17, 1:13 PM
davidxl committed rL332653: Add a limit for phi folding instcombine.
Add a limit for phi folding instcombine
Thu, May 17, 12:27 PM
davidxl closed D47023: Limit the number of phis in intptr/ptrint folding .
Thu, May 17, 12:27 PM
davidxl added a comment to D47023: Limit the number of phis in intptr/ptrint folding .

Done. Added comment.

Thu, May 17, 12:21 PM
davidxl created D47023: Limit the number of phis in intptr/ptrint folding .
Thu, May 17, 12:06 PM

Wed, May 2

davidxl added a comment to D46357: [GCOV] Emit the writeout function as nested loops of global data..

Can you add a new test case testing the new emitted code patterns?

Wed, May 2, 8:36 AM

Mon, Apr 30

davidxl accepted D46275: [JumpThreading] ComputeValueKnownInPredecessors only handles the case when phi is on lhs of a comparison op.

lgtm

Mon, Apr 30, 11:12 AM

Apr 11 2018

davidxl added inline comments to D45377: [SampleFDO] Don't let inliner treat warm callsite with inline instance in the profile as cold.
Apr 11 2018, 9:35 AM
davidxl added a comment to D45454: Make __gcov_flush visible outside a shared library.

The behavior will change if the shared libraries are not 'dlopen'ed but loaded at program startup time.

Apr 11 2018, 9:09 AM

Apr 10 2018

davidxl added a comment to D45454: Make __gcov_flush visible outside a shared library.

With this change, gcov_flush will resolve to the copy in the main executable for each shared library -- this is not the desired the behavior.

Apr 10 2018, 8:52 AM

Mar 30 2018

davidxl accepted D44847: [profile] Fix value profile runtime merging issues.

lgtm

Mar 30 2018, 10:11 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 5:48 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 3:42 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 2:28 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 2:17 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 30 2018, 1:43 PM

Mar 27 2018

davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 27 2018, 2:45 PM

Mar 26 2018

davidxl accepted D44809: [PGO] Fix branch probability remarks assert.

lgtm

Mar 26 2018, 12:44 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 26 2018, 12:21 PM

Mar 24 2018

davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 24 2018, 9:39 AM

Mar 23 2018

davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 23 2018, 3:19 PM
davidxl added inline comments to D44847: [profile] Fix value profile runtime merging issues.
Mar 23 2018, 2:56 PM

Mar 21 2018

davidxl accepted D44717: [InstrProf] Support for external functions in text format..

lgtm

Mar 21 2018, 12:02 PM

Mar 20 2018

davidxl added inline comments to D44717: [InstrProf] Support for external functions in text format..
Mar 20 2018, 11:04 PM
davidxl added inline comments to D44717: [InstrProf] Support for external functions in text format..
Mar 20 2018, 10:03 PM
davidxl added inline comments to D44717: [InstrProf] Support for external functions in text format..
Mar 20 2018, 4:42 PM

Mar 19 2018

davidxl added a comment to D39869: [Inliner] Inline through indirect call sites having !callees metadata.

I added Easwaran to get a closer look at the change.

Mar 19 2018, 12:14 PM
davidxl added a reviewer for D39869: [Inliner] Inline through indirect call sites having !callees metadata: eraman.
Mar 19 2018, 12:13 PM

Mar 15 2018

davidxl added inline comments to D34796: upporting -f(no)-reorder-functions flag, clang side change.
Mar 15 2018, 9:54 AM

Mar 13 2018

davidxl accepted D43835: Simplify more cases of logical ops of masked icmps..

lgtm

Mar 13 2018, 1:11 PM
davidxl accepted D44127: DeadArgumentElim] Clone function level metadatas.

lgtm

Mar 13 2018, 12:12 PM
davidxl added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 13 2018, 11:31 AM

Mar 12 2018

davidxl added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 12 2018, 11:18 AM

Mar 9 2018

davidxl added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 9 2018, 4:10 PM

Mar 8 2018

davidxl added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 8 2018, 9:02 AM

Mar 5 2018

davidxl added a comment to D44127: DeadArgumentElim] Clone function level metadatas.

Also add an dead vararg elimination test case for better coverage.

Mar 5 2018, 4:55 PM

Mar 1 2018

davidxl added inline comments to D43835: Simplify more cases of logical ops of masked icmps..
Mar 1 2018, 11:08 AM

Feb 28 2018

davidxl accepted D43794: [InstrProfiling] Emit the runtime hook when no counters are lowered.

lgtm

Feb 28 2018, 8:33 AM

Feb 26 2018

davidxl added a comment to D43794: [InstrProfiling] Emit the runtime hook when no counters are lowered.

Can this be done under an option?

Feb 26 2018, 7:03 PM
davidxl added inline comments to D43256: [MBP] Move a latch block with conditional exit and multi predecessors to top of loop.
Feb 26 2018, 9:22 AM

Feb 23 2018

davidxl accepted D35804: [BPI] Detect branches in loops that make themselves not taken.

LGTM

Feb 23 2018, 9:08 AM

Feb 21 2018

davidxl accepted D43605: [SampleProf] NFC. Expose reusable functionality in SampleProfile..

lgtm

Feb 21 2018, 9:30 PM
davidxl accepted D43520: [ThinLTO] Represent relative BF using a scaled representation ..

LGTM

Feb 21 2018, 12:45 PM

Feb 20 2018

davidxl added inline comments to D43520: [ThinLTO] Represent relative BF using a scaled representation ..
Feb 20 2018, 9:30 PM
davidxl added inline comments to D43520: [ThinLTO] Represent relative BF using a scaled representation ..
Feb 20 2018, 1:20 PM

Feb 15 2018

davidxl added inline comments to D43256: [MBP] Move a latch block with conditional exit and multi predecessors to top of loop.
Feb 15 2018, 9:52 AM

Feb 14 2018

davidxl added a comment to D43256: [MBP] Move a latch block with conditional exit and multi predecessors to top of loop.

Please add a few new test cases first.

Feb 14 2018, 11:39 AM

Feb 9 2018

davidxl accepted D43064: [LV] Fix analyzeInterleaving when -pass-remarks enabled.

lgtm

Feb 9 2018, 9:11 AM

Feb 8 2018

davidxl added a comment to D35804: [BPI] Detect branches in loops that make themselves not taken.

The branch probability depends on other factors which is not considered here.

Feb 8 2018, 2:12 PM
davidxl added inline comments to D43064: [LV] Fix analyzeInterleaving when -pass-remarks enabled.
Feb 8 2018, 9:21 AM

Feb 6 2018

davidxl accepted D42946: Verify profile data confirms large loop trip counts..

LGTM + incorporating Ben's suggestion to use 'ult' if it can simplify the condition.

Feb 6 2018, 10:41 AM

Feb 5 2018

davidxl added inline comments to D42946: Verify profile data confirms large loop trip counts..
Feb 5 2018, 11:15 PM
davidxl added inline comments to D42946: Verify profile data confirms large loop trip counts..
Feb 5 2018, 10:12 PM

Jan 31 2018

davidxl accepted D42703: Remove CallGraphTraits and use equivalent methods in GraphTraits.

lgtm

Jan 31 2018, 11:58 AM
davidxl accepted D42698: [GraphTraits] Add support for iterating over children edges..

looks like the naming follows the node iteration interfaces. lgtm.

Jan 31 2018, 11:58 AM

Jan 30 2018

davidxl added inline comments to D42698: [GraphTraits] Add support for iterating over children edges..
Jan 30 2018, 11:21 PM

Jan 25 2018

davidxl accepted D42311: [SyntheticCounts] Rewrite the code using only graph traits..

lgtm

Jan 25 2018, 11:34 AM

Jan 22 2018

davidxl added inline comments to D42311: [SyntheticCounts] Rewrite the code using only graph traits..
Jan 22 2018, 11:48 AM
davidxl added inline comments to D42311: [SyntheticCounts] Rewrite the code using only graph traits..
Jan 22 2018, 10:00 AM

Jan 18 2018

davidxl added a comment to D39869: [Inliner] Inline through indirect call sites having !callees metadata.

I actually mean the former.

Jan 18 2018, 10:24 AM

Jan 11 2018

davidxl accepted D41883: Add a ProfileCount class to represent entry counts..

lgtm

Jan 11 2018, 8:52 AM

Jan 10 2018

davidxl added inline comments to D41883: Add a ProfileCount class to represent entry counts..
Jan 10 2018, 3:39 PM
davidxl added inline comments to D41883: Add a ProfileCount class to represent entry counts..
Jan 10 2018, 1:55 PM

Jan 8 2018

davidxl accepted D40425: Extending CFGPrinter and CallPrinter with Heat Colors.

Add a minimal option test (new heat-color option) in test/Other/2007-06-05-PassID.ll ?

Jan 8 2018, 10:28 AM
davidxl added a comment to D39869: [Inliner] Inline through indirect call sites having !callees metadata.

I think 'tryToPromote' method should be moved to the indirect call promotion pass so that the callback to inline cost/benefit is exposed there (a more general cost/benefit model needs to be developed for indirect call promotion). Initially, I think we can limit the use of the getInlineCost callback to cases where profile data is not available, this will achieve what this patch is doing without affecting existing promotion heuristics.

Jan 8 2018, 10:05 AM
davidxl updated subscribers of D39869: [Inliner] Inline through indirect call sites having !callees metadata.
Jan 8 2018, 10:00 AM
davidxl accepted D41604: Add a pass to generate synthetic function entry counts..

lgtm

Jan 8 2018, 9:39 AM

Jan 4 2018

davidxl added inline comments to D41723: Introduce the "retpoline" x86 mitigation technique for variant #2 of the speculative execution vulnerabilities disclosed today, specifically identified by CVE-2017-5715, "Branch Target Injection", and is one of the two halves to Spectre...
Jan 4 2018, 4:02 PM
davidxl added inline comments to D41604: Add a pass to generate synthetic function entry counts..
Jan 4 2018, 11:50 AM

Jan 3 2018

davidxl added inline comments to D41604: Add a pass to generate synthetic function entry counts..
Jan 3 2018, 2:21 PM

Dec 21 2017

davidxl accepted D41461: Add hasProfileData() to check if a function has profile data. NFC..

Perhaps change the new interface documentation slightly to reflect that it is for real profile data.

Dec 21 2017, 9:55 AM

Dec 20 2017

davidxl added a comment to D41461: Add hasProfileData() to check if a function has profile data. NFC..

I prefer hasProfileData to be hasRealProfileData -- unless we want to make hasProfileData to mean has real profile data and ignores synthetic entry count later.

Dec 20 2017, 2:17 PM
davidxl accepted D41395: [PGO] Function section hotness prefix should look at all blocks.

lgtm

Dec 20 2017, 9:51 AM

Dec 18 2017

davidxl committed rL320999: [PGO] Test case changes for D41059.
[PGO] Test case changes for D41059
Dec 18 2017, 9:57 AM
davidxl committed rCRT320999: [PGO] Test case changes for D41059.
[PGO] Test case changes for D41059
Dec 18 2017, 9:57 AM
davidxl committed rL320998: [PGO] add MST min edge selection heuristic to ensure non-zero entry count.
[PGO] add MST min edge selection heuristic to ensure non-zero entry count
Dec 18 2017, 9:57 AM
davidxl closed D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.
Dec 18 2017, 9:57 AM

Dec 15 2017

davidxl added a comment to D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.

The instrumentation point will be before the no-return call, so there is probably no issue with instrumenting direct successor of the entry.

Dec 15 2017, 3:23 PM
davidxl updated the diff for D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.

address comment: remove unnecessary early return check.

Dec 15 2017, 3:20 PM
davidxl accepted D41307: [PGO] Fix handling of cold entry count for instrumented PGO.

lgtm

Dec 15 2017, 3:19 PM
davidxl added inline comments to D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.
Dec 15 2017, 2:48 PM
davidxl added inline comments to D41307: [PGO] Fix handling of cold entry count for instrumented PGO.
Dec 15 2017, 1:16 PM

Dec 14 2017

davidxl added a comment to D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.

Ping ..

Dec 14 2017, 8:12 PM
davidxl accepted D40751: [ICP] Expose unconditional call promotion interface.

there are two small suggestions. otherwise LGTM

Dec 14 2017, 3:14 PM
davidxl added a comment to D41152: Use a custom container to reduce AFDO's memory usage by ~60%.

I suggest making this a multiple stage change.

Dec 14 2017, 2:10 PM
davidxl added inline comments to D40751: [ICP] Expose unconditional call promotion interface.
Dec 14 2017, 11:09 AM

Dec 12 2017

davidxl added a comment to D41152: Use a custom container to reduce AFDO's memory usage by ~60%.

Is it enough to simply replace StringMap with std::map<std::string, ..> for small maps? Do you have memory data with that?

Dec 12 2017, 8:27 PM

Dec 11 2017

davidxl accepted D40699: Split IndirectBr critical edges before PGO gen/use passes..

lgtm

Dec 11 2017, 6:55 PM
davidxl added inline comments to D40751: [ICP] Expose unconditional call promotion interface.
Dec 11 2017, 4:35 PM

Dec 10 2017

davidxl created D41059: [PGO] MST min edge selection heuristic to ensure non-zero entry count.
Dec 10 2017, 3:20 PM
davidxl created D41058: [PGO] New test case.
Dec 10 2017, 3:14 PM

Dec 9 2017

davidxl committed rL320285: [PGO] change arg type to uint64_t to match member field type.
[PGO] change arg type to uint64_t to match member field type
Dec 9 2017, 11:40 PM

Dec 8 2017

davidxl committed rCRT320181: Update test case for r320180.
Update test case for r320180
Dec 8 2017, 11:39 AM
davidxl committed rL320181: Update test case for r320180.
Update test case for r320180
Dec 8 2017, 11:39 AM
davidxl committed rL320180: Revert r320104: infinite loop profiling bug fix.
Revert r320104: infinite loop profiling bug fix
Dec 8 2017, 11:38 AM
davidxl added inline comments to D40699: Split IndirectBr critical edges before PGO gen/use passes..
Dec 8 2017, 9:30 AM