aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackProtector.cpp
diff options
context:
space:
mode:
authorLawrence Benson <github@lawben.com>2023-04-13 16:44:09 +0100
committerDavid Green <david.green@arm.com>2023-04-13 16:44:09 +0100
commit3653722ce6d9bb44a42ffdce4e07080aa1928ddc (patch)
tree7b0f92e6a33f372ddc338139957a7e7ddfcfb157 /llvm/lib/CodeGen/StackProtector.cpp
parentaa754f7e0fddcc6c4d6737c71baf357825b09a3e (diff)
downloadllvm-3653722ce6d9bb44a42ffdce4e07080aa1928ddc.zip
llvm-3653722ce6d9bb44a42ffdce4e07080aa1928ddc.tar.gz
llvm-3653722ce6d9bb44a42ffdce4e07080aa1928ddc.tar.bz2
[AArch64] Add more efficient vector bitcast for AArch64
Adds a DAG combine checks for vector comparisons followed by a bitcast to a scalar value. Previously, this resulted in an expand. Now, this is done with a constant number of instructions that take one bit per vector value (via an AND mask) and perfom a horizontal add to get a single value. This is especially useful for Clang's __builtin_convertvector() to a bool vector. Issue: https://github.com/llvm/llvm-project/issues/59829 Differential Revision: https://reviews.llvm.org/D145301
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions