Page MenuHomePhabricator
Feed Advanced Search

Fri, Apr 23

ctetreau added a comment to D99718: [LoopVectorize] Simplify scalar cost calculation in getInstructionCost.

I prefer an assert, but so long as the compiler produces correct results in the assertion failure case, I guess it's fine for now. I'll not block your patch over it.

Fri, Apr 23, 4:49 PM · Restricted Project

Mon, Apr 19

ctetreau added a comment to D99718: [LoopVectorize] Simplify scalar cost calculation in getInstructionCost.

I'm not sure I follow why the logic would be far too complicated for an assert? There are asserts that verify the whole dominator tree or the whole function, which seems much more complicated :) Also, IIUC the assert caught a case that was missing from the comment/explanation in the initial patch, so it seems like it was doing what it was supposed to be?

Mon, Apr 19, 10:06 AM · Restricted Project
ctetreau added inline comments to D99718: [LoopVectorize] Simplify scalar cost calculation in getInstructionCost.
Mon, Apr 19, 10:04 AM · Restricted Project
ctetreau added a comment to D100565: [TTI] NFC: Change getIntImmCost[Inst|Intrin] to return InstructionCost.

Assuming @c-rhodes is satisfied, this change looks good to me.

Mon, Apr 19, 9:45 AM · Restricted Project

Mar 30 2021

ctetreau accepted D98856: Always emit error for wrong interfaces to scalable vectors, unless cmdline flag is passed..
Mar 30 2021, 4:05 PM · Restricted Project, Restricted Project

Mar 25 2021

ctetreau added a comment to D99305: [docs] Document our norms around reverts.

I think it's good to write this down. A revert could be interpreted as a hostile action, so the fact that they happen all the time around here should be written down.

Mar 25 2021, 8:25 AM · Restricted Project

Mar 22 2021

ctetreau added inline comments to D98856: Always emit error for wrong interfaces to scalable vectors, unless cmdline flag is passed..
Mar 22 2021, 9:15 AM · Restricted Project, Restricted Project

Mar 19 2021

ctetreau added inline comments to D98715: [LoopVectorize] Add support for scalable vectorization of induction variables.
Mar 19 2021, 9:48 AM · Restricted Project
ctetreau accepted D98856: Always emit error for wrong interfaces to scalable vectors, unless cmdline flag is passed..

lgtm

Mar 19 2021, 9:41 AM · Restricted Project, Restricted Project

Mar 16 2021

ctetreau added inline comments to D98715: [LoopVectorize] Add support for scalable vectorization of induction variables.
Mar 16 2021, 9:23 AM · Restricted Project

Mar 15 2021

ctetreau committed rG39970764af39: [CMake] Require python 3.6 if enabling LLVM test targets (authored by ctetreau).
[CMake] Require python 3.6 if enabling LLVM test targets
Mar 15 2021, 9:51 AM
ctetreau closed D95635: [CMake] Require python 3.6 if enabling LLVM test targets.
Mar 15 2021, 9:51 AM · Restricted Project, Restricted Project, Restricted Project

Mar 11 2021

ctetreau added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

would it make sense to syndicate the minimal version in a single variable, say LLVM_MINIMAL_PYTHON_VERSION, and use it in several place instead of hard-coding the value across multiple files?

Mar 11 2021, 3:04 PM · Restricted Project, Restricted Project, Restricted Project
ctetreau updated the diff for D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

set a var for the minimum bound

Mar 11 2021, 3:03 PM · Restricted Project, Restricted Project, Restricted Project
ctetreau requested review of D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

Ping

Mar 11 2021, 7:46 AM · Restricted Project, Restricted Project, Restricted Project
ctetreau retitled D95635: [CMake] Require python 3.6 if enabling LLVM test targets from [CMake] Actually require python 3.6 or greater to [CMake] Require python 3.6 if enabling LLVM test targets.
Mar 11 2021, 7:45 AM · Restricted Project, Restricted Project, Restricted Project
ctetreau updated the diff for D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

Only require if adding test suite targets

Mar 11 2021, 7:44 AM · Restricted Project, Restricted Project, Restricted Project
ctetreau planned changes to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

I plan to revive this patch. I will try to rig it to only require 3.6 or above is testing is enabled using LLVM_INCLUDE_TESTS. Hopefully if any build bots haven't been fixed by now, they will not be setting this variable to ON (since they clearly aren't running tests)

Mar 11 2021, 6:55 AM · Restricted Project, Restricted Project, Restricted Project

