summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/TargetTransformInfo.cpp
diff options
context:
space:
mode:
authorSjoerd Meijer <sjoerd.meijer@arm.com>2016-10-03 10:12:32 +0000
committerSjoerd Meijer <sjoerd.meijer@arm.com>2016-10-03 10:12:32 +0000
commit4dbe73c1ed74352899eedf2a07c202ea76c2f65b (patch)
tree3251c394733128278858fd939bc79cc2a8f8bd0a /llvm/lib/Analysis/TargetTransformInfo.cpp
parent2c0a7f081a8a681f29e1fc4ad115e77a9ade0f64 (diff)
downloadbcm5719-llvm-4dbe73c1ed74352899eedf2a07c202ea76c2f65b.tar.gz
bcm5719-llvm-4dbe73c1ed74352899eedf2a07c202ea76c2f65b.zip
[ARM] Code size optimisation to lower udiv+urem to udiv+mls instead of a
library call to __aeabi_uidivmod. This is an improved implementation of r280808, see also D24133, that got reverted because isel was stuck in a loop. That was caused by the optimisation incorrectly triggering on i64 ints, which shouldn't happen because there is no 64bit hwdiv support; that put isel's type legalization and this optimisation in a loop. A native ARM compiler and testing now shows that this is fixed. Patch mostly by Pablo Barrio. Differential Revision: https://reviews.llvm.org/D25077 llvm-svn: 283098
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud