diff options
author | Sanjay Patel <spatel@rotateright.com> | 2023-01-06 08:49:19 -0500 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2023-01-06 09:06:11 -0500 |
commit | bf82070ea465969e9ae86a31dfcbf94c2a7b4c4c (patch) | |
tree | 220037f114ce4b31172d26113e526d9b28f932de /llvm/lib/CodeGen/StackProtector.cpp | |
parent | b4d44322d9e840f4209c2791ec0414695790ac33 (diff) | |
download | llvm-bf82070ea465969e9ae86a31dfcbf94c2a7b4c4c.zip llvm-bf82070ea465969e9ae86a31dfcbf94c2a7b4c4c.tar.gz llvm-bf82070ea465969e9ae86a31dfcbf94c2a7b4c4c.tar.bz2 |
[SDAG] try to avoid multiply for X*Y==0
Forking this off from D140850 -
https://alive2.llvm.org/ce/z/TgBeK_
https://alive2.llvm.org/ce/z/STVD7d
We could almost justify doing this in IR, but consideration for
"minsize" requires that we only try it in codegen -- the
transform is not reversible.
In all other cases, avoiding multiply should be a win because a
mul is more expensive than simple/parallelizable compares. AArch
even has a trick to keep instruction count even for some types.
Differential Revision: https://reviews.llvm.org/D141086
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions