]> granicus.if.org Git - llvm/commit
HotColdSplitting: invalidate the AssumptionCache on split
authorSaleem Abdulrasool <compnerd@compnerd.org>
Mon, 23 Sep 2019 22:23:01 +0000 (22:23 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Mon, 23 Sep 2019 22:23:01 +0000 (22:23 +0000)
commit40e66efebe4f438f53d4b98d7e4a5aed7fdf5f36
tree5408c1081725a4814b3326764d317779731aa8a7
parentf11e5b4be694691eb569049aba41a3ca7a8837cb
HotColdSplitting: invalidate the AssumptionCache on split

When a cold path is outlined, the value tracking in the assumption cache may be
invalidated due to the code motion.  We would previously trip an assertion in
subsequent passes (but required the passes to happen in a single run as the
assumption cache is shared across the passes).  Invalidating the cache ensures
that we get the correct information when needed with the legacy pass manager as
well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372667 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/HotColdSplitting.cpp
test/Transforms/HotColdSplit/assumption-cache-invalidation.ll [new file with mode: 0644]