Mar 8 2021

ctetreau added a comment to D97299: [IR][SVE] Add new llvm.experimental.stepvector intrinsic.

@ctetreau: We've followed the same route as for llvm.vscale() -> ISD::VSCALE so yes the code generation side is more complete/convenient. Considering we're expecting llvm.experimental.stepvector() to be redundant once there's time to push for the preferred ConstantVector solution, we feel it's better to keep the intrinsic as simple as possible.

Mar 8 2021, 12:30 PM · Restricted Project
ctetreau added inline comments to D97382: NFC: Migrate PartialInlining to work on InstructionCost.
Mar 8 2021, 9:26 AM · Restricted Project

Mar 5 2021

ctetreau accepted D97861: [LoopVectorize][NFC] Refactor code to use IRBuilder::CreateStepVector.

lgtm

Mar 5 2021, 12:26 PM · Restricted Project

Mar 4 2021

ctetreau added inline comments to D97382: NFC: Migrate PartialInlining to work on InstructionCost.
Mar 4 2021, 2:23 PM · Restricted Project
ctetreau added a comment to D97382: NFC: Migrate PartialInlining to work on InstructionCost.

Aside from the function signature for InstructionCost::map, this patch looks good to me.

Mar 4 2021, 2:23 PM · Restricted Project
ctetreau added a comment to D97299: [IR][SVE] Add new llvm.experimental.stepvector intrinsic.

If the ISD node is going to get an argument for the step, why not let the new intrinsic have this same argument?

Mar 4 2021, 8:49 AM · Restricted Project
ctetreau added inline comments to D97861: [LoopVectorize][NFC] Refactor code to use IRBuilder::CreateStepVector.
Mar 4 2021, 8:44 AM · Restricted Project
ctetreau added inline comments to D97861: [LoopVectorize][NFC] Refactor code to use IRBuilder::CreateStepVector.
Mar 4 2021, 8:20 AM · Restricted Project

Mar 3 2021

ctetreau added inline comments to D97861: [LoopVectorize][NFC] Refactor code to use IRBuilder::CreateStepVector.
Mar 3 2021, 9:56 AM · Restricted Project

Mar 2 2021

ctetreau added inline comments to D97382: NFC: Migrate PartialInlining to work on InstructionCost.
Mar 2 2021, 10:05 AM · Restricted Project
ctetreau accepted D97466: NFC: Change getUserCost to return InstructionCost.

Assuming everybody else is satisfied, LGTM

Mar 2 2021, 9:33 AM · Restricted Project

Feb 26 2021

ctetreau added a comment to D97466: NFC: Change getUserCost to return InstructionCost.

Does changing the -1's to invalid's constitute a functional change? Are they always checked for? If they are just blindly added to other costs, then they would result in valid costs becoming invalid costs.

Feb 26 2021, 12:26 PM · Restricted Project
ctetreau added inline comments to D97382: NFC: Migrate PartialInlining to work on InstructionCost.
Feb 26 2021, 12:20 PM · Restricted Project

Feb 25 2021

ctetreau added inline comments to D97382: NFC: Migrate PartialInlining to work on InstructionCost.
Feb 25 2021, 7:23 AM · Restricted Project

Feb 24 2021

ctetreau added inline comments to D97382: NFC: Migrate PartialInlining to work on InstructionCost.
Feb 24 2021, 9:56 AM · Restricted Project

Feb 19 2021

ctetreau committed rG55448ab540de: [AArch64] Adding Neon Polynomial vadd Intrinsics (authored by ctetreau).
[AArch64] Adding Neon Polynomial vadd Intrinsics
Feb 19 2021, 2:48 PM
ctetreau closed D96825: [AArch64] Adding Neon Polynomial vadd Intrinsics.
Feb 19 2021, 2:48 PM · Restricted Project
ctetreau accepted D96825: [AArch64] Adding Neon Polynomial vadd Intrinsics.

LGTM. I'll land it for you.

Feb 19 2021, 2:45 PM · Restricted Project

Feb 5 2021

ctetreau closed D95803: Ensure that InstructionCost actually implements a total ordering.

the reland has landed

Feb 5 2021, 1:56 PM · Restricted Project

Feb 4 2021

ctetreau added inline comments to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 4 2021, 11:37 AM · Restricted Project
ctetreau added a reverting change for rGff1147c36356: Revert "Ensure that InstructionCost actually implements a total ordering": rGb8b054aa8aac: Reland "Ensure that InstructionCost actually implements a total ordering".
Feb 4 2021, 10:07 AM
ctetreau committed rGb8b054aa8aac: Reland "Ensure that InstructionCost actually implements a total ordering" (authored by ctetreau).
Reland "Ensure that InstructionCost actually implements a total ordering"
Feb 4 2021, 10:07 AM
ctetreau added inline comments to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 4 2021, 10:01 AM · Restricted Project
ctetreau updated the diff for D95803: Ensure that InstructionCost actually implements a total ordering.

Fix test, add comment

Feb 4 2021, 10:01 AM · Restricted Project
ctetreau updated the diff for D95803: Ensure that InstructionCost actually implements a total ordering.

address code review issues

Feb 4 2021, 9:56 AM · Restricted Project

Feb 3 2021

ctetreau added a comment to D95803: Ensure that InstructionCost actually implements a total ordering.

I just checked that this passes the expensive checks on my machine, so I think it should be good to go now.

Feb 3 2021, 12:10 PM · Restricted Project
ctetreau accepted D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..

This version LGTM

Feb 3 2021, 8:49 AM · Restricted Project
ctetreau added inline comments to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 3 2021, 7:00 AM · Restricted Project
ctetreau updated the diff for D95803: Ensure that InstructionCost actually implements a total ordering.

Fix operator<

Feb 3 2021, 6:59 AM · Restricted Project

Feb 2 2021

ctetreau planned changes to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 2 2021, 4:56 PM · Restricted Project
ctetreau reopened D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 2 2021, 4:56 PM · Restricted Project
ctetreau added inline comments to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 2 2021, 4:56 PM · Restricted Project
ctetreau added a comment to D95803: Ensure that InstructionCost actually implements a total ordering.

A reasonable way ahead would be to just take the change to operator==, but not the change to operator<. We could explicitly codify "all invalid costs are considered to be equal", and this would basically be equivalent to Optional<int>.

Feb 2 2021, 3:08 PM · Restricted Project
ctetreau added a comment to D95803: Ensure that InstructionCost actually implements a total ordering.

Unfortunately, this breaks the build. Apparently several crashes and test failures result from this with the expensive checks. Unfortunately, things are very busy at work, so I don't have time to look into this for the time being.

Feb 2 2021, 3:07 PM · Restricted Project
ctetreau added a reverting change for rGb481cd519e07: Ensure that InstructionCost actually implements a total ordering: rGff1147c36356: Revert "Ensure that InstructionCost actually implements a total ordering".
Feb 2 2021, 12:12 PM
ctetreau committed rGff1147c36356: Revert "Ensure that InstructionCost actually implements a total ordering" (authored by ctetreau).
Revert "Ensure that InstructionCost actually implements a total ordering"
Feb 2 2021, 12:12 PM
ctetreau added a reverting change for D95803: Ensure that InstructionCost actually implements a total ordering: rGff1147c36356: Revert "Ensure that InstructionCost actually implements a total ordering".
Feb 2 2021, 12:12 PM · Restricted Project
ctetreau committed rGb481cd519e07: Ensure that InstructionCost actually implements a total ordering (authored by ctetreau).
Ensure that InstructionCost actually implements a total ordering
Feb 2 2021, 11:49 AM
ctetreau closed D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 2 2021, 11:49 AM · Restricted Project

Feb 1 2021

ctetreau added inline comments to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 1 2021, 1:16 PM · Restricted Project
ctetreau updated the diff for D95803: Ensure that InstructionCost actually implements a total ordering.

address code review issues

Feb 1 2021, 1:14 PM · Restricted Project
ctetreau added inline comments to D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 1 2021, 1:01 PM · Restricted Project
ctetreau added reviewers for D95803: Ensure that InstructionCost actually implements a total ordering: david-arm, sdesmalen, RKSimon, CarolineConcatto, efriedma.
Feb 1 2021, 10:56 AM · Restricted Project
ctetreau requested review of D95803: Ensure that InstructionCost actually implements a total ordering.
Feb 1 2021, 10:52 AM · Restricted Project
ctetreau resigned from D90344: [POC][LoopVectorizer] Allow invariant loads/stores using masked gather/scatter for a scalable VF..
Feb 1 2021, 9:54 AM · Restricted Project
ctetreau accepted D95353: NFC: Migrate SpeculateAroundPHIs to work on InstructionCost.

Aside from the nit, this looks good to me.

Feb 1 2021, 9:54 AM · Restricted Project

Jan 29 2021

