]> granicus.if.org Git - llvm/commit
[ConstantHoisting] Remove dupliate logic in constant hoisting
authorLeo Li <aoli@google.com>
Mon, 10 Jul 2017 20:45:34 +0000 (20:45 +0000)
committerLeo Li <aoli@google.com>
Mon, 10 Jul 2017 20:45:34 +0000 (20:45 +0000)
commit581e763cd488f8ce720bf871b4bc6b47edb2805c
tree8f05098b9a34a360e7a182a52ba3442932e2d4f8
parent063d8f6b0fda6a98f0326e333d8126f755d77f1a
[ConstantHoisting] Remove dupliate logic in constant hoisting

Summary:
As metioned in https://reviews.llvm.org/D34576, checkings in
`collectConstantCandidates` can be replaced by using
`llvm::canReplaceOperandWithVariable`.

The only special case is that `collectConstantCandidates` return false for
all `IntrinsicInst` but it is safe for us to collect constant candidates from
`IntrinsicInst`.

Reviewers: pirama, efriedma, srhines

Reviewed By: efriedma

Subscribers: llvm-commits, javed.absar

Differential Revision: https://reviews.llvm.org/D34921

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307587 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/ConstantHoisting.cpp
lib/Transforms/Utils/Local.cpp
test/Transforms/ConstantHoisting/ARM/bad-cases.ll
test/Transforms/ConstantHoisting/ARM/insertvalue.ll [new file with mode: 0644]