Page MenuHomePhabricator

dcaballe (Diego Caballero)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 16 2016, 11:47 AM (152 w, 2 d)

Recent Activity

Tue, Aug 6

dcaballe committed rG8bac17709e16: Re-land D65760/r367944 (authored by dcaballe).
Re-land D65760/r367944
Tue, Aug 6, 9:25 AM
dcaballe committed rL368055: Re-land D65760/r367944 .
Re-land D65760/r367944
Tue, Aug 6, 9:25 AM

Mon, Aug 5

dcaballe added a comment to D65760: [ORC] Add host CPU name and sub-target features to JITTargetMachineBuilder::detectHost().

Thanks, @plotfi. Sorry about that. It passed with gcc in my local machine. I'll check with Clang.

Mon, Aug 5, 5:08 PM · Restricted Project
dcaballe committed rG16477588824f: [ORC] Add CPU name and sub-target features to detectHost (authored by dcaballe).
[ORC] Add CPU name and sub-target features to detectHost
Mon, Aug 5, 4:04 PM
dcaballe committed rL367944: [ORC] Add CPU name and sub-target features to detectHost.
[ORC] Add CPU name and sub-target features to detectHost
Mon, Aug 5, 4:03 PM
dcaballe closed D65760: [ORC] Add host CPU name and sub-target features to JITTargetMachineBuilder::detectHost().
Mon, Aug 5, 4:03 PM · Restricted Project
dcaballe added a comment to D65760: [ORC] Add host CPU name and sub-target features to JITTargetMachineBuilder::detectHost().

Thanks for the quick response, Lang! I'll proceed with the commit in a while, in case somebody else has any comments.

Mon, Aug 5, 1:21 PM · Restricted Project
dcaballe created D65760: [ORC] Add host CPU name and sub-target features to JITTargetMachineBuilder::detectHost().
Mon, Aug 5, 11:04 AM · Restricted Project

Apr 9 2019

dcaballe accepted D59952: [VPLAN] Minor improvement to testing and debug messages..

LGTM! Thanks, Francesco!

Apr 9 2019, 10:03 AM · Restricted Project

Mar 29 2019

dcaballe added a comment to D59952: [VPLAN] Minor improvement to testing and debug messages..

Or are you saying this needs to be done explicitly for stress testing?

Mar 29 2019, 2:39 PM · Restricted Project
dcaballe added a comment to D59952: [VPLAN] Minor improvement to testing and debug messages..

Should we add a small lit test that covers the new expected behavior? Probably reusing one from D57598 with the stress testing flag would suffice.

Good idea. Something that invokes stress testing and sets VF = 4 when the computed VF is 1. Did I get it right?

Mar 29 2019, 9:55 AM · Restricted Project

Mar 28 2019

dcaballe added a comment to D59952: [VPLAN] Minor improvement to testing and debug messages..

Should we add a small lit test that covers the new expected behavior? Probably reusing one from D57598 with the stress testing flag would suffice.

Mar 28 2019, 6:48 PM · Restricted Project
dcaballe added a comment to D59952: [VPLAN] Minor improvement to testing and debug messages..

I thought the point was to just have a VF to build a VPlan with and as it currently stands we build the same VPlans with VF = 4 or any other VF I think. With the programmatically determined VF, we would be a little closer to reality in the stress testing. As Hideki mentioned, having a constant factor for stress testing might have other benefits later on though

Mar 28 2019, 1:53 PM · Restricted Project
dcaballe added a comment to D59952: [VPLAN] Minor improvement to testing and debug messages..

Yep, I agree on that we should keep the stress testing mechanism. It will be very useful to make sure that the construction and predication (and maybe other transformation) are robust enough since we can run it on loop nests that are not necessarily vectorizable.
Something important, though, is that we shouldn't use this mechanism to bypass legality or pragma simd requirements to vectorize a loop, i.e., we shouldn't use it to generate actual vector code.
What are you trying to achieve, Francesco?

Mar 28 2019, 1:25 PM · Restricted Project

Mar 14 2019

dcaballe accepted D57598: [VPLAN] Determine Vector Width programmatically..

Thanks, Francesco. LGTM!

Mar 14 2019, 7:37 PM · Restricted Project

Feb 6 2019

dcaballe added a comment to D57837: [LV] Prevent interleaving if computeMaxVF returned None..

LGTM (as you could see in my previous message :))

