HomePhabricator

[CostModel] Unify Intrinsic Costs.

Authored by samparker on May 26 2020, 1:23 AM.

Description

[CostModel] Unify Intrinsic Costs.

Recommitting most of the remaining changes from
259eb619ff6dcd5b6111d1686e18559b9ca004d4, but excluding the call to
getUserCost from getInstructionThroughput. Though there's still no
test changes, I doubt that this is an NFC...

With the two getIntrinsicInstrCosts folded into one, now fold in the
scalar/code-size orientated getIntrinsicCost. The remaining scalar
intrinsics were memcpy, cttz and ctlz which now have special handling
in the BasicTTI implementation.

This had required a change in the AMDGPU backend for fabs as it
should always be 'free'. I've also changed the X86 backend to return
the BaseT implementation when the CostKind isn't RecipThroughput.

Differential Revision: https://reviews.llvm.org/D80012

Details

Committed
samparkerMay 26 2020, 1:48 AM
Differential Revision
D80012: [CostModel] Unify Intrinsic Costs.
Parents
rG64cfb8a864cf: [NFC][ARM] Add intrinsic code size runs
Branches
Unknown
Tags
Unknown