[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)
commit9a92d4fb04d4b5b1780c632a15341149b227aee6
treee1221e2e5bd95fd8b04010b89e34ac5587258a0a
parent8dadce78ed3e5c961c714ca8132ac38e3db12851
[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

llvm-svn: 242011
llvm/include/llvm/Analysis/IVUsers.h
llvm/lib/Analysis/IVUsers.cpp
llvm/test/Transforms/LoopStrengthReduce/ephemeral.ll [new file with mode: 0644]