Feb 6 2019, 4:49 PM · Restricted Project
dcaballe added a comment to D57837: [LV] Prevent interleaving if computeMaxVF returned None..
Feb 6 2019, 2:52 PM · Restricted Project

Feb 5 2019

dcaballe added inline comments to D57382: [LV] Move interleave count computation to LVP::plan()..
Feb 5 2019, 6:19 PM · Restricted Project

Feb 4 2019

dcaballe added inline comments to D57598: [VPLAN] Determine Vector Width programmatically..
Feb 4 2019, 9:33 AM · Restricted Project
dcaballe added a comment to D57598: [VPLAN] Determine Vector Width programmatically..

Thanks Francesco for helping us remove some of the constraints we have in VPlan native path!
I agree with the idea of using getSmallestAndWidestTypes() as a starting point whereas we don't have the proper cost model.

Feb 4 2019, 9:23 AM · Restricted Project

Jan 31 2019

dcaballe added inline comments to D57382: [LV] Move interleave count computation to LVP::plan()..
Jan 31 2019, 11:36 AM · Restricted Project

Jan 30 2019

dcaballe added a comment to D57382: [LV] Move interleave count computation to LVP::plan()..

Hey Florian! Thanks a lot for taking care of this! I'm leaving a comment below. Please, let me know what you think.

Jan 30 2019, 9:45 PM · Restricted Project

Jan 11 2019

dcaballe planned changes to D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..

Hi Florian,

Jan 11 2019, 10:04 AM

Nov 12 2018

dcaballe added a comment to D49491: [RFC][VPlan, SLP] Add simple SLP analysis on top of VPlan..

From the VPlan point of view, LGTM. I don't have any other comments.

Nov 12 2018, 10:28 AM

Oct 10 2018

dcaballe accepted D53091: [LV] Ignore more debug info..

LGTM!

Oct 10 2018, 10:54 AM

Aug 22 2018

dcaballe added a comment to D50823: [VPlan] Introduce VPCmpInst sub-class in the instruction-level representation.

In case you missed it, there is some discussion in D50480 regarding this code. Your feedback would be appreciated.

Aug 22 2018, 3:34 PM
dcaballe added reviewers for D50823: [VPlan] Introduce VPCmpInst sub-class in the instruction-level representation: mkuper, hfinkel, rkruppe.
Aug 22 2018, 3:32 PM
dcaballe added a comment to D50480: [LV] Vectorizing loops of arbitrary trip count without remainder under opt for size.

Reverted to use the original ICmpULE extended opcode instead of detached ICmpInst. This can be revised quite easily once VPInstructions acquire any other form of modeling compares.

Aug 22 2018, 3:05 PM

Aug 20 2018

dcaballe added inline comments to D50480: [LV] Vectorizing loops of arbitrary trip count without remainder under opt for size.
Aug 20 2018, 3:44 PM

Aug 17 2018

dcaballe added inline comments to D50823: [VPlan] Introduce VPCmpInst sub-class in the instruction-level representation.
Aug 17 2018, 9:24 AM

Aug 15 2018

dcaballe added inline comments to D50480: [LV] Vectorizing loops of arbitrary trip count without remainder under opt for size.
Aug 15 2018, 5:18 PM
dcaballe created D50823: [VPlan] Introduce VPCmpInst sub-class in the instruction-level representation.
Aug 15 2018, 5:12 PM

Aug 14 2018

dcaballe added inline comments to D50480: [LV] Vectorizing loops of arbitrary trip count without remainder under opt for size.
Aug 14 2018, 6:33 PM

Aug 12 2018

dcaballe added a comment to D50480: [LV] Vectorizing loops of arbitrary trip count without remainder under opt for size.

Thanks, Ayal! Some comments below.
Do you see any potential issue that could make modeling this in the VPlan native path complicated once we have predication?

Aug 12 2018, 7:32 PM

Aug 7 2018

dcaballe added a comment to D49489: [VPlan] VPlan version of InterleavedAccessInfo..

Just a few comments.

Aug 7 2018, 11:14 AM

Aug 6 2018

dcaballe added a comment to D49491: [RFC][VPlan, SLP] Add simple SLP analysis on top of VPlan..

Thanks for working on this, Florian, and sorry for my delayed response. I added some initial comments. I'll come back soon.

Aug 6 2018, 10:18 PM

Jul 30 2018

dcaballe committed rL338346: [VPlan] Introduce VPLoopInfo analysis..
[VPlan] Introduce VPLoopInfo analysis.
Jul 30 2018, 6:58 PM
dcaballe closed D48816: [VPlan] Introduce VPLoopInfo analysis..
Jul 30 2018, 6:58 PM
dcaballe committed rL338310: [VPlan] Introduce VPlan-based dominator analysis..
[VPlan] Introduce VPlan-based dominator analysis.
Jul 30 2018, 2:34 PM
dcaballe closed D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 30 2018, 2:33 PM

Jul 27 2018

dcaballe added a comment to D48815: [VPlan] Introduce VPlan-based dominator analysis..

Thanks, Florian! I'll go ahead with the commit!

Jul 27 2018, 12:15 PM

Jul 20 2018

dcaballe added a comment to D48816: [VPlan] Introduce VPLoopInfo analysis..

Thanks for the review, Florian!
I'll commit this once D48815 is approved and committed.

Jul 20 2018, 10:36 AM

Jul 17 2018

dcaballe updated the diff for D48816: [VPlan] Introduce VPLoopInfo analysis..

Making VPLoopInfo object a member of VPlan.

Jul 17 2018, 10:50 PM
dcaballe added inline comments to D48816: [VPlan] Introduce VPLoopInfo analysis..
Jul 17 2018, 10:21 PM
dcaballe updated the diff for D48815: [VPlan] Introduce VPlan-based dominator analysis..

Reverting GraphTraits changes and adding VPlanTestBase as friend of VPlanHCFGBuilder.

Jul 17 2018, 9:49 PM
dcaballe added inline comments to D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 17 2018, 9:46 PM

Jul 16 2018

dcaballe added inline comments to D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 16 2018, 5:16 PM
dcaballe updated the diff for D48815: [VPlan] Introduce VPlan-based dominator analysis..

Thanks for the comments, Florian! Addressing your comments.

Jul 16 2018, 5:13 PM

Jul 12 2018

dcaballe updated the diff for D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..

Rebasing this patch on top of D49032

Jul 12 2018, 11:49 AM
dcaballe updated the diff for D48816: [VPlan] Introduce VPLoopInfo analysis..

Rebasing this patch on top of D49032.

Jul 12 2018, 11:28 AM
dcaballe updated the diff for D48815: [VPlan] Introduce VPlan-based dominator analysis..

Rebasing this patch on top of D49032.

Jul 12 2018, 11:25 AM

Jul 9 2018

dcaballe committed rL336572: [LoopInfo] Port loop exit interfaces from Loop to LoopBase.
[LoopInfo] Port loop exit interfaces from Loop to LoopBase
Jul 9 2018, 10:58 AM
dcaballe closed D48817: [LoopInfo] Port loop exit interfaces from Loop to LoopBase.
Jul 9 2018, 10:57 AM
dcaballe committed rL336554: [VPlan][LV] Introduce condition bit in VPBlockBase.
[VPlan][LV] Introduce condition bit in VPBlockBase
Jul 9 2018, 9:02 AM
dcaballe closed D48814: [VPlan] Introduce condition bit in VPBlockBase..
Jul 9 2018, 9:02 AM

Jul 6 2018

dcaballe updated the diff for D48817: [LoopInfo] Port loop exit interfaces from Loop to LoopBase.

Addressing Chandler's comments. Thanks, Chandler!
Yes, I have commit access.

Jul 6 2018, 7:11 PM
dcaballe added inline comments to D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 6 2018, 1:08 PM
dcaballe added inline comments to D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 6 2018, 12:15 PM
dcaballe accepted D49032: [VPlan] Add VPlanTestBase.h with helper class to build VPlan for tests..

Good idea! Thanks! LGTM. Just some minor comments.

Jul 6 2018, 12:11 PM
dcaballe added a comment to D48814: [VPlan] Introduce condition bit in VPBlockBase..

Thanks, Florian! I'll commit next week.

Jul 6 2018, 9:10 AM

Jul 1 2018

dcaballe added a parent revision for D48816: [VPlan] Introduce VPLoopInfo analysis.: D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 1 2018, 11:00 PM
dcaballe added a child revision for D48815: [VPlan] Introduce VPlan-based dominator analysis.: D48816: [VPlan] Introduce VPLoopInfo analysis..
Jul 1 2018, 11:00 PM
dcaballe added parent revisions for D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder.: D48814: [VPlan] Introduce condition bit in VPBlockBase., D48815: [VPlan] Introduce VPlan-based dominator analysis., D48816: [VPlan] Introduce VPLoopInfo analysis., D48817: [LoopInfo] Port loop exit interfaces from Loop to LoopBase.
Jul 1 2018, 10:59 PM
dcaballe added a child revision for D48814: [VPlan] Introduce condition bit in VPBlockBase.: D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..
Jul 1 2018, 10:59 PM
dcaballe added a child revision for D48815: [VPlan] Introduce VPlan-based dominator analysis.: D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..
Jul 1 2018, 10:59 PM
dcaballe added a child revision for D48816: [VPlan] Introduce VPLoopInfo analysis.: D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..
Jul 1 2018, 10:59 PM
dcaballe added a child revision for D48817: [LoopInfo] Port loop exit interfaces from Loop to LoopBase: D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..
Jul 1 2018, 10:59 PM
dcaballe created D48818: [VPlan] Introduce simplifyPlainCFG step in H-CFG builder..
Jul 1 2018, 10:34 PM
dcaballe created D48817: [LoopInfo] Port loop exit interfaces from Loop to LoopBase.
Jul 1 2018, 10:29 PM
dcaballe created D48816: [VPlan] Introduce VPLoopInfo analysis..
Jul 1 2018, 10:25 PM
dcaballe created D48815: [VPlan] Introduce VPlan-based dominator analysis..
Jul 1 2018, 10:19 PM
dcaballe created D48814: [VPlan] Introduce condition bit in VPBlockBase..
Jul 1 2018, 10:14 PM

Jun 15 2018

dcaballe committed rL334854: Move redundant-vf2-cost.ll test to X86 directory.
Move redundant-vf2-cost.ll test to X86 directory
Jun 15 2018, 11:50 AM
dcaballe accepted D46827: [VPlan] Add VPInstruction to VPRecipe transformation..

Thanks a lot, Florian! LGTM!

Jun 15 2018, 11:19 AM
dcaballe committed rL334840: [LV] Prevent LV to run cost model twice for VF=2.
[LV] Prevent LV to run cost model twice for VF=2
Jun 15 2018, 9:26 AM
dcaballe closed D48048: [LV] Prevent LV to run cost model twice for VF=2.
Jun 15 2018, 9:26 AM
dcaballe added inline comments to D46827: [VPlan] Add VPInstruction to VPRecipe transformation..
Jun 15 2018, 9:11 AM

Jun 14 2018

dcaballe added inline comments to D48048: [LV] Prevent LV to run cost model twice for VF=2.
Jun 14 2018, 3:36 PM
dcaballe added a comment to D48193: [LoopVectorizer] Use an interleave count of 1 when using a vector library call.

Hi Robert,

Jun 14 2018, 1:42 PM
dcaballe added a comment to D48048: [LV] Prevent LV to run cost model twice for VF=2.

If no more comments, I'll proceed with the commit.

Jun 14 2018, 11:49 AM

Jun 13 2018

dcaballe added a comment to D46827: [VPlan] Add VPInstruction to VPRecipe transformation..

Thanks for the rework and for your patience, Florian!
I don't see any major issues. Please, wait for Satish's approval, just in case he has any comments regarding how this would interact with his next patch.
In any case, we could always address any issues in a separate commit.

Jun 13 2018, 4:29 PM
dcaballe added a reviewer for D46827: [VPlan] Add VPInstruction to VPRecipe transformation.: sguggill.
Jun 13 2018, 4:25 PM
dcaballe accepted D48081: [VPlanRecipeBase] Add eraseFromParent()..

LGTM!

Jun 13 2018, 4:01 PM
dcaballe accepted D48080: [VPlanRecipeBase] Add insertBefore helper..

Thanks for the patch! LGTM.
I think it's ok to kept these utilities in the VPRecipeBase class for now. Eventually, if we add too many, we may want to move them to a VPInstructionUtils, same as what we are doing for VPBlockBase.

Jun 13 2018, 3:59 PM
dcaballe added a comment to D48048: [LV] Prevent LV to run cost model twice for VF=2.

Thanks for the comments, Ayal! Please, let me know if you have any other concerns.

Jun 13 2018, 1:50 PM

Jun 12 2018

dcaballe added a comment to D48048: [LV] Prevent LV to run cost model twice for VF=2.

Thank you both for the review!

