Page MenuHomePhabricator

fpetrogalli (Francesco Petrogalli)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 12 2016, 4:50 AM (170 w, 3 d)

Recent Activity

Yesterday

fpetrogalli updated the diff for D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..

I have rephrased the first paragraph to avoid mentioning the the term scalar function.

Fri, Jan 17, 8:15 AM · Restricted Project
fpetrogalli updated the diff for D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..
  1. I have changed the title of the section from Instruction Attributes to Call Site Attributes, as suggested by @jdoerfert.
  2. I have addressed the comments from @andwar.
Fri, Jan 17, 7:27 AM · Restricted Project
fpetrogalli added inline comments to D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..
Fri, Jan 17, 7:27 AM · Restricted Project

Thu, Jan 16

fpetrogalli updated the diff for D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..

Update text according to review.

Thu, Jan 16, 11:29 AM · Restricted Project
fpetrogalli added inline comments to D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..
Thu, Jan 16, 11:29 AM · Restricted Project
fpetrogalli committed rG66c120f02560: [VectorUtils] Rework the Vector Function Database (VFDatabase). (authored by fpetrogalli).
[VectorUtils] Rework the Vector Function Database (VFDatabase).
Thu, Jan 16, 7:11 AM
fpetrogalli closed D72734: [VectorUtils] Rework the Vector Function Database (VFDatabase)..
Thu, Jan 16, 7:11 AM · Restricted Project

Wed, Jan 15

fpetrogalli added a comment to D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..

What are instruction attributes? How would that look like? Is there a list discussion?

Wed, Jan 15, 12:52 PM · Restricted Project
fpetrogalli created D72798: [llvm][docs] LangRef for IR attribute `vector-function-abi-variants`..
Wed, Jan 15, 12:05 PM · Restricted Project
fpetrogalli updated the summary of D72734: [VectorUtils] Rework the Vector Function Database (VFDatabase)..
Wed, Jan 15, 9:44 AM · Restricted Project
fpetrogalli added a comment to D72734: [VectorUtils] Rework the Vector Function Database (VFDatabase)..

@uabelho , let me know if the introduction of isTLIScalarize prevents the regressions you have seen in your out-of-tree compiler.

Hi!

I applied this new patch as is and now I don't see the regressions I saw last time.

Wed, Jan 15, 9:35 AM · Restricted Project
fpetrogalli updated the diff for D72734: [VectorUtils] Rework the Vector Function Database (VFDatabase)..

I have removed the LangRef changes. I'll create a separate patch for that.

Wed, Jan 15, 9:35 AM · Restricted Project

Tue, Jan 14

fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Reworked in https://reviews.llvm.org/D72734

Tue, Jan 14, 1:28 PM · Restricted Project
fpetrogalli added a comment to D72734: [VectorUtils] Rework the Vector Function Database (VFDatabase)..

@uabelho , let me know if the introduction of isTLIScalarize prevents the regressions you have seen in your out-of-tree compiler.

Tue, Jan 14, 1:28 PM · Restricted Project
fpetrogalli created D72734: [VectorUtils] Rework the Vector Function Database (VFDatabase)..
Tue, Jan 14, 1:28 PM · Restricted Project

Mon, Jan 13

fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

I am working on a solution for the problem you reported.

Mon, Jan 13, 9:47 AM · Restricted Project

Dec 13 2019

fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

@uabelho: would it be possible for you to provide me a minimal reproducer that I could use to craft the (wip) solution I have in mind?

I'm not sure what kind of reproducer you expect since my reproducer requires our out-of-tree target and intrinsics but I can at least try to show something.

What we have in our target is that in initialize() in TargetLibraryInfo.cpp we add our target intrinsics that we allow in vectorized loops.
So we have like:

const VecDesc VecIntrinsics[] = {
  {"llvm.phx.abs.i32", "", 4}
};
 
TLI.addVectorizableFunctions(VecIntrinsics);

