aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/MachOObjectFile.cpp
diff options
context:
space:
mode:
authorCullen Rhodes <cullen.rhodes@arm.com>2022-01-28 16:28:40 +0000
committerCullen Rhodes <cullen.rhodes@arm.com>2022-01-28 17:01:08 +0000
commit5d089d9a832c24c008ba0ecc0e28e82a7ad42297 (patch)
treef3c4030b0e3d5ba62f65b58055b63d00807a1f72 /llvm/lib/Object/MachOObjectFile.cpp
parentac666d1799c45a1ecd59f7503e1fc649deffd4d4 (diff)
downloadllvm-5d089d9a832c24c008ba0ecc0e28e82a7ad42297.zip
llvm-5d089d9a832c24c008ba0ecc0e28e82a7ad42297.tar.gz
llvm-5d089d9a832c24c008ba0ecc0e28e82a7ad42297.tar.bz2
[DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors
If we have a vector FP division with a splatted divisor, use getVectorMinNumElements when scaling the num of uses by splat factor. For AArch64 the combine kicks in for the <vscale x 4 x float> case since it's above the fdiv threshold (3) when scaling num uses by splat factor, but the codegen is worse (splat + vector fdiv + vector fmul) than the <vscale x 2 x double> case (splat + vector fdiv). If the combine could be converted into a scalar FP division by scalarizeBinOpOfSplats it may be cheaper, but it looks like this is predicated on the isExtractVecEltCheap TLI function which is implemented for x86 but not AArch64. Perhaps for now combineRepeatedFPDivisors should only scale num uses by splat if the division can be converted into scalar op. Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D118343
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions