Index: llvm/trunk/lib/Transforms/IPO/PartialInlining.cpp =================================================================== --- llvm/trunk/lib/Transforms/IPO/PartialInlining.cpp +++ llvm/trunk/lib/Transforms/IPO/PartialInlining.cpp @@ -181,11 +181,11 @@ // Container for outline regions struct OutlineRegionInfo { - OutlineRegionInfo(SmallVector Region, + OutlineRegionInfo(ArrayRef Region, BasicBlock *EntryBlock, BasicBlock *ExitBlock, BasicBlock *ReturnBlock) - : Region(Region), EntryBlock(EntryBlock), ExitBlock(ExitBlock), - ReturnBlock(ReturnBlock) {} + : Region(Region.begin(), Region.end()), EntryBlock(EntryBlock), + ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {} SmallVector Region; BasicBlock *EntryBlock; BasicBlock *ExitBlock; @@ -535,7 +535,6 @@ // assert(ReturnBlock && "ReturnBlock is NULL somehow!"); FunctionOutliningMultiRegionInfo::OutlineRegionInfo RegInfo( DominateVector, DominateVector.front(), ExitBlock, ReturnBlock); - RegInfo.Region = DominateVector; OutliningInfo->ORI.push_back(RegInfo); #ifndef NDEBUG if (TracePartialInlining) {