where we say that it's ok to vectorize a loop containing a call to the intrinsic llvm.phx.abs.i32, but we don't provide a vector version that should be used when it's vectorized.

I think in-tree targets did like this before, I'm not sure if they do anymore or if that has changed now.

Dec 13 2019, 1:37 PM · Restricted Project
fpetrogalli committed rG19f73f0d1b8d: Revert "[VectorUtils] Introduce the Vector Function Database (VFDatabase)." (authored by fpetrogalli).
Revert "[VectorUtils] Introduce the Vector Function Database (VFDatabase)."
Dec 13 2019, 11:47 AM
fpetrogalli added a reverting change for rG0be81968a283: [VectorUtils] Introduce the Vector Function Database (VFDatabase).: rG19f73f0d1b8d: Revert "[VectorUtils] Introduce the Vector Function Database (VFDatabase).".
Dec 13 2019, 11:47 AM

Dec 12 2019

fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

It sounds like resolving this will require some extra thought. It would probably be good to revert this patch until then.

Dec 12 2019, 11:49 AM · Restricted Project
fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Dec 12 2019, 8:04 AM · Restricted Project
fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

...

This meant that before this patch

LoopVectorizationLegality::canVectorizeInstrs()

accepted to vectorize the loop since

TLI->isFunctionVectorizable(CI->getCalledFunction()->getName())

returned true for the intrinsic.

Then in LoopVectorizationCostModel::getVectorCallCost we decided that the call to the intrinsic should be scalarized, since

TLI->isFunctionVectorizable(FnName, VF)

returned false.

Dec 12 2019, 7:45 AM · Restricted Project

Dec 11 2019

fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Hi @fpetrogalli ,

A question regarding this patch.
For my out-of-tree target vectorization of intrinsics added for my target seems to have stopped working with this patch.

Dec 11 2019, 9:19 AM · Restricted Project

Dec 10 2019

fpetrogalli committed rG0be81968a283: [VectorUtils] Introduce the Vector Function Database (VFDatabase). (authored by fpetrogalli).
[VectorUtils] Introduce the Vector Function Database (VFDatabase).
Dec 10 2019, 8:43 AM
fpetrogalli closed D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Dec 10 2019, 8:43 AM · Restricted Project

Dec 9 2019

fpetrogalli committed rG2ea6ab67779d: [llvm][VFABI] Add more testing for LLVM internal mangling. (authored by fpetrogalli).
[llvm][VFABI] Add more testing for LLVM internal mangling.
Dec 9 2019, 7:57 AM
fpetrogalli closed D71146: [llvm][VFABI] Add more testing for LLVM internal mangling..
Dec 9 2019, 7:57 AM · Restricted Project

Dec 6 2019

fpetrogalli created D71146: [llvm][VFABI] Add more testing for LLVM internal mangling..
Dec 6 2019, 12:52 PM · Restricted Project

Dec 5 2019

fpetrogalli added a comment to D70496: [AArch64] Fix issues with large arrays on stack.

@fpetrogalli are you OK with the changes I made to your suggestions? Might need some handholding to land this patch.

I am happy, with a nit: I think that CHECK-COUNT-128 is ignored? Or is COUNT-128 a specific token for the CHECK prefix?

Dec 5 2019, 7:39 AM · Restricted Project
fpetrogalli added a comment to D70496: [AArch64] Fix issues with large arrays on stack.
Dec 5 2019, 6:43 AM · Restricted Project

Dec 4 2019

fpetrogalli committed rG1de214fa413d: [fix][unittests][llvm] Fix running unit tests without assertions. [NFCI] (authored by fpetrogalli).
[fix][unittests][llvm] Fix running unit tests without assertions. [NFCI]
Dec 4 2019, 7:29 PM
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Address review comments from @ABataev.

Dec 4 2019, 2:00 PM · Restricted Project
fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Gentle ping after the merge of https://reviews.llvm.org/D70513.

