[LSR] don't attempt to promote ephemeral values to indvars
authorJingyue Wu <jingyue@google.com>
Mon, 13 Jul 2015 03:28:53 +0000 (03:28 +0000)
committerJingyue Wu <jingyue@google.com>
Mon, 13 Jul 2015 03:28:53 +0000 (03:28 +0000)
commit8e7e3650af1076daa6a755dc9b54bc8be6266be5
tree75258d19060e68e41a5a3b147a397f3c85216857
parent46b13dd8803e0004d11d66cf73f6f24b6d211971
[LSR] don't attempt to promote ephemeral values to indvars

Summary:
This at least saves compile time. I also encountered a case where
ephemeral values affect whether other variables are promoted, causing
performance issues. It may be a bug in LSR, but I didn't manage to
reduce it yet. Anyhow, I believe it's in general not worth considering
ephemeral values in LSR.

Reviewers: atrick, hfinkel

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D11115

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242011 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/IVUsers.h
lib/Analysis/IVUsers.cpp
test/Transforms/LoopStrengthReduce/ephemeral.ll [new file with mode: 0644]