[PATCH] D57215: [CodeExtractor] Clear function's assumption cache after extracting blocks from it

Sergey Dmitriev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 24 18:27:48 PST 2019


sdmitriev created this revision.
sdmitriev added a reviewer: hfinkel.
Herald added a subscriber: llvm-commits.

Assumption cache's self-updating mechanism does not correctly handle the case when blocks are extracted from the function by the CodeExtractor. As a result function's assumption cache may have stale references to the llvm.assume calls that were moved to the outlined function. This patch fixes this problem by clearing function’s assumption cache after extracting blocks from it which forces the cache to be regenerated.


Repository:
  rL LLVM

https://reviews.llvm.org/D57215

Files:
  include/llvm/Analysis/AssumptionCache.h
  include/llvm/Transforms/Utils/CodeExtractor.h
  lib/Analysis/AssumptionCache.cpp
  lib/Transforms/IPO/HotColdSplitting.cpp
  lib/Transforms/IPO/LoopExtractor.cpp
  lib/Transforms/IPO/PartialInlining.cpp
  lib/Transforms/Utils/CodeExtractor.cpp
  test/Transforms/CodeExtractor/extract-assume.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57215.183463.patch
Type: text/x-patch
Size: 18299 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190125/19714f5e/attachment.bin>


More information about the llvm-commits mailing list