ctetreau added a comment to D78203: [VP,Integer,#2] ExpandVectorPredication pass.

This all seams fairly reasonable to me, just some minor nitpicks. I'm not confident in giving this the final approval, but hopefully this can serve as a ping to those who are.

Jan 29 2021, 4:36 PM · Restricted Project, Restricted Project
ctetreau committed rG49a6502cd5c2: [SVE] delete VectorType::getNumElements() (authored by ctetreau).
[SVE] delete VectorType::getNumElements()
Jan 29 2021, 1:47 PM
ctetreau closed D95570: [SVE] delete VectorType::getNumElements().
Jan 29 2021, 1:47 PM · Restricted Project
ctetreau added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

@JDevlieghere I personally have no skin in this game. This is actually quite an obnoxious development for me since my linux machine is stuck on an old version and Python 3.5 is the newest version in the repos. I sent a message to llvm-dev so hopefully this will get hashed out there. You are right though, that the linked page does not actually say "minimum requirement". I just assumed that since code was going in unchallenged that requires it, that it must be true.

Jan 29 2021, 12:23 PM · Restricted Project, Restricted Project, Restricted Project
ctetreau added a reverting change for rG0703b0753c40: [CMake] Actually require python 3.6 or greater: rGd3e8b9fdc0de: Revert "[CMake] Actually require python 3.6 or greater".
Jan 29 2021, 12:05 PM
ctetreau committed rGd3e8b9fdc0de: Revert "[CMake] Actually require python 3.6 or greater" (authored by ctetreau).
Revert "[CMake] Actually require python 3.6 or greater"
Jan 29 2021, 12:05 PM
ctetreau added a reverting change for D95635: [CMake] Require python 3.6 if enabling LLVM test targets: rGd3e8b9fdc0de: Revert "[CMake] Actually require python 3.6 or greater".
Jan 29 2021, 12:05 PM · Restricted Project, Restricted Project, Restricted Project
ctetreau committed rG0703b0753c40: [CMake] Actually require python 3.6 or greater (authored by ctetreau).
[CMake] Actually require python 3.6 or greater
Jan 29 2021, 11:47 AM
ctetreau closed D95635: [CMake] Require python 3.6 if enabling LLVM test targets.
Jan 29 2021, 11:47 AM · Restricted Project, Restricted Project, Restricted Project
ctetreau accepted D95356: NFC: Migrate SpeculativeExecution to work on InstructionCost.

LGTM

Jan 29 2021, 9:14 AM · Restricted Project

Jan 28 2021

ctetreau added inline comments to D95353: NFC: Migrate SpeculateAroundPHIs to work on InstructionCost.
Jan 28 2021, 2:19 PM · Restricted Project
ctetreau added a comment to D95351: NFC: Migrate SimplifyCFG to work on InstructionCost.

Nice. I think the separate cost and budget make this one easier to read. Address @spatel's issues then this looks good to me.

Jan 28 2021, 1:56 PM · Restricted Project
ctetreau added a comment to D95635: [CMake] Require python 3.6 if enabling LLVM test targets.

However, the project claims to require 3.6 or greater, and 3.6 features are being used.

Can you link to where it says that? I'm not opposed to making 3.6 the minimally required version, but at least for LLDB we don't have that requirement and we have documentation mentioning Python 3.5.

Jan 28 2021, 12:55 PM · Restricted Project, Restricted Project, Restricted Project
ctetreau added reviewers for D95635: [CMake] Require python 3.6 if enabling LLVM test targets: serge-sans-paille, dblaikie, jyknight, JDevlieghere, yln, efriedma.
Jan 28 2021, 11:06 AM · Restricted Project, Restricted Project, Restricted Project
ctetreau added a comment to rG5e31e226b5b2: Remove Python2 fallback and only advertise Python3 in the doc.

The differential revision is D93097 if anybody is curious :P

Jan 28 2021, 11:04 AM
ctetreau requested review of D95635: [CMake] Require python 3.6 if enabling LLVM test targets.
Jan 28 2021, 11:02 AM · Restricted Project, Restricted Project, Restricted Project

Jan 27 2021

ctetreau added reviewers for D95570: [SVE] delete VectorType::getNumElements(): sdesmalen, david-arm, fpetrogalli, rjmccall.
Jan 27 2021, 3:39 PM · Restricted Project
ctetreau requested review of D95570: [SVE] delete VectorType::getNumElements().
Jan 27 2021, 3:36 PM · Restricted Project

Jan 26 2021

ctetreau added inline comments to D91957: [Support] Migrate more high level cost functions to using InstructionCost.
Jan 26 2021, 10:41 AM · Restricted Project
ctetreau added a comment to D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..

Aside from the change to the assert, this version looks good to me.

Jan 26 2021, 9:50 AM · Restricted Project

Jan 25 2021

ctetreau added a comment to D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..

Won't we now not stop as soon as the budget is invalidated?
Perhaps if InstructionCost::operator< can't be fixed, it needs to be ripped out.
I'm sorry, i don't have useful feedback other than "the new abstraction is bad".

Jan 25 2021, 4:35 PM · Restricted Project
ctetreau added inline comments to D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..
Jan 25 2021, 10:24 AM · Restricted Project
ctetreau added a comment to D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..

Then please fix the InstrouctionCost comparison operators to do the right thing to avoid most of the changes in this diff in the first place.

Jan 25 2021, 10:18 AM · Restricted Project
ctetreau added a comment to D95352: NFC: Migrate SimpleLoopUnswitch to work on InstructionCost.

Aside from the question of InstructionBudget this looks good to me.

Jan 25 2021, 10:07 AM · Restricted Project
ctetreau added inline comments to D95352: NFC: Migrate SimpleLoopUnswitch to work on InstructionCost.
Jan 25 2021, 10:00 AM · Restricted Project
ctetreau requested changes to D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..

I'd like you to reconsider adding InstructionBudget. I think this new class is just trying to paper over people's misunderstanding of how InstructionCost works. This wouldn't be a huge issue, except now we're going to have to add a million redundant operator definitions to it ("why can't I multiply budgets?") so it's going to become a maintenance burden.

Jan 25 2021, 9:58 AM · Restricted Project
ctetreau added inline comments to D92238: [SCEVExpander] Migrate costAndCollectOperands to use InstructionCost..
Jan 25 2021, 9:53 AM · Restricted Project
ctetreau added a comment to D95353: NFC: Migrate SpeculateAroundPHIs to work on InstructionCost.

Aside from the one nit, this looks good to me.

Jan 25 2021, 9:43 AM · Restricted Project

Jan 21 2021

ctetreau added a comment to D94451: Proposal for adding Bazel build configuration in-tree with peripheral support.

... "Bazel (with explicit acknowledgement of precedent setting)" ...

Jan 21 2021, 9:20 AM

Jan 14 2021

ctetreau added a comment to D94451: Proposal for adding Bazel build configuration in-tree with peripheral support.

Question: Would there be an expectation that unsupported build systems are in a good state for LLVM version branches? If I checkout the git tag for a final LLVM release, should I be able to expect that the build system is functional at that commit?

No. I think there should be no expectation. If the community members who care about the component can figure out a way to make this happen that doesn't make releasing harder for the release manager then they could try to arrange this, but I suspect that's not really possible. I think if that needs to be clearer, it should be clarified in the support policy. https://llvm.org/docs/SupportPolicy.html#peripheral-tier mentions things that aren't "regularly released", but I think that zero expectation of support in releases could be made clearer. Assuming that's already the status quo, I could send it as a patch to the support policy separate from this proposal. Or I could include in this proposal that we'll amend the support policy to reflect that.

Jan 14 2021, 10:36 AM

Jan 12 2021

ctetreau added inline comments to D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Jan 12 2021, 3:39 PM · Restricted Project
ctetreau accepted D94484: [NFC][InstructionCost] Use InstructionCost in Transforms/Scalar/RewriteStatepointsForGC.cpp.

lgtm

Jan 12 2021, 3:18 PM · Restricted Project

Jan 11 2021

ctetreau added a comment to D94451: Proposal for adding Bazel build configuration in-tree with peripheral support.

Question: Would there be an expectation that unsupported build systems are in a good state for LLVM version branches? If I checkout the git tag for a final LLVM release, should I be able to expect that the build system is functional at that commit?

Jan 11 2021, 2:59 PM
ctetreau added inline comments to D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Jan 11 2021, 9:44 AM · Restricted Project
ctetreau added inline comments to D94069: [NFC][InstructionCost]Migrate VectorCombine.cpp to use InstructionCost.
Jan 11 2021, 9:38 AM · Restricted Project
ctetreau added a comment to D94069: [NFC][InstructionCost]Migrate VectorCombine.cpp to use InstructionCost.

Also, thank you for making clear that invalid, atm, means as well high cost.
I'll have that in mind for the next patches.

Jan 11 2021, 9:23 AM · Restricted Project