Jun 12 2018, 8:35 AM

Jun 11 2018

dcaballe created D48048: [LV] Prevent LV to run cost model twice for VF=2.
Jun 11 2018, 1:15 PM

Jun 7 2018

dcaballe added a comment to D46827: [VPlan] Add VPInstruction to VPRecipe transformation..

Updated to not use VPRecipeBuilder for recipe construction. It now relies relies on the original VPlan to be vectorizable without masking/interleaving. If that makes sense, I'll move the code enabling the CG to a separate patch and add a unit test for the transformation.

Jun 7 2018, 5:15 PM
dcaballe added a comment to D47477: [VPlan] Move recipe based VPlan generation to separate function..

Thanks, Florian! Again, wait for the pending review to commit this one.

as I updated D46827, do you think there is anything left that's pending for this patch?

Jun 7 2018, 2:39 PM
dcaballe added a comment to D47595: [VPlan] Move recipe construction to VPRecipeBuilder..

Thanks, Florian! LGTM!
Please wait until we finish the other two related reviews to commit it, in case we have to change something else.

As I updated D46827 to not rely on VPRecipeBuilder, but instead create a limited subset of recipes directly, do you think this is good to go?

Jun 7 2018, 2:33 PM

Jun 4 2018

dcaballe added a comment to D46827: [VPlan] Add VPInstruction to VPRecipe transformation..

Thanks for this new version, Florian! Pretty excited to see that some inner loop tests are passing!
Satish is working on the support for outer loops in CG and we’ve been discussing your changes. We have to make sure that this patch aligns well with his next patch and also with the constraints that we stablished for this patch series and subsequent ones. Some comments in this regard:

  1. We think that VPInstructionsToVPRecipes is still too smart for the vplan native path and bringing too much code (from CM and Legal, for example) an recipes that we would prefer to keep away from the native path until they are properly ported. Otherwise, we’d end up having the same development limitations as we have in the inner loop path. What we had in main for the Recipe to VPInstruction transition in the native path is something as simple as the code in https://reviews.llvm.org/D44338?vs=on&id=140081&whitespace=ignore-most, where createRecipesForVPBB is naively creating only VPWidenMemoryInstructionRecipe, VPWidenRecipe and VPWidenPHIRecipe. Satish will give you more details in this regard so that this patch aligns with his.
Jun 4 2018, 11:45 AM

Jun 1 2018

dcaballe accepted D47477: [VPlan] Move recipe based VPlan generation to separate function..

Thanks, Florian! Again, wait for the pending review to commit this one.

Jun 1 2018, 9:20 AM
dcaballe accepted D47595: [VPlan] Move recipe construction to VPRecipeBuilder..

Thanks, Florian! LGTM!
Please wait until we finish the other two related reviews to commit it, in case we have to change something else.

Jun 1 2018, 9:14 AM

May 31 2018

dcaballe added a comment to D47595: [VPlan] Move recipe construction to VPRecipeBuilder..

Thanks for doing this refactoring! In general, moving all this code outside of the planner makes sense to me.
create*Mask and getDecisionAndClampRange are not strictly creating recipes but I understand the dependencies.
Minor comments inline.

May 31 2018, 5:10 PM
dcaballe added a comment to D47477: [VPlan] Move recipe based VPlan generation to separate function..

Thanks for revisiting this, Florian!
No major issues. Just one question below.

May 31 2018, 2:03 PM

May 29 2018

dcaballe committed rL333476: [VPlan] Replace LLVM_ATTRIBUTE_USED with ifndef NDEBUG.
[VPlan] Replace LLVM_ATTRIBUTE_USED with ifndef NDEBUG
May 29 2018, 4:14 PM
dcaballe closed D47498: [VPlan] Replace LLVM_ATTRIBUTE_USED with ifndef NDEBUG.
May 29 2018, 4:14 PM
dcaballe added inline comments to D47477: [VPlan] Move recipe based VPlan generation to separate function..
May 29 2018, 3:35 PM
dcaballe created D47498: [VPlan] Replace LLVM_ATTRIBUTE_USED with ifndef NDEBUG.
May 29 2018, 2:56 PM
dcaballe added a comment to D41953: [LoopUnroll] Unroll and Jam.

For example, uniform control flow check @dcaballe has written is probably shareable. Ditto for Divergence Analysis RFC by Simon Moll.

May 29 2018, 2:43 PM