Dec 4 2019, 1:13 PM · Restricted Project
fpetrogalli committed rGeac93757c39b: [VectorUtils] API for VFShape, update VFInfo. (authored by fpetrogalli).
[VectorUtils] API for VFShape, update VFInfo.
Dec 4 2019, 12:45 PM
fpetrogalli closed D70513: [VectorUtils] API for VFShape, update VFInfo..
Dec 4 2019, 12:45 PM · Restricted Project
fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

Address review comments from @sdesmalen.

Dec 4 2019, 11:08 AM · Restricted Project
fpetrogalli added inline comments to D70513: [VectorUtils] API for VFShape, update VFInfo..
Dec 4 2019, 11:08 AM · Restricted Project
fpetrogalli committed rGa249551bb232: [llvm][Transform] Remove unused variable. [NFCI] (authored by fpetrogalli).
[llvm][Transform] Remove unused variable. [NFCI]
Dec 4 2019, 9:42 AM
fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

Allow GlobalPredicate parameters in any position of the signature.

Dec 4 2019, 9:04 AM · Restricted Project

Dec 2 2019

fpetrogalli added a comment to D70513: [VectorUtils] API for VFShape, update VFInfo..

Gentle ping!

Dec 2 2019, 8:34 AM · Restricted Project

Nov 22 2019

fpetrogalli added inline comments to D70542: [AArch64][SVE] Add intrinsics for gather loads with 64-bit offsets.
Nov 22 2019, 10:36 AM · Restricted Project
fpetrogalli added inline comments to D70513: [VectorUtils] API for VFShape, update VFInfo..
Nov 22 2019, 9:50 AM · Restricted Project
fpetrogalli added inline comments to D70496: [AArch64] Fix issues with large arrays on stack.
Nov 22 2019, 8:09 AM · Restricted Project

Nov 21 2019

fpetrogalli added inline comments to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Nov 21 2019, 1:26 PM · Restricted Project
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

I have addressed the comments (some of the changes relative to the VFShape API are reflected in https://reviews.llvm.org/D70513).

Nov 21 2019, 1:26 PM · Restricted Project
fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

Update (and rename) the get method to use ElementCount instead of VF
and IsScalable separately.

Nov 21 2019, 12:58 PM · Restricted Project
fpetrogalli closed D67762: [docs] Break long (>80) line. NFC.
Nov 21 2019, 12:13 PM · Restricted Project
fpetrogalli abandoned D30739: [OpenMP] "declare simd" for AArch64 Advanced SIMD..
Nov 21 2019, 12:13 PM

Nov 20 2019

fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

In this update I have removed empty statements in the tests. (facepalm)

Nov 20 2019, 8:34 PM · Restricted Project
fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

In this last update I have:

Nov 20 2019, 8:25 PM · Restricted Project
fpetrogalli retitled D70513: [VectorUtils] API for VFShape, update VFInfo. from [VectorUtils] API for VFShape. to [VectorUtils] API for VFShape, update VFInfo..
Nov 20 2019, 8:14 PM · Restricted Project
fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

In this patch I have achieved better unit tests granularity by moving
the EXPECT_* macros from the test fixture class into the actual
test, so that in case of failure the log message points at the right
line in the code (otherwise it always points at the EXPECT_* in the
method used to run the check in the class definition of the test
fixture).

Nov 20 2019, 8:07 PM · Restricted Project
fpetrogalli updated the diff for D70513: [VectorUtils] API for VFShape, update VFInfo..

Fully implement and test the API.

Nov 20 2019, 7:47 PM · Restricted Project
fpetrogalli added inline comments to D70513: [VectorUtils] API for VFShape, update VFInfo..
Nov 20 2019, 2:43 PM · Restricted Project
fpetrogalli added inline comments to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Nov 20 2019, 2:36 PM · Restricted Project
fpetrogalli created D70513: [VectorUtils] API for VFShape, update VFInfo..
Nov 20 2019, 2:34 PM · Restricted Project
fpetrogalli added inline comments to D70496: [AArch64] Fix issues with large arrays on stack.
Nov 20 2019, 9:56 AM · Restricted Project
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Remove commented code...

Nov 20 2019, 9:36 AM · Restricted Project
fpetrogalli added inline comments to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Nov 20 2019, 9:26 AM · Restricted Project
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

I have optimized the getVFABIMappings method of VFDatabase with an
early exit if the VFABI attribute is empty.

Nov 20 2019, 9:26 AM · Restricted Project
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Address review comments from @sdesmalen. Thank you!

Nov 20 2019, 9:08 AM · Restricted Project
fpetrogalli added inline comments to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Nov 20 2019, 9:08 AM · Restricted Project
fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Thanks @fpetrogalli for updating this patch!

Down to two failures.
Failing Tests (2):

Just checking, are these failures resolved in the latest revision?

Nov 20 2019, 8:07 AM · Restricted Project
fpetrogalli added inline comments to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Nov 20 2019, 7:08 AM · Restricted Project

Nov 18 2019

fpetrogalli retitled D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase). from [SVFS] The Search Vector Function System. to [VectorUtils] Introduce the Vector Function Database (VFDatabase)..
Nov 18 2019, 3:50 PM · Restricted Project
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

In this patch:

Nov 18 2019, 3:50 PM · Restricted Project
fpetrogalli committed rG015b2e699f0c: [dwarfgen] Fix initialization order error. [NFCI] (authored by fpetrogalli).
[dwarfgen] Fix initialization order error. [NFCI]
Nov 18 2019, 8:53 AM

Nov 15 2019

fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Down to two failures.

Nov 15 2019, 2:58 PM · Restricted Project
fpetrogalli updated the diff for D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

I have rebased the changes after the addition of the pass for injecting the TLI calls.

Nov 15 2019, 1:21 PM · Restricted Project
fpetrogalli committed rGd6de5f12d485: [SVFS] Inject TLI Mappings in VFABI attribute. (authored by fpetrogalli).
[SVFS] Inject TLI Mappings in VFABI attribute.
Nov 15 2019, 10:50 AM
fpetrogalli closed D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 15 2019, 10:50 AM · Restricted Project
fpetrogalli added inline comments to D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 15 2019, 10:41 AM · Restricted Project
fpetrogalli updated the diff for D70107: [VFABI] TargetLibraryInfo mappings in IR..

Update according to last round of review from @jdoerfert.

Nov 15 2019, 10:41 AM · Restricted Project

Nov 14 2019

fpetrogalli added inline comments to D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 14 2019, 9:45 PM · Restricted Project
fpetrogalli added inline comments to D69853: [OpenMP][NFCI] Introduce llvm/IR/OpenMPConstants.h.
Nov 14 2019, 9:39 PM · Restricted Project, Restricted Project
fpetrogalli added inline comments to D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 14 2019, 8:37 PM · Restricted Project
fpetrogalli updated the diff for D70107: [VFABI] TargetLibraryInfo mappings in IR..

Address last round of reviews.

Nov 14 2019, 11:57 AM · Restricted Project

Nov 13 2019

fpetrogalli added inline comments to D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 13 2019, 8:39 PM · Restricted Project
fpetrogalli committed rG91c5928c3623: [ModuleUtils] Clean up header file. [NFC] (authored by fpetrogalli).
[ModuleUtils] Clean up header file. [NFC]
Nov 13 2019, 8:39 PM
fpetrogalli closed D70218: [ModuleUtils] Clean up header file. [NFC].
Nov 13 2019, 8:39 PM · Restricted Project
fpetrogalli created D70218: [ModuleUtils] Clean up header file. [NFC].
Nov 13 2019, 8:38 PM · Restricted Project
fpetrogalli accepted D70218: [ModuleUtils] Clean up header file. [NFC].

Self approving a NFC, as suggested in https://reviews.llvm.org/D70107#inline-632467

Nov 13 2019, 8:38 PM · Restricted Project
fpetrogalli added inline comments to D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 13 2019, 2:31 PM · Restricted Project
fpetrogalli updated the diff for D70107: [VFABI] TargetLibraryInfo mappings in IR..

Thank you all for the review. The pass is now fuctional, working for
the libraries supported by the TLI: SVML, Accelerate and MASSV.

Nov 13 2019, 2:21 PM · Restricted Project

Nov 12 2019

fpetrogalli updated the diff for D70107: [VFABI] TargetLibraryInfo mappings in IR..

This is an update in which I have tried to add the legacy pass manager.

Nov 12 2019, 9:32 PM · Restricted Project
fpetrogalli added inline comments to D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 12 2019, 9:32 PM · Restricted Project
fpetrogalli committed rGd8b6b1114307: [VFABI] Add LLVM internal mangling for vector functions. (authored by fpetrogalli).
[VFABI] Add LLVM internal mangling for vector functions.
Nov 12 2019, 7:44 PM
fpetrogalli closed D70089: [VFABI] Add LLVM internal mangling for vector functions..
Nov 12 2019, 7:44 PM · Restricted Project
fpetrogalli updated the diff for D70089: [VFABI] Add LLVM internal mangling for vector functions..

Cosmetic changes to comments and commit message. [NFC]

Nov 12 2019, 12:56 PM · Restricted Project
fpetrogalli updated the diff for D70089: [VFABI] Add LLVM internal mangling for vector functions..

I have updated the way we represent the token for the internal name ISA used by LLVM. The token is used only in a VFABI context, so I moved it in the VFABI namespace. In there, the name can be simplified to _LLVM_ as the VFABI namespace specializes the name already.

Nov 12 2019, 12:38 PM · Restricted Project
fpetrogalli updated the diff for D70089: [VFABI] Add LLVM internal mangling for vector functions..

I have changed LLVM_VF to LLVM in the VFISAKind enum class.

Nov 12 2019, 9:14 AM · Restricted Project
fpetrogalli added inline comments to D70089: [VFABI] Add LLVM internal mangling for vector functions..
Nov 12 2019, 6:53 AM · Restricted Project
fpetrogalli added inline comments to D70089: [VFABI] Add LLVM internal mangling for vector functions..
Nov 12 2019, 6:44 AM · Restricted Project

Nov 11 2019

fpetrogalli committed rGe9a06e060641: [VFABI] Read/Write functions for the VFABI attribute. (authored by fpetrogalli).
[VFABI] Read/Write functions for the VFABI attribute.
Nov 11 2019, 7:50 PM
fpetrogalli closed D69976: [VFABI] Read/Write functions for the VFABI attribute..
Nov 11 2019, 7:49 PM · Restricted Project
fpetrogalli added a comment to D70107: [VFABI] TargetLibraryInfo mappings in IR..

This patch is not functional yet, but I have added it here to show in the test what I intend to do.

Nov 11 2019, 6:36 PM · Restricted Project
fpetrogalli created D70107: [VFABI] TargetLibraryInfo mappings in IR..
Nov 11 2019, 6:36 PM · Restricted Project
fpetrogalli added reviewers for D70107: [VFABI] TargetLibraryInfo mappings in IR.: jdoerfert, sdesmalen, simoll.
Nov 11 2019, 6:36 PM · Restricted Project
fpetrogalli added a comment to D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase)..

Internal vector function mangling for TLI added at https://reviews.llvm.org/D70089

Nov 11 2019, 9:36 AM · Restricted Project
fpetrogalli created D70089: [VFABI] Add LLVM internal mangling for vector functions..
Nov 11 2019, 9:26 AM · Restricted Project