OSDN Git Service

Re-re-land: Teach CorrelatedValuePropagation to reduce the width of udiv/urem instruc...
authorJustin Lebar <jlebar@google.com>
Wed, 21 Mar 2018 14:08:21 +0000 (14:08 +0000)
committerJustin Lebar <jlebar@google.com>
Wed, 21 Mar 2018 14:08:21 +0000 (14:08 +0000)
commit0be6cf599c9d85b383d6911b065626e7cd291f0a
tree5d21327d10f5dce13511099e8777805661ac805b
parent2f0ad89dc487d49189ad0bed8a43101301d7eb4e
Re-re-land: Teach CorrelatedValuePropagation to reduce the width of udiv/urem instructions.

Summary:
If the operands of a udiv/urem can be proved to fit within a smaller
power-of-two-sized type, reduce the width of the udiv/urem.

Backed out for causing performance regressions.  Re-landing
because we've determined that these regressions were noise.

Original Differential Revision: https://reviews.llvm.org/D44102

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328096 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
test/Transforms/CorrelatedValuePropagation/udiv.ll [new file with mode: 0644]
test/Transforms/CorrelatedValuePropagation/urem.ll [new file with mode: 0644]