aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2025-01-24 15:13:13 +0000
committerGitHub <noreply@github.com>2025-01-24 15:13:13 +0000
commita12d7e4b611f0db2525da68f5576beaeeb6c84ac (patch)
tree4d733e6afdb9964e415e01414333a58442b5d9d1 /llvm/lib/CodeGen/MachineInstr.cpp
parentc546b5317c518987a5f45dd4c4d25321a955c758 (diff)
downloadllvm-a12d7e4b611f0db2525da68f5576beaeeb6c84ac.zip
llvm-a12d7e4b611f0db2525da68f5576beaeeb6c84ac.tar.gz
llvm-a12d7e4b611f0db2525da68f5576beaeeb6c84ac.tar.bz2
[SLP] getVectorCallCosts - don't provide scalar argument data for vector IntrinsicCostAttributes (#124254)
getVectorCallCosts determines the cost of a vector intrinsic, based off an existing scalar intrinsic call - but we were including the scalar argument data to the IntrinsicCostAttributes, which meant that not only was the cost calculation not type-only based, it was making incorrect assumptions about constant values etc. This also exposed an issue that x86 relied on fallback calculations for funnel shift costs - this is great when we have the argument data as that improves the accuracy of uniform shift amounts etc., but meant that type-only costs would default to Cost=2 for all custom lowered funnel shifts, which was far too cheap. This is the reverse of #124129 where we weren't including argument data when we could. Fixes #63980
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
0 files changed, 0 insertions, 0 deletions