diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-11-25 15:03:03 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-11-25 15:03:03 +0000 |
commit | 0637dfe88b02a68f27fbad16ea47b26f91a47c61 (patch) | |
tree | d70d88f63ab108a47f9744128c4e951ca861f9be /llvm/lib/Object/WasmObjectFile.cpp | |
parent | 6588592684ff0ec455570e576f8351a36e4ead3a (diff) | |
download | llvm-0637dfe88b02a68f27fbad16ea47b26f91a47c61.zip llvm-0637dfe88b02a68f27fbad16ea47b26f91a47c61.tar.gz llvm-0637dfe88b02a68f27fbad16ea47b26f91a47c61.tar.bz2 |
[DAG] Legalize abs(x) -> smax(x,sub(0,x)) iff smax/sub are legal
If smax() is legal, this is likely to result in smaller codegen expansion for abs(x) than the xor(add,ashr) method.
This is also what PowerPC has been doing for its abs implementation, so it lets us get rid of a load of custom lowering code there (and which was never updated when they added smax lowering).
Alive2: https://alive2.llvm.org/ce/z/xRk3cD
Differential Revision: https://reviews.llvm.org/D92095
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions