aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorDavid Green <david.green@arm.com>2020-10-17 10:09:42 +0100
committerDavid Green <david.green@arm.com>2020-10-17 10:09:42 +0100
commitd79ee3a807115f8b96f9f8aa13d99cdea1652980 (patch)
tree7dea6be59d5df57ad055f6bf159fceb893b93dba /clang/lib/CodeGen/CodeGenFunction.cpp
parentae4fe1984f0e47259b5e476a73749185cc24e1ac (diff)
downloadllvm-d79ee3a807115f8b96f9f8aa13d99cdea1652980.zip
llvm-d79ee3a807115f8b96f9f8aa13d99cdea1652980.tar.gz
llvm-d79ee3a807115f8b96f9f8aa13d99cdea1652980.tar.bz2
[ARM] Add a very basic active_lane_mask cost
This adds a very basic cost for active_lane_mask under MVE - making the assumption that they will be free and then apologizing for that in a comment. In reality they may either be free (by being nicely folded into a tail predicated loop), cost the same as a VCTP or be expanded into vdup's, adds and cmp's. It is difficult to detect the difference from a single getIntrinsicInstrCost call, so makes the assumption that the vectorizer is adding them, and only added them where it makes sense. We may need to change this in the future to better model predicate costs in the vectorizer, especially at -Os or non-tail predicated loops. The vectorizer currently does not query the cost of these instructions but that will change in the future and a zero cost there probably makes the most sense at the moment. Differential Revision: https://reviews.llvm.org/D88989
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions