aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2020-10-25 15:17:52 -0400
committerSanjay Patel <spatel@rotateright.com>2020-10-25 15:17:52 -0400
commitf2c25c70791de95d2466e09b5b58fc37f6ccd7a4 (patch)
tree1702e1bf1b5ce34b3704649ebe42be483a43899e /clang/lib/CodeGen/CodeGenFunction.cpp
parent74ffc823ed2128dfce40181a13e3b2076a61126f (diff)
downloadllvm-f2c25c70791de95d2466e09b5b58fc37f6ccd7a4.zip
llvm-f2c25c70791de95d2466e09b5b58fc37f6ccd7a4.tar.gz
llvm-f2c25c70791de95d2466e09b5b58fc37f6ccd7a4.tar.bz2
[CostModel] remove cost-kind predicate for some vector reduction costs
This is a modified 2nd try of 22d10b8ab44f (reverted by 1c8371692d because it managed to expose an existing crashing bug that should be fixed by 74ffc823 ). Original commit message: This is similar in spirit to 01ea93d85d6e (memcpy) except that here the underlying caller assumptions were created for vectorizer use (throughput) rather than other passes. That meant targets could have an enormous throughput cost with no corresponding size, latency, or blended cost increase. The ARM costs show a small difference between throughput and size because there's an underlying difference in cmp/sel costs that is also predicated on cost-kind. Paraphrasing from the previous commits: This may not make sense for some callers, but at least now the costs will be consistently wrong instead of mysteriously wrong. Targets should provide better overrides if the current modeling is not accurate.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions