Page MenuHomePhabricator

clin1 (Chang Lin)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 22 2018, 3:00 PM (222 w, 6 d)

Recent Activity

Mon, Jan 16

clin1 added a comment to D78810: [InstCombine] Check max alignment before adding attr on aligned_alloc.

Some version of this fix made it into:
https://github.com/llvm/llvm-project/commit/8233439fdbf5e11ba4a9f53801008721727f53a5
This review can be closed --- thanks.

Mon, Jan 16, 11:23 AM · Restricted Project, Restricted Project

Nov 9 2022

clin1 accepted D137752: [InstCombine] PR58901 - fix bug with swapping GEP of different types.

Works for me -- thanks for the quick fix!

Nov 9 2022, 11:35 PM · Restricted Project, Restricted Project

Apr 22 2022

clin1 committed rG7ee30a0e24a1: [NFC][LAA] Match-up type sizes for possible extensions, based on actual bit… (authored by clin1).
[NFC][LAA] Match-up type sizes for possible extensions, based on actual bit…
Apr 22 2022, 11:17 PM · Restricted Project, Restricted Project
clin1 closed D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size..
Apr 22 2022, 11:16 PM · Restricted Project, Restricted Project
clin1 added a comment to D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size..

Updated --- thanks for your comments!

Apr 22 2022, 2:49 PM · Restricted Project, Restricted Project
clin1 updated the diff for D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size..

Sharpened the test.

Apr 22 2022, 2:49 PM · Restricted Project, Restricted Project

Apr 21 2022

clin1 added a comment to D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size..

Gentle ping... does anyone see any issues with this (hopefully) minor alteration?

Apr 21 2022, 5:46 PM · Restricted Project, Restricted Project

Mar 31 2022

clin1 added a comment to D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size..

Fuzzer fails are timeouts; very unlikely they are related to this diff.

Mar 31 2022, 11:06 AM · Restricted Project, Restricted Project
clin1 added a reviewer for D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size.: sdesmalen.
Mar 31 2022, 11:05 AM · Restricted Project, Restricted Project

Mar 30 2022

clin1 committed rGc28ce745cf19: Value-number GVNHoist loads by result type as well as pointer address. (authored by clin1).
Value-number GVNHoist loads by result type as well as pointer address.
Mar 30 2022, 11:34 AM · Restricted Project, Restricted Project
clin1 closed D122521: Value-number GVNHoist loads by result type as well as pointer address..
Mar 30 2022, 11:33 AM · Restricted Project, Restricted Project

Mar 29 2022

clin1 added a reviewer for D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size.: pankajchawla.
Mar 29 2022, 11:21 AM · Restricted Project, Restricted Project
clin1 abandoned D100796: [InstCombine] Fix crash due to improper catchswitch handling.

Fixed by:
51fecd17
https://reviews.llvm.org/D105309

Mar 29 2022, 11:20 AM · Restricted Project, Restricted Project

Mar 28 2022

clin1 updated the diff for D122521: Value-number GVNHoist loads by result type as well as pointer address..
Mar 28 2022, 1:50 PM · Restricted Project, Restricted Project
clin1 updated the diff for D122521: Value-number GVNHoist loads by result type as well as pointer address..

Widen 2nd element of key to uintptr_t, store entire Type*. Add test for different addrspaces, use update_test_checks.

Mar 28 2022, 12:32 PM · Restricted Project, Restricted Project
clin1 added inline comments to D122521: Value-number GVNHoist loads by result type as well as pointer address..
Mar 28 2022, 11:11 AM · Restricted Project, Restricted Project

Mar 25 2022

clin1 requested review of D122521: Value-number GVNHoist loads by result type as well as pointer address..
Mar 25 2022, 8:44 PM · Restricted Project, Restricted Project

Feb 7 2022

clin1 requested review of D119200: Match-up type sizes for possible extensions, based on actual bit-size rather than rounded-up byte size..
Feb 7 2022, 4:07 PM · Restricted Project, Restricted Project

Nov 5 2021

clin1 abandoned D113232: [LoopStrengthReduce][NFC]: Check for invalid SCEVUnknowns when processing salvaged SCEVs.
Nov 5 2021, 9:25 AM · Restricted Project
clin1 added a comment to D113232: [LoopStrengthReduce][NFC]: Check for invalid SCEVUnknowns when processing salvaged SCEVs.

Yes, I confirm that it fixes the problem (by preventing the SCEVUnknowns from being gathered in the first place). Thanks for pointing this out --- since the other patch seems almost ready, I will close this one.

Nov 5 2021, 9:24 AM · Restricted Project

Nov 4 2021

clin1 requested review of D113232: [LoopStrengthReduce][NFC]: Check for invalid SCEVUnknowns when processing salvaged SCEVs.
Nov 4 2021, 5:44 PM · Restricted Project

Aug 18 2021

