Index: llvm/trunk/include/llvm/Transforms/Scalar/ConstantHoisting.h =================================================================== --- llvm/trunk/include/llvm/Transforms/Scalar/ConstantHoisting.h +++ llvm/trunk/include/llvm/Transforms/Scalar/ConstantHoisting.h @@ -126,7 +126,7 @@ bool runImpl(Function &F, TargetTransformInfo &TTI, DominatorTree &DT, BlockFrequencyInfo *BFI, BasicBlock &Entry); - void releaseMemory() { + void cleanup() { ClonedCastMap.clear(); ConstIntCandVec.clear(); for (auto MapEntry : ConstGEPCandMap) Index: llvm/trunk/lib/Transforms/Scalar/ConstantHoisting.cpp =================================================================== --- llvm/trunk/lib/Transforms/Scalar/ConstantHoisting.cpp +++ llvm/trunk/lib/Transforms/Scalar/ConstantHoisting.cpp @@ -114,8 +114,6 @@ AU.addRequired(); } - void releaseMemory() override { Impl.releaseMemory(); } - private: ConstantHoistingPass Impl; }; @@ -947,6 +945,8 @@ // Cleanup dead instructions. deleteDeadCastInst(); + cleanup(); + return MadeChange; } Index: llvm/trunk/test/Transforms/ConstantHoisting/X86/phi.ll =================================================================== --- llvm/trunk/test/Transforms/ConstantHoisting/X86/phi.ll +++ llvm/trunk/test/Transforms/ConstantHoisting/X86/phi.ll @@ -1,4 +1,5 @@ ; RUN: opt -S -consthoist < %s | FileCheck %s +; RUN: opt -S -passes=consthoist < %s | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.9.0"