[all-commits] [llvm/llvm-project] 2421a5: [DAG] ExpandIntRes_ADDSUB - create UADDO/USUBO ins...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sat Jul 23 03:13:59 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2421a5af72e7da7c29fd153dcee0981deaaeba64
https://github.com/llvm/llvm-project/commit/2421a5af72e7da7c29fd153dcee0981deaaeba64
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2022-07-23 (Sat, 23 Jul 2022)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Log Message:
-----------
[DAG] ExpandIntRes_ADDSUB - create UADDO/USUBO instead of ADDCARRY/SUBCARRY if overflow is known to be zero
As noticed on D127115, when splitting ADD/SUB nodes we often end up with cases where overflow from the lower bits is impossible - in such cases we're better off breaking the carry chain dependency as soon as possible.
This path is being exercised by llvm/test/CodeGen/ARM/dsp-mlal.ll, although I haven't been able to get any codegen diff without a topological worklist.
More information about the All-commits
mailing list