clin1 added a comment to D107935: [InstCombine] Avoid folding GEPs across loop boundaries.

Thank you for the review. Could I please ask someone to commit, with --author="Chang-Sun Lin, Jr. <chang-sun.lin.jr@intel.com>"?

Aug 18 2021, 5:07 PM · Restricted Project

Aug 12 2021

clin1 added a comment to D107935: [InstCombine] Avoid folding GEPs across loop boundaries.

Failing "task-dependency.c" test looks like unrelated flakiness. Observed it pass/failing randomly in local testing.

Aug 12 2021, 1:45 PM · Restricted Project

Aug 11 2021

clin1 updated the diff for D107935: [InstCombine] Avoid folding GEPs across loop boundaries.

Forgot the check lines...

Aug 11 2021, 3:59 PM · Restricted Project
clin1 requested review of D107935: [InstCombine] Avoid folding GEPs across loop boundaries.
Aug 11 2021, 3:44 PM · Restricted Project

Aug 2 2021

clin1 added a comment to D107298: Fix ValueTracking computeConstantRange to use "may" instead of "always" semantics for llvm.assume.

Chang-Sun Lin, Jr <chang-sun.lin.jr@intel.com>

Aug 2 2021, 1:17 PM · Restricted Project
clin1 added a comment to D107298: Fix ValueTracking computeConstantRange to use "may" instead of "always" semantics for llvm.assume.

Thank you for the quick review! Could I request you to "press the commit button", please? I apologize, I don't have write access to the repo.

Aug 2 2021, 1:02 PM · Restricted Project
clin1 requested review of D107298: Fix ValueTracking computeConstantRange to use "may" instead of "always" semantics for llvm.assume.
Aug 2 2021, 10:54 AM · Restricted Project

Jun 16 2021

clin1 accepted D100464: [DSE] Remove stores in the same loop iteration.

spec2000/186 passes now -- thanks.

Jun 16 2021, 11:19 AM · Restricted Project

Jun 9 2021

clin1 added a comment to D101103: [InstSimplify] Treat invariant group insts as bitcasts for load operands.

Hi @aeubanks, we turned up a corner case where jump threading is creating a self-referential GEP:

%tmp27 = getelementptr inbounds i8, i8* %tmp27, i64 1
Jun 9 2021, 11:42 AM · Restricted Project

Jun 8 2021

clin1 added a comment to D100464: [DSE] Remove stores in the same loop iteration.

Thank you for the quick response! Much appreciated.

Jun 8 2021, 6:11 PM · Restricted Project
clin1 added a comment to D100464: [DSE] Remove stores in the same loop iteration.

@dmgreen, we found that DSE is removing a non dead store in a loop with multiple backedges. File "dse-double-loop.ll" attached. The 2nd store postdominates the 1st one, but it doesn't run on every iteration, so the 1st one is still needed. We worked around it by checking numBackEdges > 1 in addition to the irreducibility check. Would you mind taking a look? I hope bugpoint did not over-reduce the test case; it's derived from "real" code in spec2000 186.crafty.

Jun 8 2021, 12:04 PM · Restricted Project

Apr 21 2021

clin1 added a comment to D100796: [InstCombine] Fix crash due to improper catchswitch handling.

Thanks for the review comments! Could I please ask someone for help making the commit? I don't have write access.

Apr 21 2021, 9:39 PM · Restricted Project, Restricted Project

Apr 20 2021

clin1 retitled D100796: [InstCombine] Fix crash due to improper catchswitch handling from Suppress phi->bitcast transformation in InstCombine for catchswitch blocks. to [InstCombine] Fix crash due to improper catchswitch handling.
Apr 20 2021, 12:24 PM · Restricted Project, Restricted Project

Apr 19 2021

clin1 updated the diff for D100796: [InstCombine] Fix crash due to improper catchswitch handling.

fixed case in variable name

Apr 19 2021, 4:22 PM · Restricted Project, Restricted Project
clin1 requested review of D100796: [InstCombine] Fix crash due to improper catchswitch handling.
Apr 19 2021, 2:43 PM · Restricted Project, Restricted Project

Mar 16 2021

clin1 added inline comments to D98757: [AMX] Not fold constant bitcast into amx intrisic.
Mar 16 2021, 10:47 PM · Restricted Project, Restricted Project
clin1 added inline comments to D98757: [AMX] Not fold constant bitcast into amx intrisic.
Mar 16 2021, 9:19 PM · Restricted Project, Restricted Project

Oct 26 2020

clin1 added inline comments to D86673: [StackColoring] Conservatively merge point pV = &(&Variable) in catch(Variable).
Oct 26 2020, 3:39 PM · Restricted Project
clin1 added inline comments to D86673: [StackColoring] Conservatively merge point pV = &(&Variable) in catch(Variable).
Oct 26 2020, 3:03 PM · Restricted Project

Jun 19 2020

clin1 abandoned D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

Our internal test passes---thank you for the fix.

Jun 19 2020, 3:46 PM · Restricted Project
clin1 added a comment to D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

Ah, I missed your comment. I'll pull your fix and retest.

Jun 19 2020, 1:04 PM · Restricted Project
clin1 updated the diff for D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

Return true to trigger the simplifier.

Jun 19 2020, 10:19 AM · Restricted Project
clin1 updated the diff for D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

Thanks for the consensus. New patch uploaded.

Jun 19 2020, 10:19 AM · Restricted Project

Jun 18 2020

clin1 updated the diff for D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

Good clarification: InstCombine vs. InstSimplify.
Merged and reduced test, full diff included.
If the patch is OK, could I ask you one more favor: to commit it? I do not have commit access to the project.

Jun 18 2020, 1:38 PM · Restricted Project
clin1 updated the diff for D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

Updated to run InstCombine before the vector transformations. The insert-binop-with-constant test needed a few changes. InstructionSimplify checks for constant divisors with 0/undef elements and undef's the entire result.

Jun 18 2020, 12:30 AM · Restricted Project

Jun 17 2020

clin1 added a comment to D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.

If running IC is cheap, that's a good solution. I will put up another patch. Thanks.
The IR looks strange, but it's unfortunately showing up in a few real test cases in our LLVM branch, after we've made some mods to the unroller and vectorizer.

Jun 17 2020, 4:12 PM · Restricted Project
clin1 created D82049: Fix crash in VectorCombine when attempting to peephole ConstantVector sequences.
Jun 17 2020, 1:28 PM · Restricted Project
clin1 added a comment to D78810: [InstCombine] Check max alignment before adding attr on aligned_alloc.

FWIW, dropping the attribute LGTM. The heap/stack promotion is still a work in progress, is that correct? At least, I don't see it happening in trunk.

Jun 17 2020, 11:50 AM · Restricted Project, Restricted Project

Oct 8 2019

clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Restoring latest patch.

Oct 8 2019, 12:47 AM · Restricted Project

Jan 19 2019

clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

@mkazantsev, would you mind taking one more look at this patch? One significant fix was made since your last review, to handle duplicate edges from SwitchInsts. The patch has now been rebased to latest (which hasn't changed it much). Thanks!

Jan 19 2019, 11:46 PM · Restricted Project

Nov 20 2018

clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Did not include the reverted part of the code (the important part :) ) in the new patch. Added separate testcase for switch-backedge. Thanks for the fix suggestions.

Nov 20 2018, 10:16 AM · Restricted Project

Nov 16 2018

clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Keep the InLoopPredecessors vector in the original order.

Nov 16 2018, 8:28 PM · Restricted Project
clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Missed the sort call -- thanks.

Nov 16 2018, 4:59 PM · Restricted Project
clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Remove duplicate blocks from the list of exit predecessors. This happens when the predecessor inst is a switch with duplicate targets. Avoids block double-processing and maintains the metadata consistency assertion.

Nov 16 2018, 3:32 PM · Restricted Project

Nov 14 2018

clin1 added a comment to D53876: Preserve loop metadata when splitting exit blocks.

Sorry for the trouble. I'll figure out what happened.

Nov 14 2018, 10:33 AM · Restricted Project

Nov 6 2018

clin1 added a comment to D53876: Preserve loop metadata when splitting exit blocks.

Thank you for the thorough review. I have one more request to the reviewers on this list: could someone give a hand to commit the code? I don't have write access to the repo yet.

Nov 6 2018, 3:59 PM · Restricted Project

Nov 2 2018

clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Previous patch was null, this is the right one.

Nov 2 2018, 3:50 PM · Restricted Project
clin1 updated the diff for D53876: Preserve loop metadata when splitting exit blocks.

Rewrote comments, fixed formatting, simplified test and added checks for specific metadata

Nov 2 2018, 3:44 PM · Restricted Project
clin1 added inline comments to D53876: Preserve loop metadata when splitting exit blocks.
Nov 2 2018, 3:38 PM · Restricted Project

Oct 30 2018

clin1 created D53876: Preserve loop metadata when splitting exit blocks.
Oct 30 2018, 10:45 AM · Restricted Project

Oct 26 2018

clin1 added a comment to D53536: Pointer types were treated as zero-size by MergeICmps.

One more favor to ask: Could I please have some help committing this fix? I'm new to the project and don't have write access yet...

Oct 26 2018, 10:54 AM
clin1 updated the diff for D53536: Pointer types were treated as zero-size by MergeICmps.

Thanks! I've made the suggested test change.

Oct 26 2018, 10:52 AM

Oct 22 2018

clin1 created D53536: Pointer types were treated as zero-size by MergeICmps.
Oct 22 2018, 3:59 PM