LICM uses AliasSet information to hoist and sink instructions. However, other passes...
authorNadav Rotem <nrotem@apple.com>
Mon, 13 Aug 2012 23:06:54 +0000 (23:06 +0000)
committerNadav Rotem <nrotem@apple.com>
Mon, 13 Aug 2012 23:06:54 +0000 (23:06 +0000)
commit7b6783a03f16376e8e2d0d9791f090ef32727c8f
tree5a52d078f152b92426f9f57633c4934016d95f3d
parent8dff60e96a0b3044628511b0e43a59788de56b9d
LICM uses AliasSet information to hoist and sink instructions. However, other passes, such as LoopRotate
may invalidate its AliasSet because SSAUpdater does not update the AliasSet properly.
This patch teaches SSAUpdater to notify AliasSet that it made changes.
The testcase in PR12901 is too big to be useful and I could not reduce it to a normal size.

rdar://11872059 PR12901

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161803 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/ValueHandle.h
lib/Transforms/Utils/SSAUpdater.cpp