<div dir="ltr"><div>Thanks! I'm building again.<br><br></div>Let me know if I can provide more config info or test any experimental patches to fix it.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 20, 2016 at 11:00 AM, Benjamin Kramer <span dir="ltr"><<a href="mailto:benny.kra@gmail.com" target="_blank">benny.kra@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">r284745 reverts the problematic part of the change. I have no idea<br>
what is going on.<br>
<div><div class="h5"><br>
On Thu, Oct 20, 2016 at 6:34 PM, Sanjay Patel <<a href="mailto:spatel@rotateright.com">spatel@rotateright.com</a>> wrote:<br>
> I'm getting a build failure on macOS using the system clang after this<br>
> commit:<br>
><br>
> [100%] Linking CXX executable ../../bin/opt<br>
> Undefined symbols for architecture x86_64:<br>
>Â Â "llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&,<br>
> llvm::CGSCCUpdateResult&>::<wbr>PassManager(llvm::PassManager<<wbr>llvm::LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>&&)", referenced from:<br>
>Â Â Â Â llvm::PassBuilder::<wbr>parseModulePass(llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >&, llvm::PassBuilder::<wbr>PipelineElement<br>
> const&, bool, bool) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
><br>
> llvm::<wbr>ModuleToPostOrderCGSCCPassAdap<wbr>tor<llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&> ><br>
> llvm::<wbr>createModuleToPostOrderCGSCCPa<wbr>ssAdaptor<llvm::PassManager<<wbr>llvm::LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&><br>
>>(llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
><br>
> llvm::PassBuilder::<wbr>parseCGSCCPass(llvm::<wbr>PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>&,<br>
> llvm::PassBuilder::<wbr>PipelineElement const&, bool, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â void llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&,<br>
> llvm::CGSCCUpdateResult&>::<wbr>addPass<llvm::PassManager<<wbr>llvm::LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&><br>
>>(llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::RepeatedPass<llvm::<wbr>PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&> ><br>
> llvm::createRepeatedPass<llvm:<wbr>:PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&> >(int,<br>
> llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
><br>
> llvm::<wbr>ModuleToPostOrderCGSCCPassAdap<wbr>tor<llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&><br>
>>::<wbr>ModuleToPostOrderCGSCCPassAdap<wbr>tor(llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
><br>
> llvm::<wbr>ModuleToPostOrderCGSCCPassAdap<wbr>tor<llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&><br>
>>::<wbr>ModuleToPostOrderCGSCCPassAdap<wbr>tor(llvm::<wbr>ModuleToPostOrderCGSCCPassAdap<wbr>tor<llvm::PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&> >&&) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â ...<br>
>Â Â "llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::<wbr>Loop><br>
>>::PassManager(llvm::<wbr>PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> >&&)", referenced from:<br>
>Â Â Â Â llvm::PassBuilder::<wbr>parseFunctionPass(llvm::<wbr>PassManager<llvm::Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> >&, llvm::PassBuilder::<wbr>PipelineElement<br>
> const&, bool, bool) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::<wbr>FunctionToLoopPassAdaptor<<wbr>llvm::PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> > ><br>
> llvm::<wbr>createFunctionToLoopPassAdapto<wbr>r<llvm::PassManager<llvm::<wbr>Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> > >(llvm::PassManager<llvm::<wbr>Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> >) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::PassBuilder::<wbr>parseLoopPass(llvm::<wbr>PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> >&, llvm::PassBuilder::<wbr>PipelineElement<br>
> const&, bool, bool) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â void llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::<wbr>Loop><br>
>>::addPass<llvm::PassManager<<wbr>llvm::Loop, llvm::AnalysisManager<llvm::<wbr>Loop> ><br>
>>(llvm::PassManager<llvm::<wbr>Loop, llvm::AnalysisManager<llvm::<wbr>Loop> >) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::RepeatedPass<llvm::<wbr>PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> > ><br>
> llvm::createRepeatedPass<llvm:<wbr>:PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> > >(int, llvm::PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> >) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::<wbr>FunctionToLoopPassAdaptor<<wbr>llvm::PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> ><br>
>>::FunctionToLoopPassAdaptor(<wbr>llvm::PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> >) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::<wbr>FunctionToLoopPassAdaptor<<wbr>llvm::PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> ><br>
>>::FunctionToLoopPassAdaptor(<wbr>llvm::<wbr>FunctionToLoopPassAdaptor<<wbr>llvm::PassManager<llvm::Loop,<br>
> llvm::AnalysisManager<llvm::<wbr>Loop> > >&&) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â ...<br>
>Â Â "llvm::PassManager<llvm::<wbr>Module, llvm::AnalysisManager<llvm::<wbr>Module><br>
>>::PassManager(llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >&&)", referenced from:<br>
>Â Â Â Â llvm::PassBuilder::<wbr>parseModulePass(llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >&, llvm::PassBuilder::<wbr>PipelineElement<br>
> const&, bool, bool) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â void llvm::PassManager<llvm::<wbr>Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module><br>
>>::addPass<llvm::PassManager<<wbr>llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> > >(llvm::PassManager<llvm::<wbr>Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::RepeatedPass<llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> > ><br>
> llvm::createRepeatedPass<llvm:<wbr>:PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> > >(int, llvm::PassManager<llvm::<wbr>Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::detail::PassModel<llvm::<wbr>Module, llvm::PassManager<llvm::<wbr>Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >, llvm::PreservedAnalyses,<br>
> llvm::AnalysisManager<llvm::<wbr>Module><br>
>>::PassModel(llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::RepeatedPass<llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> > >::RepeatedPass(int,<br>
> llvm::PassManager<llvm::<wbr>Module, llvm::AnalysisManager<llvm::<wbr>Module> >) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::RepeatedPass<llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> ><br>
>>::RepeatedPass(llvm::<wbr>RepeatedPass<llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> > >&&) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â "llvm::PassManager<llvm::<wbr>Function, llvm::AnalysisManager<llvm::<wbr>Function><br>
>>::PassManager(llvm::<wbr>PassManager<llvm::Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> >&&)", referenced from:<br>
><br>
> llvm::PassBuilder::<wbr>addPerModuleDefaultPipeline(<wbr>llvm::PassManager<llvm::<wbr>Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >&,<br>
> llvm::PassBuilder::<wbr>OptimizationLevel, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::<wbr>ModuleToFunctionPassAdaptor<<wbr>llvm::PassManager<llvm::<wbr>Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> > ><br>
> llvm::<wbr>createModuleToFunctionPassAdap<wbr>tor<llvm::PassManager<llvm::<wbr>Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> > >(llvm::PassManager<llvm::<wbr>Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> >) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
><br>
> llvm::PassBuilder::<wbr>addLTODefaultPipeline(llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >&,<br>
> llvm::PassBuilder::<wbr>OptimizationLevel, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::PassBuilder::<wbr>parseModulePass(llvm::<wbr>PassManager<llvm::Module,<br>
> llvm::AnalysisManager<llvm::<wbr>Module> >&, llvm::PassBuilder::<wbr>PipelineElement<br>
> const&, bool, bool) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
><br>
> llvm::PassBuilder::<wbr>parseCGSCCPass(llvm::<wbr>PassManager<llvm::<wbr>LazyCallGraph::SCC,<br>
> llvm::AnalysisManager<llvm::<wbr>LazyCallGraph::SCC, llvm::LazyCallGraph&>,<br>
> llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>&,<br>
> llvm::PassBuilder::<wbr>PipelineElement const&, bool, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::<wbr>CGSCCToFunctionPassAdaptor<<wbr>llvm::PassManager<llvm::<wbr>Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> > ><br>
> llvm::<wbr>createCGSCCToFunctionPassAdapt<wbr>or<llvm::PassManager<llvm::<wbr>Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> > >(llvm::PassManager<llvm::<wbr>Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> >, bool) in<br>
> libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â llvm::PassBuilder::<wbr>parseFunctionPass(llvm::<wbr>PassManager<llvm::Function,<br>
> llvm::AnalysisManager<llvm::<wbr>Function> >&, llvm::PassBuilder::<wbr>PipelineElement<br>
> const&, bool, bool) in libLLVMPasses.a(PassBuilder.<wbr>cpp.o)<br>
>Â Â Â Â ...<br>
> ld: symbol(s) not found for architecture x86_64<br>
> clang: error: linker command failed with exit code 1 (use -v to see<br>
> invocation)<br>
><br>
><br>
> On Thu, Oct 20, 2016 at 6:20 AM, Benjamin Kramer via llvm-commits<br>
> <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
>><br>
>> Author: d0k<br>
>> Date: Thu Oct 20 07:20:28 2016<br>
>> New Revision: 284721<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=284721&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=284721&view=rev</a><br>
>> Log:<br>
>> Do a sweep over move ctors and remove those that are identical to the<br>
>> default.<br>
>><br>
>> All of these existed because MSVC 2013 was unable to synthesize default<br>
>> move ctors. We recently dropped support for it so all that error-prone<br>
>> boilerplate can go.<br>
>><br>
>> No functionality change intended.<br>
>><br>
>> Modified:<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/AliasAnalysis.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/AssumptionCache.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/DependenceAnalysis.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/LoopAccessAnalysis.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/LoopPassManager.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/PostDominators.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/ProfileSummaryInfo.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/ScalarEvolution.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/ScopedNoAliasAA.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/TargetLibraryInfo.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TargetTransformInfoImpl.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TypeBasedAliasAnalysis.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Bitcode/BitstreamReader.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>CodeGen/BasicTTIImpl.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/<wbr>CompileOnDemandLayer.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/RPCUtils.h<br>
>>Â Â Â llvm/trunk/include/llvm/IR/<wbr>DebugLoc.h<br>
>>Â Â Â llvm/trunk/include/llvm/IR/<wbr>Dominators.h<br>
>>Â Â Â llvm/trunk/include/llvm/IR/<wbr>ModuleSummaryIndex.h<br>
>>Â Â Â llvm/trunk/include/llvm/IR/<wbr>PassManager.h<br>
>>Â Â Â llvm/trunk/include/llvm/IR/<wbr>UseListOrder.h<br>
>>Â Â Â llvm/trunk/include/llvm/LTO/<wbr>Config.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Object/ArchiveWriter.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>ProfileData/Coverage/<wbr>CoverageMapping.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Support/SourceMgr.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombine.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombineWorklist.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Transforms/Scalar/<wbr>JumpThreading.h<br>
>><br>
>> llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>ImportedFunctionsInliningStati<wbr>stics.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Transforms/Utils/MemorySSA.h<br>
>>Â Â Â llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>SymbolRewriter.h<br>
>>Â Â Â llvm/trunk/lib/Analysis/<wbr>StratifiedSets.h<br>
>>Â Â Â llvm/trunk/lib/<wbr>ExecutionEngine/<wbr>GDBRegistrationListener.cpp<br>
>>Â Â Â llvm/trunk/lib/<wbr>ExecutionEngine/Interpreter/<wbr>Interpreter.h<br>
>>Â Â Â llvm/trunk/lib/Support/<wbr>SpecialCaseList.cpp<br>
>>Â Â Â llvm/trunk/lib/Target/AArch64/<wbr>AArch64TargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/ARM/<wbr>ARMTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/Hexagon/<wbr>HexagonTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/Lanai/<wbr>LanaiTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/PowerPC/<wbr>PPCTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/SystemZ/<wbr>SystemZTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/<wbr>WebAssembly/<wbr>WebAssemblyTargetTransformInfo<wbr>.h<br>
>>Â Â Â llvm/trunk/lib/Target/X86/<wbr>X86TargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Target/XCore/<wbr>XCoreTargetTransformInfo.h<br>
>>Â Â Â llvm/trunk/lib/Transforms/<wbr>Utils/ValueMapper.cpp<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/AliasAnalysis.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/AliasAnalysis.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/AliasAnalysis.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/AliasAnalysis.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/AliasAnalysis.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -854,20 +854,6 @@ class AAManager : public AnalysisInfoMix<br>
>>Â public:<br>
>>Â Â typedef AAResults Result;<br>
>><br>
>> -Â // This type has value semantics. We have to spell these out because<br>
>> MSVC<br>
>> -Â // won't synthesize them.<br>
>> -Â AAManager() {}<br>
>> -Â AAManager(AAManager &&Arg) :<br>
>> ResultGetters(std::move(Arg.<wbr>ResultGetters)) {}<br>
>> -Â AAManager(const AAManager &Arg) : ResultGetters(Arg.<wbr>ResultGetters) {}<br>
>> -Â AAManager &operator=(AAManager &&RHS) {<br>
>> -Â Â ResultGetters = std::move(RHS.ResultGetters);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -Â AAManager &operator=(const AAManager &RHS) {<br>
>> -Â Â ResultGetters = RHS.ResultGetters;<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â /// Register a specific AA result.<br>
>>Â Â template <typename AnalysisT> void registerFunctionAnalysis() {<br>
>>Â Â Â ResultGetters.push_back(&<wbr>getFunctionAAResultImpl<<wbr>AnalysisT>);<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/AssumptionCache.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/AssumptionCache.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/AssumptionCache.<wbr>h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/AssumptionCache.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/AssumptionCache.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -100,12 +100,6 @@ class AssumptionAnalysis : public Analys<br>
>>Â public:<br>
>>Â Â typedef AssumptionCache Result;<br>
>><br>
>> -Â AssumptionAnalysis() {}<br>
>> -Â AssumptionAnalysis(const AssumptionAnalysis &Arg) {}<br>
>> -Â AssumptionAnalysis(<wbr>AssumptionAnalysis &&Arg) {}<br>
>> -Â AssumptionAnalysis &operator=(const AssumptionAnalysis &RHS) { return<br>
>> *this; }<br>
>> -Â AssumptionAnalysis &operator=(AssumptionAnalysis &&RHS) { return *this;<br>
>> }<br>
>> -<br>
>>Â Â AssumptionCache run(Function &F, FunctionAnalysisManager &) {<br>
>>Â Â Â return AssumptionCache(F);<br>
>>Â Â }<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/DependenceAnalysis.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/DependenceAnalysis.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/<wbr>DependenceAnalysis.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/DependenceAnalysis.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/DependenceAnalysis.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -70,13 +70,8 @@ template <typename T> class ArrayRef;<br>
>>Â Â /// itelf.<br>
>>Â Â class Dependence {<br>
>>Â Â protected:<br>
>> -Â Â Dependence(const Dependence &) = default;<br>
>> -<br>
>> -Â Â // FIXME: When we move to MSVC 2015 as the base compiler for Visual<br>
>> Studio<br>
>> -Â Â // support, uncomment this line to allow a defaulted move constructor<br>
>> for<br>
>> -Â Â // Dependence. Currently, FullDependence relies on the copy<br>
>> constructor, but<br>
>> -Â Â // that is acceptable given the triviality of the class.<br>
>> -Â Â // Dependence(Dependence &&) = default;<br>
>> +Â Â Dependence(Dependence &&) = default;<br>
>> +Â Â Dependence &operator=(Dependence &&) = default;<br>
>><br>
>>Â Â public:<br>
>>Â Â Â Dependence(Instruction *Source,<br>
>> @@ -222,11 +217,6 @@ template <typename T> class ArrayRef;<br>
>>Â Â Â FullDependence(Instruction *Src, Instruction *Dst, bool<br>
>> LoopIndependent,<br>
>>Â Â Â Â Â Â Â Â Â Â Â unsigned Levels);<br>
>><br>
>> -Â Â FullDependence(FullDependence &&RHS)<br>
>> -Â Â Â Â : Dependence(std::move(RHS)), Levels(RHS.Levels),<br>
>> -Â Â Â Â Â LoopIndependent(RHS.<wbr>LoopIndependent),<br>
>> Consistent(RHS.Consistent),<br>
>> -Â Â Â Â Â DV(std::move(RHS.DV)) {}<br>
>> -<br>
>>Â Â Â /// isLoopIndependent - Returns true if this is a loop-independent<br>
>>Â Â Â /// dependence.<br>
>>Â Â Â bool isLoopIndependent() const override { return LoopIndependent; }<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/LoopAccessAnalysis.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopAccessAnalysis.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/<wbr>LoopAccessAnalysis.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/LoopAccessAnalysis.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/LoopAccessAnalysis.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -518,38 +518,6 @@ public:<br>
>>Â Â LoopAccessInfo(Loop *L, ScalarEvolution *SE, const TargetLibraryInfo<br>
>> *TLI,<br>
>>Â Â Â Â Â Â Â Â Â Â AliasAnalysis *AA, DominatorTree *DT, LoopInfo *LI);<br>
>><br>
>> -Â // FIXME:<br>
>> -Â // Hack for MSVC 2013 which sems like it can't synthesize this even<br>
>> -Â // with default keyword:<br>
>> -Â // LoopAccessInfo(LoopAccessInfo &&LAI) = default;<br>
>> -Â LoopAccessInfo(LoopAccessInfo &&LAI)<br>
>> -Â Â Â : PSE(std::move(LAI.PSE)),<br>
>> PtrRtChecking(std::move(LAI.<wbr>PtrRtChecking)),<br>
>> -Â Â Â Â DepChecker(std::move(LAI.<wbr>DepChecker)), TheLoop(LAI.TheLoop),<br>
>> -Â Â Â Â NumLoads(LAI.NumLoads), NumStores(LAI.NumStores),<br>
>> -Â Â Â Â MaxSafeDepDistBytes(LAI.<wbr>MaxSafeDepDistBytes),<br>
>> CanVecMem(LAI.CanVecMem),<br>
>> -Â Â Â Â StoreToLoopInvariantAddress(<wbr>LAI.<wbr>StoreToLoopInvariantAddress),<br>
>> -Â Â Â Â Report(std::move(LAI.Report)),<br>
>> -Â Â Â Â SymbolicStrides(std::move(LAI.<wbr>SymbolicStrides)),<br>
>> -Â Â Â Â StrideSet(std::move(LAI.<wbr>StrideSet)) {}<br>
>> -Â // LoopAccessInfo &operator=(LoopAccessInfo &&LAI) = default;<br>
>> -Â LoopAccessInfo &operator=(LoopAccessInfo &&LAI) {<br>
>> -Â Â assert(this != &LAI);<br>
>> -<br>
>> -Â Â PSE = std::move(LAI.PSE);<br>
>> -Â Â PtrRtChecking = std::move(LAI.PtrRtChecking);<br>
>> -Â Â DepChecker = std::move(LAI.DepChecker);<br>
>> -Â Â TheLoop = LAI.TheLoop;<br>
>> -Â Â NumLoads = LAI.NumLoads;<br>
>> -Â Â NumStores = LAI.NumStores;<br>
>> -Â Â MaxSafeDepDistBytes = LAI.MaxSafeDepDistBytes;<br>
>> -Â Â CanVecMem = LAI.CanVecMem;<br>
>> -Â Â StoreToLoopInvariantAddress = LAI.<wbr>StoreToLoopInvariantAddress;<br>
>> -Â Â Report = std::move(LAI.Report);<br>
>> -Â Â SymbolicStrides = std::move(LAI.SymbolicStrides)<wbr>;<br>
>> -Â Â StrideSet = std::move(LAI.StrideSet);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â /// Return true we can analyze the memory accesses in the loop and<br>
>> there are<br>
>>Â Â /// no memory dependence cycles.<br>
>>Â Â bool canVectorizeMemory() const { return CanVecMem; }<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/LoopPassManager.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/LoopPassManager.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/LoopPassManager.<wbr>h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/LoopPassManager.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/LoopPassManager.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -64,21 +64,6 @@ class FunctionToLoopPassAdaptor<br>
>>Â public:<br>
>>Â Â explicit FunctionToLoopPassAdaptor(<wbr>LoopPassT Pass)<br>
>>Â Â Â Â : Pass(std::move(Pass)) {}<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â FunctionToLoopPassAdaptor(<wbr>const FunctionToLoopPassAdaptor &Arg)<br>
>> -Â Â Â : Pass(Arg.Pass) {}<br>
>> -Â FunctionToLoopPassAdaptor(<wbr>FunctionToLoopPassAdaptor &&Arg)<br>
>> -Â Â Â : Pass(std::move(Arg.Pass)) {}<br>
>> -Â friend void swap(FunctionToLoopPassAdaptor &LHS,<br>
>> -Â Â Â Â Â Â Â Â Â Â FunctionToLoopPassAdaptor &RHS) {<br>
>> -Â Â using std::swap;<br>
>> -Â Â swap(LHS.Pass, RHS.Pass);<br>
>> -Â }<br>
>> -Â FunctionToLoopPassAdaptor &operator=(<wbr>FunctionToLoopPassAdaptor RHS) {<br>
>> -Â Â swap(*this, RHS);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>><br>
>>Â Â /// \brief Runs the loop passes across every loop in the function.<br>
>>Â Â PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM) {<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/PostDominators.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/PostDominators.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/PostDominators.<wbr>h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/PostDominators.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/PostDominators.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -26,14 +26,6 @@ struct PostDominatorTree : public Domina<br>
>>Â Â typedef DominatorTreeBase<BasicBlock> Base;<br>
>><br>
>>Â Â PostDominatorTree() : DominatorTreeBase<BasicBlock>(<wbr>true) {}<br>
>> -<br>
>> -Â PostDominatorTree(<wbr>PostDominatorTree &&Arg)<br>
>> -Â Â : Base(std::move(static_cast<<wbr>Base &>(Arg))) {}<br>
>> -<br>
>> -Â PostDominatorTree &operator=(PostDominatorTree &&RHS) {<br>
>> -Â Â Base::operator=(std::move(<wbr>static_cast<Base &>(RHS)));<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>>Â };<br>
>><br>
>>Â /// \brief Analysis pass which computes a \c PostDominatorTree.<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/ProfileSummaryInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/ProfileSummaryInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/<wbr>ProfileSummaryInfo.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/ProfileSummaryInfo.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/ProfileSummaryInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -86,16 +86,6 @@ class ProfileSummaryAnalysis<br>
>>Â public:<br>
>>Â Â typedef ProfileSummaryInfo Result;<br>
>><br>
>> -Â ProfileSummaryAnalysis() {}<br>
>> -Â ProfileSummaryAnalysis(const ProfileSummaryAnalysis &Arg) {}<br>
>> -Â ProfileSummaryAnalysis(<wbr>ProfileSummaryAnalysis &&Arg) {}<br>
>> -Â ProfileSummaryAnalysis &operator=(const ProfileSummaryAnalysis &RHS) {<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -Â ProfileSummaryAnalysis &operator=(<wbr>ProfileSummaryAnalysis &&RHS) {<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â Result run(Module &M, ModuleAnalysisManager &);<br>
>><br>
>>Â private:<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/ScalarEvolution.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/ScalarEvolution.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/ScalarEvolution.<wbr>h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/ScalarEvolution.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/ScalarEvolution.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -609,22 +609,6 @@ private:<br>
>>Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â std::unique_ptr<<wbr>SCEVUnionPredicate><br>
>> Predicate)<br>
>>Â Â Â Â Â : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken),<br>
>>Â Â Â Â Â Â Predicate(std::move(Predicate)<wbr>) {}<br>
>> -<br>
>> -Â Â // Clang builds fine without this, but MSVC does not.<br>
>> -Â Â ExitNotTakenInfo(const ExitNotTakenInfo &) = delete;<br>
>> -<br>
>> -Â Â ExitNotTakenInfo(<wbr>ExitNotTakenInfo &&Other) {<br>
>> -Â Â Â ExitingBlock = std::move(Other.ExitingBlock);<br>
>> -Â Â Â ExactNotTaken = std::move(Other.ExactNotTaken)<wbr>;<br>
>> -Â Â Â Predicate = std::move(Other.Predicate);<br>
>> -Â Â }<br>
>> -<br>
>> -Â Â ExitNotTakenInfo &operator=(ExitNotTakenInfo &&Other) {<br>
>> -Â Â Â ExitingBlock = std::move(Other.ExitingBlock);<br>
>> -Â Â Â ExactNotTaken = std::move(Other.ExactNotTaken)<wbr>;<br>
>> -Â Â Â Predicate = std::move(Other.Predicate);<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>>Â Â };<br>
>><br>
>>Â Â /// Information about the backedge-taken count of a loop. This<br>
>> currently<br>
>> @@ -653,18 +637,8 @@ private:<br>
>>Â Â public:<br>
>>Â Â Â BackedgeTakenInfo() : MaxAndComplete(nullptr, 0) {}<br>
>><br>
>> -Â Â BackedgeTakenInfo(const BackedgeTakenInfo &) = delete;<br>
>> -<br>
>> -Â Â BackedgeTakenInfo(<wbr>BackedgeTakenInfo &&Other) {<br>
>> -Â Â Â ExitNotTaken = std::move(Other.ExitNotTaken);<br>
>> -Â Â Â MaxAndComplete = std::move(Other.<wbr>MaxAndComplete);<br>
>> -Â Â }<br>
>> -<br>
>> -Â Â BackedgeTakenInfo &operator=(BackedgeTakenInfo &&Other) {<br>
>> -Â Â Â ExitNotTaken = std::move(Other.ExitNotTaken);<br>
>> -Â Â Â MaxAndComplete = std::move(Other.<wbr>MaxAndComplete);<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>> +Â Â BackedgeTakenInfo(<wbr>BackedgeTakenInfo &&) = default;<br>
>> +Â Â BackedgeTakenInfo &operator=(BackedgeTakenInfo &&) = default;<br>
>><br>
>>Â Â Â typedef std::pair<BasicBlock *, ExitLimit> EdgeExitInfo;<br>
>><br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/ScopedNoAliasAA.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/ScopedNoAliasAA.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/ScopedNoAliasAA.<wbr>h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/ScopedNoAliasAA.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/ScopedNoAliasAA.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -27,10 +27,6 @@ class ScopedNoAliasAAResult : public AAR<br>
>>Â Â friend AAResultBase<<wbr>ScopedNoAliasAAResult>;<br>
>><br>
>>Â public:<br>
>> -Â explicit ScopedNoAliasAAResult() : AAResultBase() {}<br>
>> -Â ScopedNoAliasAAResult(<wbr>ScopedNoAliasAAResult &&Arg)<br>
>> -Â Â Â : AAResultBase(std::move(Arg)) {}<br>
>> -<br>
>>Â Â /// Handle invalidation events from the new pass manager.<br>
>>Â Â ///<br>
>>Â Â /// By definition, this result is stateless and so remains valid.<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/TargetLibraryInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/TargetLibraryInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/<wbr>TargetLibraryInfo.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/TargetLibraryInfo.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/TargetLibraryInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -297,15 +297,6 @@ public:<br>
>>Â Â TargetLibraryAnalysis(<wbr>TargetLibraryInfoImpl PresetInfoImpl)<br>
>>Â Â Â Â : PresetInfoImpl(std::move(<wbr>PresetInfoImpl)) {}<br>
>><br>
>> -Â // Move semantics. We spell out the constructors for MSVC.<br>
>> -Â TargetLibraryAnalysis(<wbr>TargetLibraryAnalysis &&Arg)<br>
>> -Â Â Â : PresetInfoImpl(std::move(Arg.<wbr>PresetInfoImpl)),<br>
>> Impls(std::move(Arg.Impls)) {}<br>
>> -Â TargetLibraryAnalysis &operator=(<wbr>TargetLibraryAnalysis &&RHS) {<br>
>> -Â Â PresetInfoImpl = std::move(RHS.PresetInfoImpl);<br>
>> -Â Â Impls = std::move(RHS.Impls);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â TargetLibraryInfo run(Module &M, ModuleAnalysisManager &);<br>
>>Â Â TargetLibraryInfo run(Function &F, FunctionAnalysisManager &);<br>
>><br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TargetTransformInfoImpl.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/<wbr>TargetTransformInfoImpl.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TargetTransformInfoImpl.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TargetTransformInfoImpl.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -435,12 +435,6 @@ protected:<br>
>>Â Â explicit TargetTransformInfoImplCRTPBas<wbr>e(const DataLayout &DL) :<br>
>> BaseT(DL) {}<br>
>><br>
>>Â public:<br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â TargetTransformInfoImplCRTPBas<wbr>e(const TargetTransformInfoImplCRTPBas<wbr>e<br>
>> &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)) {}<br>
>> -Â TargetTransformInfoImplCRTPBas<wbr>e(<wbr>TargetTransformInfoImplCRTPBas<wbr>e &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))) {}<br>
>> -<br>
>>Â Â using BaseT::getCallCost;<br>
>><br>
>>Â Â unsigned getCallCost(const Function *F, int NumArgs) {<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TypeBasedAliasAnalysis.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/TypeBasedAliasAnalysis.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Analysis/<wbr>TypeBasedAliasAnalysis.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TypeBasedAliasAnalysis.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Analysis/<wbr>TypeBasedAliasAnalysis.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -27,9 +27,6 @@ class TypeBasedAAResult : public AAResul<br>
>>Â Â friend AAResultBase<<wbr>TypeBasedAAResult>;<br>
>><br>
>>Â public:<br>
>> -Â explicit TypeBasedAAResult() {}<br>
>> -Â TypeBasedAAResult(<wbr>TypeBasedAAResult &&Arg) :<br>
>> AAResultBase(std::move(Arg)) {}<br>
>> -<br>
>>Â Â /// Handle invalidation events from the new pass manager.<br>
>>Â Â ///<br>
>>Â Â /// By definition, this result is stateless and so remains valid.<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Bitcode/BitstreamReader.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Bitcode/BitstreamReader.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Bitcode/BitstreamReader.<wbr>h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Bitcode/BitstreamReader.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Bitcode/BitstreamReader.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -58,9 +58,6 @@ private:<br>
>>Â Â /// information in the BlockInfo block. Only llvm-bcanalyzer uses this.<br>
>>Â Â bool IgnoreBlockInfoNames;<br>
>><br>
>> -Â BitstreamReader(const BitstreamReader&) = delete;<br>
>> -Â void operator=(const BitstreamReader&) = delete;<br>
>> -<br>
>>Â public:<br>
>>Â Â BitstreamReader() : IgnoreBlockInfoNames(true) {<br>
>>Â Â }<br>
>> @@ -73,18 +70,6 @@ public:<br>
>>Â Â BitstreamReader(std::unique_<wbr>ptr<MemoryObject> BitcodeBytes)<br>
>>Â Â Â Â : BitcodeBytes(std::move(<wbr>BitcodeBytes)), IgnoreBlockInfoNames(true)<br>
>> {}<br>
>><br>
>> -Â BitstreamReader(<wbr>BitstreamReader &&Other) {<br>
>> -Â Â *this = std::move(Other);<br>
>> -Â }<br>
>> -<br>
>> -Â BitstreamReader &operator=(BitstreamReader &&Other) {<br>
>> -Â Â BitcodeBytes = std::move(Other.BitcodeBytes);<br>
>> -Â Â // Explicitly swap block info, so that nothing gets destroyed twice.<br>
>> -Â Â std::swap(BlockInfoRecords, Other.BlockInfoRecords);<br>
>> -Â Â IgnoreBlockInfoNames = Other.IgnoreBlockInfoNames;<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â void init(const unsigned char *Start, const unsigned char *End) {<br>
>>Â Â Â assert(((End-Start) & 3) == 0 &&"Bitcode stream not a multiple of 4<br>
>> bytes");<br>
>>Â Â Â BitcodeBytes.reset(<wbr>getNonStreamedMemoryObject(<wbr>Start, End));<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>CodeGen/BasicTTIImpl.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/BasicTTIImpl.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/CodeGen/BasicTTIImpl.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>CodeGen/BasicTTIImpl.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>CodeGen/BasicTTIImpl.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -97,12 +97,6 @@ protected:<br>
>>Â Â using TargetTransformInfoImplBase::<wbr>DL;<br>
>><br>
>>Â public:<br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â BasicTTIImplBase(const BasicTTIImplBase &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)) {}<br>
>> -Â BasicTTIImplBase(<wbr>BasicTTIImplBase &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>>Â Â bool allowsMisalignedMemoryAccesses<wbr>(LLVMContext &Context,<br>
>> @@ -961,13 +955,6 @@ class BasicTTIImpl : public BasicTTIImpl<br>
>><br>
>>Â public:<br>
>>Â Â explicit BasicTTIImpl(const TargetMachine *ST, const Function &F);<br>
>> -<br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â BasicTTIImpl(const BasicTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â BasicTTIImpl(BasicTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>>Â };<br>
>><br>
>>Â }<br>
>><br>
>> Modified:<br>
>> llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/<wbr>CompileOnDemandLayer.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/ExecutionEngine/Orc/<wbr>CompileOnDemandLayer.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/<wbr>CompileOnDemandLayer.h<br>
>> (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/<wbr>CompileOnDemandLayer.h Thu<br>
>> Oct 20 07:20:28 2016<br>
>> @@ -89,15 +89,9 @@ private:<br>
>><br>
>>Â Â class StaticGlobalRenamer {<br>
>>Â Â public:<br>
>> -Â Â StaticGlobalRenamer() {}<br>
>> -<br>
>> -Â Â StaticGlobalRenamer(<wbr>StaticGlobalRenamer &&Other)<br>
>> -Â Â Â : NextId(Other.NextId) {}<br>
>> -<br>
>> -Â Â StaticGlobalRenamer& operator=(StaticGlobalRenamer &&Other) {<br>
>> -Â Â Â NextId = Other.NextId;<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>> +Â Â StaticGlobalRenamer() = default;<br>
>> +Â Â StaticGlobalRenamer(<wbr>StaticGlobalRenamer &&) = default;<br>
>> +Â Â StaticGlobalRenamer &operator=(StaticGlobalRenamer &&) = default;<br>
>><br>
>>Â Â Â void rename(Module &M) {<br>
>>Â Â Â Â for (auto &F : M)<br>
>> @@ -124,45 +118,11 @@ private:<br>
>>Â Â Â struct SourceModuleEntry {<br>
>>Â Â Â Â std::unique_ptr<ResourceOwner<<wbr>Module>> SourceMod;<br>
>>Â Â Â Â std::set<Function*> StubsToClone;<br>
>> -<br>
>> -Â Â Â SourceModuleEntry() = default;<br>
>> -Â Â Â SourceModuleEntry(<wbr>SourceModuleEntry &&Other)<br>
>> -Â Â Â Â Â : SourceMod(std::move(Other.<wbr>SourceMod)),<br>
>> -Â Â Â Â Â Â StubsToClone(std::move(Other.<wbr>StubsToClone)) {}<br>
>> -Â Â Â SourceModuleEntry& operator=(SourceModuleEntry &&Other) {<br>
>> -Â Â Â Â SourceMod = std::move(Other.SourceMod);<br>
>> -Â Â Â Â StubsToClone = std::move(Other.StubsToClone);<br>
>> -Â Â Â Â return *this;<br>
>> -Â Â Â }<br>
>>Â Â Â };<br>
>><br>
>>Â Â Â typedef std::vector<SourceModuleEntry> SourceModulesList;<br>
>>Â Â Â typedef typename SourceModulesList::size_type SourceModuleHandle;<br>
>><br>
>> -Â Â LogicalDylib() = default;<br>
>> -<br>
>> -Â Â // Explicit move constructor to make MSVC happy.<br>
>> -Â Â LogicalDylib(LogicalDylib &&Other)<br>
>> -Â Â Â : ExternalSymbolResolver(std::<wbr>move(Other.<wbr>ExternalSymbolResolver)),<br>
>> -Â Â Â Â MemMgr(std::move(Other.MemMgr)<wbr>),<br>
>> -Â Â Â Â StubsMgr(std::move(Other.<wbr>StubsMgr)),<br>
>> -Â Â Â Â StaticRenamer(std::move(Other.<wbr>StaticRenamer)),<br>
>> -Â Â Â Â ModuleAdder(std::move(Other.<wbr>ModuleAdder)),<br>
>> -Â Â Â Â SourceModules(std::move(Other.<wbr>SourceModules)),<br>
>> -Â Â Â Â BaseLayerHandles(std::move(<wbr>Other.BaseLayerHandles)) {}<br>
>> -<br>
>> -Â Â // Explicit move assignment operator to make MSVC happy.<br>
>> -Â Â LogicalDylib& operator=(LogicalDylib &&Other) {<br>
>> -Â Â Â ExternalSymbolResolver = std::move(Other.<wbr>ExternalSymbolResolver);<br>
>> -Â Â Â MemMgr = std::move(Other.MemMgr);<br>
>> -Â Â Â StubsMgr = std::move(Other.StubsMgr);<br>
>> -Â Â Â StaticRenamer = std::move(Other.StaticRenamer)<wbr>;<br>
>> -Â Â Â ModuleAdder = std::move(Other.ModuleAdder);<br>
>> -Â Â Â SourceModules = std::move(Other.SourceModules)<wbr>;<br>
>> -Â Â Â BaseLayerHandles = std::move(Other.<wbr>BaseLayerHandles);<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>> -<br>
>>Â Â Â SourceModuleHandle<br>
>>Â Â Â addSourceModule(std::unique_<wbr>ptr<ResourceOwner<Module>> M) {<br>
>>Â Â Â Â SourceModuleHandle H = SourceModules.size();<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/RPCUtils.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/ExecutionEngine/Orc/<wbr>RPCUtils.h?rev=284721&r1=<wbr>284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/RPCUtils.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>ExecutionEngine/Orc/RPCUtils.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -409,24 +409,8 @@ public:<br>
>>Â Â RPC() = default;<br>
>><br>
>>Â Â /// RPC instances cannot be copied.<br>
>> -Â RPC(const RPC &) = delete;<br>
>> -<br>
>> -Â /// RPC instances cannot be copied.<br>
>> -Â RPC &operator=(const RPC &) = delete;<br>
>> -<br>
>> -Â /// RPC move constructor.<br>
>> -Â // FIXME: Remove once MSVC can synthesize move ops.<br>
>> -Â RPC(RPC &&Other)<br>
>> -Â Â Â : SequenceNumberMgr(std::move(<wbr>Other.SequenceNumberMgr)),<br>
>> -Â Â Â Â OutstandingResults(std::move(<wbr>Other.OutstandingResults)) {}<br>
>> -<br>
>> -Â /// RPC move assignment.<br>
>> -Â // FIXME: Remove once MSVC can synthesize move ops.<br>
>> -Â RPC &operator=(RPC &&Other) {<br>
>> -Â Â SequenceNumberMgr = std::move(Other.<wbr>SequenceNumberMgr);<br>
>> -Â Â OutstandingResults = std::move(Other.<wbr>OutstandingResults);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> +Â RPC(RPC &&) = default;<br>
>> +Â RPC &operator=(RPC &&) = default;<br>
>><br>
>>Â Â /// Utility class for defining/referring to RPC procedures.<br>
>>Â Â ///<br>
>><br>
>> Modified: llvm/trunk/include/llvm/IR/<wbr>DebugLoc.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/DebugLoc.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/IR/DebugLoc.h?rev=284721&<wbr>r1=284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/IR/<wbr>DebugLoc.h (original)<br>
>> +++ llvm/trunk/include/llvm/IR/<wbr>DebugLoc.h Thu Oct 20 07:20:28 2016<br>
>> @@ -35,17 +35,7 @@ namespace llvm {<br>
>>Â Â Â TrackingMDNodeRef Loc;<br>
>><br>
>>Â Â public:<br>
>> -Â Â DebugLoc() {}<br>
>> -Â Â DebugLoc(DebugLoc &&X) : Loc(std::move(X.Loc)) {}<br>
>> -Â Â DebugLoc(const DebugLoc &X) : Loc(X.Loc) {}<br>
>> -Â Â DebugLoc &operator=(DebugLoc &&X) {<br>
>> -Â Â Â Loc = std::move(X.Loc);<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>> -Â Â DebugLoc &operator=(const DebugLoc &X) {<br>
>> -Â Â Â Loc = X.Loc;<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>> +Â Â DebugLoc() = default;<br>
>><br>
>>Â Â Â /// \brief Construct from an \a DILocation.<br>
>>Â Â Â DebugLoc(const DILocation *L);<br>
>><br>
>> Modified: llvm/trunk/include/llvm/IR/<wbr>Dominators.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Dominators.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/IR/Dominators.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/IR/<wbr>Dominators.h (original)<br>
>> +++ llvm/trunk/include/llvm/IR/<wbr>Dominators.h Thu Oct 20 07:20:28 2016<br>
>> @@ -102,13 +102,6 @@ public:<br>
>>Â Â Â recalculate(F);<br>
>>Â Â }<br>
>><br>
>> -Â DominatorTree(DominatorTree &&Arg)<br>
>> -Â Â Â : Base(std::move(static_cast<<wbr>Base &>(Arg))) {}<br>
>> -Â DominatorTree &operator=(DominatorTree &&RHS) {<br>
>> -Â Â Base::operator=(std::move(<wbr>static_cast<Base &>(RHS)));<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â /// \brief Returns *false* if the other dominator tree matches this<br>
>> dominator<br>
>>Â Â /// tree.<br>
>>Â Â inline bool compare(const DominatorTree &Other) const {<br>
>><br>
>> Modified: llvm/trunk/include/llvm/IR/<wbr>ModuleSummaryIndex.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/ModuleSummaryIndex.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/IR/ModuleSummaryIndex.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/IR/<wbr>ModuleSummaryIndex.h (original)<br>
>> +++ llvm/trunk/include/llvm/IR/<wbr>ModuleSummaryIndex.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -358,16 +358,6 @@ private:<br>
>>Â Â ModulePathStringTableTy ModulePathStringTable;<br>
>><br>
>>Â public:<br>
>> -Â ModuleSummaryIndex() = default;<br>
>> -Â ModuleSummaryIndex(<wbr>ModuleSummaryIndex &&Arg)<br>
>> -Â Â Â : GlobalValueMap(std::move(Arg.<wbr>GlobalValueMap)),<br>
>> -Â Â Â Â ModulePathStringTable(std::<wbr>move(Arg.<wbr>ModulePathStringTable)) {}<br>
>> -Â ModuleSummaryIndex &operator=(ModuleSummaryIndex &&RHS) {<br>
>> -Â Â GlobalValueMap = std::move(RHS.GlobalValueMap);<br>
>> -Â Â ModulePathStringTable = std::move(RHS.<wbr>ModulePathStringTable);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â gvsummary_iterator begin() { return GlobalValueMap.begin(); }<br>
>>Â Â const_gvsummary_iterator begin() const { return GlobalValueMap.begin();<br>
>> }<br>
>>Â Â gvsummary_iterator end() { return GlobalValueMap.end(); }<br>
>><br>
>> Modified: llvm/trunk/include/llvm/IR/<wbr>PassManager.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/PassManager.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/IR/PassManager.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/IR/<wbr>PassManager.h (original)<br>
>> +++ llvm/trunk/include/llvm/IR/<wbr>PassManager.h Thu Oct 20 07:20:28 2016<br>
>> @@ -65,22 +65,6 @@ namespace llvm {<br>
>>Â /// the IR is not mutated at all.<br>
>>Â class PreservedAnalyses {<br>
>>Â public:<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â PreservedAnalyses() {}<br>
>> -Â PreservedAnalyses(const PreservedAnalyses &Arg)<br>
>> -Â Â Â : PreservedPassIDs(Arg.<wbr>PreservedPassIDs) {}<br>
>> -Â PreservedAnalyses(<wbr>PreservedAnalyses &&Arg)<br>
>> -Â Â Â : PreservedPassIDs(std::move(<wbr>Arg.PreservedPassIDs)) {}<br>
>> -Â friend void swap(PreservedAnalyses &LHS, PreservedAnalyses &RHS) {<br>
>> -Â Â using std::swap;<br>
>> -Â Â swap(LHS.PreservedPassIDs, RHS.PreservedPassIDs);<br>
>> -Â }<br>
>> -Â PreservedAnalyses &operator=(PreservedAnalyses RHS) {<br>
>> -Â Â swap(*this, RHS);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â /// \brief Convenience factory function for the empty preserved set.<br>
>>Â Â static PreservedAnalyses none() { return PreservedAnalyses(); }<br>
>><br>
>> @@ -257,16 +241,8 @@ public:<br>
>>Â Â ///<br>
>>Â Â /// It can be passed a flag to get debug logging as the passes are run.<br>
>>Â Â PassManager(bool DebugLogging = false) : DebugLogging(DebugLogging) {}<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â PassManager(PassManager &&Arg)<br>
>> -Â Â Â : Passes(std::move(Arg.Passes)),<br>
>> -Â Â Â Â DebugLogging(std::move(Arg.<wbr>DebugLogging)) {}<br>
>> -Â PassManager &operator=(PassManager &&RHS) {<br>
>> -Â Â Passes = std::move(RHS.Passes);<br>
>> -Â Â DebugLogging = std::move(RHS.DebugLogging);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> +Â PassManager(PassManager &&) = default;<br>
>> +Â PassManager &operator=(PassManager &&) = default;<br>
>><br>
>>Â Â /// \brief Run all of the passes in this manager over the IR.<br>
>>Â Â PreservedAnalyses run(IRUnitT &IR, AnalysisManagerT &AM,<br>
>> @@ -323,9 +299,6 @@ private:<br>
>>Â Â typedef detail::PassConcept<IRUnitT, AnalysisManagerT, ExtraArgTs...><br>
>>Â Â Â Â PassConceptT;<br>
>><br>
>> -Â PassManager(const PassManager &) = delete;<br>
>> -Â PassManager &operator=(const PassManager &) = delete;<br>
>> -<br>
>>Â Â std::vector<std::unique_ptr<<wbr>PassConceptT>> Passes;<br>
>><br>
>>Â Â /// \brief Flag indicating whether we should do debug logging.<br>
>> @@ -358,19 +331,8 @@ public:<br>
>>Â Â /// A flag can be passed to indicate that the manager should perform<br>
>> debug<br>
>>Â Â /// logging.<br>
>>Â Â AnalysisManager(bool DebugLogging = false) : DebugLogging(DebugLogging)<br>
>> {}<br>
>> -<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â AnalysisManager(<wbr>AnalysisManager &&Arg)<br>
>> -Â Â Â : AnalysisPasses(std::move(Arg.<wbr>AnalysisPasses)),<br>
>> -Â Â Â Â AnalysisResults(std::move(Arg.<wbr>AnalysisResults)),<br>
>> -Â Â Â Â DebugLogging(std::move(Arg.<wbr>DebugLogging)) {}<br>
>> -Â AnalysisManager &operator=(AnalysisManager &&RHS) {<br>
>> -Â Â AnalysisPasses = std::move(RHS.AnalysisPasses);<br>
>> -Â Â AnalysisResults = std::move(RHS.AnalysisResults)<wbr>;<br>
>> -Â Â DebugLogging = std::move(RHS.DebugLogging);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> +Â AnalysisManager(<wbr>AnalysisManager &&) = default;<br>
>> +Â AnalysisManager &operator=(AnalysisManager &&) = default;<br>
>><br>
>>Â Â /// \brief Returns true if the analysis manager has an empty results<br>
>> cache.<br>
>>Â Â bool empty() const {<br>
>> @@ -543,9 +505,6 @@ public:<br>
>>Â Â }<br>
>><br>
>>Â private:<br>
>> -Â AnalysisManager(const AnalysisManager &) = delete;<br>
>> -Â AnalysisManager &operator=(const AnalysisManager &) = delete;<br>
>> -<br>
>>Â Â /// \brief Lookup a registered analysis pass.<br>
>>Â Â PassConceptT &lookupPass(void *PassID) {<br>
>>Â Â Â typename AnalysisPassMapT::iterator PI = AnalysisPasses.find(PassID);<br>
>> @@ -731,16 +690,6 @@ public:<br>
>>Â Â };<br>
>><br>
>>Â Â explicit InnerAnalysisManagerProxy(<wbr>AnalysisManagerT &AM) : AM(&AM) {}<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â InnerAnalysisManagerProxy(<wbr>const InnerAnalysisManagerProxy &Arg)<br>
>> -Â Â Â : AM(Arg.AM) {}<br>
>> -Â InnerAnalysisManagerProxy(<wbr>InnerAnalysisManagerProxy &&Arg)<br>
>> -Â Â Â : AM(std::move(Arg.AM)) {}<br>
>> -Â InnerAnalysisManagerProxy &operator=(<wbr>InnerAnalysisManagerProxy RHS) {<br>
>> -Â Â std::swap(AM, <a href="http://RHS.AM" rel="noreferrer" target="_blank">RHS.AM</a>);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>><br>
>>Â Â /// \brief Run the analysis pass and create our proxy result object.<br>
>>Â Â ///<br>
>> @@ -795,14 +744,6 @@ public:<br>
>>Â Â class Result {<br>
>>Â Â public:<br>
>>Â Â Â explicit Result(const AnalysisManagerT &AM) : AM(&AM) {}<br>
>> -Â Â // We have to explicitly define all the special member functions<br>
>> because<br>
>> -Â Â // MSVC refuses to generate them.<br>
>> -Â Â Result(const Result &Arg) : AM(Arg.AM) {}<br>
>> -Â Â Result(Result &&Arg) : AM(std::move(Arg.AM)) {}<br>
>> -Â Â Result &operator=(Result RHS) {<br>
>> -Â Â Â std::swap(AM, <a href="http://RHS.AM" rel="noreferrer" target="_blank">RHS.AM</a>);<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>><br>
>>Â Â Â const AnalysisManagerT &getManager() const { return *AM; }<br>
>><br>
>> @@ -814,16 +755,6 @@ public:<br>
>>Â Â };<br>
>><br>
>>Â Â OuterAnalysisManagerProxy(<wbr>const AnalysisManagerT &AM) : AM(&AM) {}<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â OuterAnalysisManagerProxy(<wbr>const OuterAnalysisManagerProxy &Arg)<br>
>> -Â Â Â : AM(Arg.AM) {}<br>
>> -Â OuterAnalysisManagerProxy(<wbr>OuterAnalysisManagerProxy &&Arg)<br>
>> -Â Â Â : AM(std::move(Arg.AM)) {}<br>
>> -Â OuterAnalysisManagerProxy &operator=(<wbr>OuterAnalysisManagerProxy RHS) {<br>
>> -Â Â std::swap(AM, <a href="http://RHS.AM" rel="noreferrer" target="_blank">RHS.AM</a>);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>><br>
>>Â Â /// \brief Run the analysis pass and create our proxy result object.<br>
>>Â Â /// Nothing to see here, it just forwards the \c AM reference into the<br>
>> @@ -879,21 +810,6 @@ class ModuleToFunctionPassAdaptor<br>
>>Â public:<br>
>>Â Â explicit ModuleToFunctionPassAdaptor(<wbr>FunctionPassT Pass)<br>
>>Â Â Â Â : Pass(std::move(Pass)) {}<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â ModuleToFunctionPassAdaptor(<wbr>const ModuleToFunctionPassAdaptor &Arg)<br>
>> -Â Â Â : Pass(Arg.Pass) {}<br>
>> -Â ModuleToFunctionPassAdaptor(<wbr>ModuleToFunctionPassAdaptor &&Arg)<br>
>> -Â Â Â : Pass(std::move(Arg.Pass)) {}<br>
>> -Â friend void swap(<wbr>ModuleToFunctionPassAdaptor &LHS,<br>
>> -Â Â Â Â Â Â Â Â Â Â ModuleToFunctionPassAdaptor &RHS) {<br>
>> -Â Â using std::swap;<br>
>> -Â Â swap(LHS.Pass, RHS.Pass);<br>
>> -Â }<br>
>> -Â ModuleToFunctionPassAdaptor &operator=(<wbr>ModuleToFunctionPassAdaptor RHS)<br>
>> {<br>
>> -Â Â swap(*this, RHS);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>><br>
>>Â Â /// \brief Runs the function pass across every function in the module.<br>
>>Â Â PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM) {<br>
>> @@ -1014,19 +930,6 @@ template <typename PassT><br>
>>Â class RepeatedPass : public PassInfoMixin<RepeatedPass<<wbr>PassT>> {<br>
>>Â public:<br>
>>Â Â RepeatedPass(int Count, PassT P) : Count(Count), P(std::move(P)) {}<br>
>> -Â // We have to explicitly define all the special member functions<br>
>> because MSVC<br>
>> -Â // refuses to generate them.<br>
>> -Â RepeatedPass(const RepeatedPass &Arg) : Count(Arg.Count), P(Arg.P) {}<br>
>> -Â RepeatedPass(RepeatedPass &&Arg) : Count(Arg.Count),<br>
>> P(std::move(Arg.P)) {}<br>
>> -Â friend void swap(RepeatedPass &LHS, RepeatedPass &RHS) {<br>
>> -Â Â using std::swap;<br>
>> -Â Â swap(LHS.Count, RHS.Count);<br>
>> -Â Â swap(LHS.P, RHS.P);<br>
>> -Â }<br>
>> -Â RepeatedPass &operator=(RepeatedPass RHS) {<br>
>> -Â Â swap(*this, RHS);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>><br>
>>Â Â template <typename IRUnitT, typename AnalysisManagerT, typename... Ts><br>
>>Â Â PreservedAnalyses run(IRUnitT &Arg, AnalysisManagerT &AM, Ts &&...<br>
>> Args) {<br>
>><br>
>> Modified: llvm/trunk/include/llvm/IR/<wbr>UseListOrder.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/UseListOrder.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/IR/UseListOrder.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/IR/<wbr>UseListOrder.h (original)<br>
>> +++ llvm/trunk/include/llvm/IR/<wbr>UseListOrder.h Thu Oct 20 07:20:28 2016<br>
>> @@ -34,18 +34,8 @@ struct UseListOrder {<br>
>>Â Â Â Â : V(V), F(F), Shuffle(ShuffleSize) {}<br>
>><br>
>>Â Â UseListOrder() : V(nullptr), F(nullptr) {}<br>
>> -Â UseListOrder(UseListOrder &&X)<br>
>> -Â Â Â : V(X.V), F(X.F), Shuffle(std::move(X.Shuffle)) {}<br>
>> -Â UseListOrder &operator=(UseListOrder &&X) {<br>
>> -Â Â V = X.V;<br>
>> -Â Â F = X.F;<br>
>> -Â Â Shuffle = std::move(X.Shuffle);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>> -private:<br>
>> -Â UseListOrder(const UseListOrder &X) = delete;<br>
>> -Â UseListOrder &operator=(const UseListOrder &X) = delete;<br>
>> +Â UseListOrder(UseListOrder &&) = default;<br>
>> +Â UseListOrder &operator=(UseListOrder &&) = default;<br>
>>Â };<br>
>><br>
>>Â typedef std::vector<UseListOrder> UseListOrderStack;<br>
>><br>
>> Modified: llvm/trunk/include/llvm/LTO/<wbr>Config.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/LTO/Config.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/LTO/Config.h?rev=284721&<wbr>r1=284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/LTO/<wbr>Config.h (original)<br>
>> +++ llvm/trunk/include/llvm/LTO/<wbr>Config.h Thu Oct 20 07:20:28 2016<br>
>> @@ -134,56 +134,6 @@ struct Config {<br>
>>Â Â Â Â CombinedIndexHookFn;<br>
>>Â Â CombinedIndexHookFn CombinedIndexHook;<br>
>><br>
>> -Â Config() {}<br>
>> -Â // FIXME: Remove once MSVC can synthesize move ops.<br>
>> -Â Config(Config &&X)<br>
>> -Â Â Â : CPU(std::move(X.CPU)), Features(std::move(X.Features)<wbr>),<br>
>> -Â Â Â Â Options(std::move(X.Options)), MAttrs(std::move(X.MAttrs)),<br>
>> -Â Â Â Â RelocModel(std::move(X.<wbr>RelocModel)),<br>
>> CodeModel(std::move(X.<wbr>CodeModel)),<br>
>> -Â Â Â Â CGOptLevel(std::move(X.<wbr>CGOptLevel)),<br>
>> OptLevel(std::move(X.OptLevel)<wbr>),<br>
>> -Â Â Â Â DisableVerify(std::move(X.<wbr>DisableVerify)),<br>
>> -Â Â Â Â OptPipeline(std::move(X.<wbr>OptPipeline)),<br>
>> -Â Â Â Â AAPipeline(std::move(X.<wbr>AAPipeline)),<br>
>> -Â Â Â Â OverrideTriple(std::move(X.<wbr>OverrideTriple)),<br>
>> -Â Â Â Â DefaultTriple(std::move(X.<wbr>DefaultTriple)),<br>
>> -Â Â Â Â ShouldDiscardValueNames(std::<wbr>move(X.<wbr>ShouldDiscardValueNames)),<br>
>> -Â Â Â Â DiagHandler(std::move(X.<wbr>DiagHandler)),<br>
>> -Â Â Â Â ResolutionFile(std::move(X.<wbr>ResolutionFile)),<br>
>> -Â Â Â Â PreOptModuleHook(std::move(X.<wbr>PreOptModuleHook)),<br>
>> -Â Â Â Â PostPromoteModuleHook(std::<wbr>move(X.PostPromoteModuleHook))<wbr>,<br>
>> -<br>
>> PostInternalizeModuleHook(std:<wbr>:move(X.<wbr>PostInternalizeModuleHook)),<br>
>> -Â Â Â Â PostImportModuleHook(std::<wbr>move(X.PostImportModuleHook)),<br>
>> -Â Â Â Â PostOptModuleHook(std::move(X.<wbr>PostOptModuleHook)),<br>
>> -Â Â Â Â PreCodeGenModuleHook(std::<wbr>move(X.PreCodeGenModuleHook)),<br>
>> -Â Â Â Â CombinedIndexHook(std::move(X.<wbr>CombinedIndexHook)) {}<br>
>> -Â // FIXME: Remove once MSVC can synthesize move ops.<br>
>> -Â Config &operator=(Config &&X) {<br>
>> -Â Â CPU = std::move(X.CPU);<br>
>> -Â Â Features = std::move(X.Features);<br>
>> -Â Â Options = std::move(X.Options);<br>
>> -Â Â MAttrs = std::move(X.MAttrs);<br>
>> -Â Â RelocModel = std::move(X.RelocModel);<br>
>> -Â Â CodeModel = std::move(X.CodeModel);<br>
>> -Â Â CGOptLevel = std::move(X.CGOptLevel);<br>
>> -Â Â OptLevel = std::move(X.OptLevel);<br>
>> -Â Â DisableVerify = std::move(X.DisableVerify);<br>
>> -Â Â OptPipeline = std::move(X.OptPipeline);<br>
>> -Â Â AAPipeline = std::move(X.AAPipeline);<br>
>> -Â Â OverrideTriple = std::move(X.OverrideTriple);<br>
>> -Â Â DefaultTriple = std::move(X.DefaultTriple);<br>
>> -Â Â ShouldDiscardValueNames = std::move(X.<wbr>ShouldDiscardValueNames);<br>
>> -Â Â DiagHandler = std::move(X.DiagHandler);<br>
>> -Â Â ResolutionFile = std::move(X.ResolutionFile);<br>
>> -Â Â PreOptModuleHook = std::move(X.PreOptModuleHook);<br>
>> -Â Â PostPromoteModuleHook = std::move(X.<wbr>PostPromoteModuleHook);<br>
>> -Â Â PostInternalizeModuleHook = std::move(X.<wbr>PostInternalizeModuleHook);<br>
>> -Â Â PostImportModuleHook = std::move(X.<wbr>PostImportModuleHook);<br>
>> -Â Â PostOptModuleHook = std::move(X.PostOptModuleHook)<wbr>;<br>
>> -Â Â PreCodeGenModuleHook = std::move(X.<wbr>PreCodeGenModuleHook);<br>
>> -Â Â CombinedIndexHook = std::move(X.CombinedIndexHook)<wbr>;<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â /// This is a convenience function that configures this Config object<br>
>> to write<br>
>>Â Â /// temporary files named after the given OutputFileName for each of<br>
>> the LTO<br>
>>Â Â /// phases to disk. A client can use this function to implement<br>
>> -save-temps.<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Object/ArchiveWriter.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ArchiveWriter.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Object/ArchiveWriter.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Object/ArchiveWriter.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Object/ArchiveWriter.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -26,17 +26,6 @@ struct NewArchiveMember {<br>
>>Â Â unsigned UID = 0, GID = 0, Perms = 0644;<br>
>><br>
>>Â Â NewArchiveMember() = default;<br>
>> -Â NewArchiveMember(<wbr>NewArchiveMember &&Other)<br>
>> -Â Â Â : Buf(std::move(Other.Buf)), ModTime(Other.ModTime),<br>
>> UID(Other.UID),<br>
>> -Â Â Â Â GID(Other.GID), Perms(Other.Perms) {}<br>
>> -Â NewArchiveMember &operator=(NewArchiveMember &&Other) {<br>
>> -Â Â Buf = std::move(Other.Buf);<br>
>> -Â Â ModTime = Other.ModTime;<br>
>> -Â Â UID = Other.UID;<br>
>> -Â Â GID = Other.GID;<br>
>> -Â Â Perms = Other.Perms;<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>>Â Â NewArchiveMember(<wbr>MemoryBufferRef BufRef);<br>
>><br>
>>Â Â static Expected<NewArchiveMember><br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>ProfileData/Coverage/<wbr>CoverageMapping.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ProfileData/Coverage/CoverageMapping.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/ProfileData/Coverage/<wbr>CoverageMapping.h?rev=284721&<wbr>r1=284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>ProfileData/Coverage/<wbr>CoverageMapping.h<br>
>> (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>ProfileData/Coverage/<wbr>CoverageMapping.h Thu Oct<br>
>> 20 07:20:28 2016<br>
>> @@ -291,13 +291,8 @@ struct FunctionRecord {<br>
>>Â Â FunctionRecord(StringRef Name, ArrayRef<StringRef> Filenames)<br>
>>Â Â Â Â : Name(Name), Filenames(Filenames.begin(), Filenames.end()) {}<br>
>><br>
>> -Â FunctionRecord(FunctionRecord &&FR)<br>
>> -Â Â Â : Name(FR.Name), Filenames(std::move(FR.<wbr>Filenames)),<br>
>> -Â Â Â Â CountedRegions(std::move(FR.<wbr>CountedRegions)),<br>
>> -Â Â Â Â ExecutionCount(FR.<wbr>ExecutionCount) {}<br>
>> -<br>
>> -Â FunctionRecord(const FunctionRecord &) = delete;<br>
>> -Â const FunctionRecord &operator=(const FunctionRecord &) = delete;<br>
>> +Â FunctionRecord(FunctionRecord &&FR) = default;<br>
>> +Â FunctionRecord &operator=(FunctionRecord &&) = default;<br>
>><br>
>>Â Â void pushRegion(<wbr>CounterMappingRegion Region, uint64_t Count) {<br>
>>Â Â Â if (CountedRegions.empty())<br>
>> @@ -405,10 +400,6 @@ public:<br>
>><br>
>>Â Â CoverageData(StringRef Filename) : Filename(Filename) {}<br>
>><br>
>> -Â CoverageData(CoverageData &&RHS)<br>
>> -Â Â Â : Filename(std::move(RHS.<wbr>Filename)),<br>
>> Segments(std::move(RHS.<wbr>Segments)),<br>
>> -Â Â Â Â Expansions(std::move(RHS.<wbr>Expansions)) {}<br>
>> -<br>
>>Â Â /// \brief Get the name of the file this data covers.<br>
>>Â Â StringRef getFilename() const { return Filename; }<br>
>><br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Support/SourceMgr.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/SourceMgr.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Support/SourceMgr.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Support/SourceMgr.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Support/SourceMgr.h Thu Oct 20 07:20:28 2016<br>
>> @@ -51,11 +51,6 @@ private:<br>
>><br>
>>Â Â Â /// This is the location of the parent include, or null if at the top<br>
>> level.<br>
>>Â Â Â SMLoc IncludeLoc;<br>
>> -<br>
>> -Â Â SrcBuffer() {}<br>
>> -<br>
>> -Â Â SrcBuffer(SrcBuffer &&O)<br>
>> -Â Â Â Â : Buffer(std::move(O.Buffer)), IncludeLoc(O.IncludeLoc) {}<br>
>>Â Â };<br>
>><br>
>>Â Â /// This is all of the buffers that we are reading from.<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombine.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/InstCombine/InstCombine.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Transforms/InstCombine/<wbr>InstCombine.h?rev=284721&r1=<wbr>284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombine.h<br>
>> (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombine.h Thu Oct<br>
>> 20 07:20:28 2016<br>
>> @@ -31,17 +31,8 @@ class InstCombinePass : public PassInfoM<br>
>>Â public:<br>
>>Â Â static StringRef name() { return "InstCombinePass"; }<br>
>><br>
>> -Â // Explicitly define constructors for MSVC.<br>
>> -Â InstCombinePass(bool ExpensiveCombines = true)<br>
>> +Â explicit InstCombinePass(bool ExpensiveCombines = true)<br>
>>Â Â Â Â : ExpensiveCombines(<wbr>ExpensiveCombines) {}<br>
>> -Â InstCombinePass(<wbr>InstCombinePass &&Arg)<br>
>> -Â Â Â : Worklist(std::move(Arg.<wbr>Worklist)),<br>
>> -Â Â Â Â ExpensiveCombines(Arg.<wbr>ExpensiveCombines) {}<br>
>> -Â InstCombinePass &operator=(InstCombinePass &&RHS) {<br>
>> -Â Â Worklist = std::move(RHS.Worklist);<br>
>> -Â Â ExpensiveCombines = RHS.ExpensiveCombines;<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>><br>
>>Â Â PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);<br>
>>Â };<br>
>><br>
>> Modified:<br>
>> llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombineWorklist.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/InstCombine/InstCombineWorklist.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Transforms/InstCombine/<wbr>InstCombineWorklist.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombineWorklist.h<br>
>> (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Transforms/InstCombine/<wbr>InstCombineWorklist.h<br>
>> Thu Oct 20 07:20:28 2016<br>
>> @@ -28,19 +28,11 @@ class InstCombineWorklist {<br>
>>Â Â SmallVector<Instruction*, 256> Worklist;<br>
>>Â Â DenseMap<Instruction*, unsigned> WorklistMap;<br>
>><br>
>> -Â void operator=(const InstCombineWorklist&RHS) = delete;<br>
>> -Â InstCombineWorklist(const InstCombineWorklist&) = delete;<br>
>>Â public:<br>
>> -Â InstCombineWorklist() {}<br>
>> +Â InstCombineWorklist() = default;<br>
>><br>
>> -Â InstCombineWorklist(<wbr>InstCombineWorklist &&Arg)<br>
>> -Â Â Â : Worklist(std::move(Arg.<wbr>Worklist)),<br>
>> -Â Â Â Â WorklistMap(std::move(Arg.<wbr>WorklistMap)) {}<br>
>> -Â InstCombineWorklist &operator=(InstCombineWorklist &&RHS) {<br>
>> -Â Â Worklist = std::move(RHS.Worklist);<br>
>> -Â Â WorklistMap = std::move(RHS.WorklistMap);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> +Â InstCombineWorklist(<wbr>InstCombineWorklist &&) = default;<br>
>> +Â InstCombineWorklist &operator=(InstCombineWorklist &&) = default;<br>
>><br>
>>Â Â bool isEmpty() const { return Worklist.empty(); }<br>
>><br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Transforms/Scalar/<wbr>JumpThreading.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Scalar/JumpThreading.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Transforms/Scalar/<wbr>JumpThreading.h?rev=284721&r1=<wbr>284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Transforms/Scalar/<wbr>JumpThreading.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Transforms/Scalar/<wbr>JumpThreading.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -85,13 +85,6 @@ class JumpThreadingPass : public PassInf<br>
>><br>
>>Â public:<br>
>>Â Â JumpThreadingPass(int T = -1);<br>
>> -Â // Hack for MSVC 2013 which seems like it can't synthesize this.<br>
>> -Â JumpThreadingPass(<wbr>JumpThreadingPass &&Other)<br>
>> -Â Â Â : TLI(Other.TLI), LVI(Other.LVI), BFI(std::move(Other.BFI)),<br>
>> -Â Â Â Â BPI(std::move(Other.BPI)), HasProfileData(Other.<wbr>HasProfileData),<br>
>> -Â Â Â Â LoopHeaders(std::move(Other.<wbr>LoopHeaders)),<br>
>> -Â Â Â Â RecursionSet(std::move(Other.<wbr>RecursionSet)),<br>
>> -Â Â Â Â BBDupThreshold(Other.<wbr>BBDupThreshold) {}<br>
>><br>
>>Â Â // Glue for old PM.<br>
>>Â Â bool runImpl(Function &F, TargetLibraryInfo *TLI_, LazyValueInfo *LVI_,<br>
>><br>
>> Modified:<br>
>> llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>ImportedFunctionsInliningStati<wbr>stics.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Transforms/Utils/<wbr>ImportedFunctionsInliningStati<wbr>stics.h?rev=284721&r1=284720&<wbr>r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> ---<br>
>> llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>ImportedFunctionsInliningStati<wbr>stics.h<br>
>> (original)<br>
>> +++<br>
>> llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>ImportedFunctionsInliningStati<wbr>stics.h<br>
>> Thu Oct 20 07:20:28 2016<br>
>> @@ -48,26 +48,8 @@ private:<br>
>>Â Â struct InlineGraphNode {<br>
>>Â Â Â // Default-constructible and movable.<br>
>>Â Â Â InlineGraphNode() = default;<br>
>> -Â Â // FIXME: make them default ctors when we won't support ancient<br>
>> compilers<br>
>> -Â Â // like MSVS-2013.<br>
>> -Â Â InlineGraphNode(<wbr>InlineGraphNode &&Other)<br>
>> -Â Â Â : InlinedCallees(std::move(<wbr>Other.InlinedCallees)),<br>
>> -Â Â Â NumberOfInlines(Other.<wbr>NumberOfInlines),<br>
>> -Â Â Â NumberOfRealInlines(Other.<wbr>NumberOfRealInlines),<br>
>> -Â Â Â Imported(Other.Imported),<br>
>> -Â Â Â Visited(Other.Visited) {}<br>
>> -<br>
>> -Â Â InlineGraphNode &operator=(InlineGraphNode &&Other) {<br>
>> -Â Â Â InlinedCallees = std::move(Other.<wbr>InlinedCallees);<br>
>> -Â Â Â NumberOfInlines = Other.NumberOfInlines;<br>
>> -Â Â Â NumberOfRealInlines = Other.NumberOfRealInlines;<br>
>> -Â Â Â Imported = Other.Imported;<br>
>> -Â Â Â Visited = Other.Visited;<br>
>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>> -<br>
>> -Â Â InlineGraphNode(const InlineGraphNode &) = delete;<br>
>> -Â Â InlineGraphNode &operator=(const InlineGraphNode &) = delete;<br>
>> +Â Â InlineGraphNode(<wbr>InlineGraphNode &&) = default;<br>
>> +Â Â InlineGraphNode &operator=(InlineGraphNode &&) = default;<br>
>><br>
>>Â Â Â llvm::SmallVector<<wbr>InlineGraphNode *, 8> InlinedCallees;<br>
>>Â Â Â /// Incremented every direct inline.<br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Transforms/Utils/MemorySSA.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/MemorySSA.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Transforms/Utils/<wbr>MemorySSA.h?rev=284721&r1=<wbr>284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Transforms/Utils/MemorySSA.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Transforms/Utils/MemorySSA.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -662,12 +662,8 @@ public:<br>
>>Â Â // unique_ptr<MemorySSA> to avoid build breakage on MSVC.<br>
>>Â Â struct Result {<br>
>>Â Â Â Result(std::unique_ptr<<wbr>MemorySSA> &&MSSA) : MSSA(std::move(MSSA)) {}<br>
>> -Â Â Result(Result &&R) : MSSA(std::move(R.MSSA)) {}<br>
>>Â Â Â MemorySSA &getMSSA() { return *MSSA.get(); }<br>
>><br>
>> -Â Â Result(const Result &) = delete;<br>
>> -Â Â void operator=(const Result &) = delete;<br>
>> -<br>
>>Â Â Â std::unique_ptr<MemorySSA> MSSA;<br>
>>Â Â };<br>
>><br>
>><br>
>> Modified: llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>SymbolRewriter.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Utils/SymbolRewriter.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/include/<wbr>llvm/Transforms/Utils/<wbr>SymbolRewriter.h?rev=284721&<wbr>r1=284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>SymbolRewriter.h (original)<br>
>> +++ llvm/trunk/include/llvm/<wbr>Transforms/Utils/<wbr>SymbolRewriter.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -120,9 +120,6 @@ public:<br>
>>Â Â Â Descriptors.splice(<wbr>Descriptors.begin(), DL);<br>
>>Â Â }<br>
>><br>
>> -Â RewriteSymbolPass(<wbr>RewriteSymbolPass &&Other)<br>
>> -Â Â Â : Descriptors(std::move(Other.<wbr>Descriptors)) {}<br>
>> -<br>
>>Â Â PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM);<br>
>><br>
>>Â Â // Glue for old PM<br>
>><br>
>> Modified: llvm/trunk/lib/Analysis/<wbr>StratifiedSets.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/StratifiedSets.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Analysis/StratifiedSets.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Analysis/<wbr>StratifiedSets.h (original)<br>
>> +++ llvm/trunk/lib/Analysis/<wbr>StratifiedSets.h Thu Oct 20 07:20:28 2016<br>
>> @@ -85,17 +85,8 @@ struct StratifiedLink {<br>
>>Â template <typename T> class StratifiedSets {<br>
>>Â public:<br>
>>Â Â StratifiedSets() = default;<br>
>> -<br>
>> -Â // TODO: Figure out how to make MSVC not call the copy ctor here, and<br>
>> delete<br>
>> -Â // it.<br>
>> -<br>
>> -Â // Can't default these due to compile errors in MSVC2013<br>
>> -Â StratifiedSets(StratifiedSets &&Other) { *this = std::move(Other); }<br>
>> -Â StratifiedSets &operator=(StratifiedSets &&Other) {<br>
>> -Â Â Values = std::move(Other.Values);<br>
>> -Â Â Links = std::move(Other.Links);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> +Â StratifiedSets(StratifiedSets &&) = default;<br>
>> +Â StratifiedSets &operator=(StratifiedSets &&) = default;<br>
>><br>
>>Â Â StratifiedSets(DenseMap<T, StratifiedInfo> Map,<br>
>>Â Â Â Â Â Â Â Â Â Â std::vector<StratifiedLink> Links)<br>
>><br>
>> Modified: llvm/trunk/lib/<wbr>ExecutionEngine/<wbr>GDBRegistrationListener.cpp<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/GDBRegistrationListener.cpp?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>ExecutionEngine/<wbr>GDBRegistrationListener.cpp?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/<wbr>ExecutionEngine/<wbr>GDBRegistrationListener.cpp (original)<br>
>> +++ llvm/trunk/lib/<wbr>ExecutionEngine/<wbr>GDBRegistrationListener.cpp Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -69,16 +69,6 @@ struct RegisteredObjectInfo {<br>
>>Â Â Â Â Â Â Â Â Â Â Â Â Â OwningBinary<ObjectFile> Obj)<br>
>>Â Â Â : Size(Size), Entry(Entry), Obj(std::move(Obj)) {}<br>
>><br>
>> -Â RegisteredObjectInfo(<wbr>RegisteredObjectInfo &&Other)<br>
>> -Â Â : Size(Other.Size), Entry(Other.Entry), Obj(std::move(Other.Obj)) {}<br>
>> -<br>
>> -Â RegisteredObjectInfo& operator=(RegisteredObjectInfo &&Other) {<br>
>> -Â Â Size = Other.Size;<br>
>> -Â Â Entry = Other.Entry;<br>
>> -Â Â Obj = std::move(Other.Obj);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â std::size_t Size;<br>
>>Â Â jit_code_entry *Entry;<br>
>>Â Â OwningBinary<ObjectFile> Obj;<br>
>><br>
>> Modified: llvm/trunk/lib/<wbr>ExecutionEngine/Interpreter/<wbr>Interpreter.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Interpreter/Interpreter.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>ExecutionEngine/Interpreter/<wbr>Interpreter.h?rev=284721&r1=<wbr>284720&r2=284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/<wbr>ExecutionEngine/Interpreter/<wbr>Interpreter.h (original)<br>
>> +++ llvm/trunk/lib/<wbr>ExecutionEngine/Interpreter/<wbr>Interpreter.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -41,12 +41,9 @@ class AllocaHolder {<br>
>>Â public:<br>
>>Â Â AllocaHolder() {}<br>
>><br>
>> -Â // Make this type move-only. Define explicit move special members for<br>
>> MSVC.<br>
>> -Â AllocaHolder(AllocaHolder &&RHS) :<br>
>> Allocations(std::move(RHS.<wbr>Allocations)) {}<br>
>> -Â AllocaHolder &operator=(AllocaHolder &&RHS) {<br>
>> -Â Â Allocations = std::move(RHS.Allocations);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> +Â // Make this type move-only.<br>
>> +Â AllocaHolder(AllocaHolder &&) = default;<br>
>> +Â AllocaHolder &operator=(AllocaHolder &&RHS) = default;<br>
>><br>
>>Â Â ~AllocaHolder() {<br>
>>Â Â Â for (void *Allocation : Allocations)<br>
>> @@ -72,22 +69,6 @@ struct ExecutionContext {<br>
>>Â Â AllocaHolder Allocas;Â Â Â Â Â Â // Track memory allocated by alloca<br>
>><br>
>>Â Â ExecutionContext() : CurFunction(nullptr), CurBB(nullptr),<br>
>> CurInst(nullptr) {}<br>
>> -<br>
>> -Â ExecutionContext(<wbr>ExecutionContext &&O)<br>
>> -Â Â Â : CurFunction(O.CurFunction), CurBB(O.CurBB), CurInst(O.CurInst),<br>
>> -Â Â Â Â Caller(O.Caller), Values(std::move(O.Values)),<br>
>> -Â Â Â Â VarArgs(std::move(O.VarArgs)), Allocas(std::move(O.Allocas)) {}<br>
>> -<br>
>> -Â ExecutionContext &operator=(ExecutionContext &&O) {<br>
>> -Â Â CurFunction = O.CurFunction;<br>
>> -Â Â CurBB = O.CurBB;<br>
>> -Â Â CurInst = O.CurInst;<br>
>> -Â Â Caller = O.Caller;<br>
>> -Â Â Values = std::move(O.Values);<br>
>> -Â Â VarArgs = std::move(O.VarArgs);<br>
>> -Â Â Allocas = std::move(O.Allocas);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>>Â };<br>
>><br>
>>Â // Interpreter - This class represents the entirety of the interpreter.<br>
>><br>
>> Modified: llvm/trunk/lib/Support/<wbr>SpecialCaseList.cpp<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/SpecialCaseList.cpp?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Support/SpecialCaseList.cpp?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Support/<wbr>SpecialCaseList.cpp (original)<br>
>> +++ llvm/trunk/lib/Support/<wbr>SpecialCaseList.cpp Thu Oct 20 07:20:28 2016<br>
>> @@ -32,10 +32,6 @@ namespace llvm {<br>
>>Â /// reason for doing so is efficiency; StringSet is much faster at<br>
>> matching<br>
>>Â /// literal strings than Regex.<br>
>>Â struct SpecialCaseList::Entry {<br>
>> -Â Entry() {}<br>
>> -Â Entry(Entry &&Other)<br>
>> -Â Â Â : Strings(std::move(Other.<wbr>Strings)), RegEx(std::move(Other.RegEx))<br>
>> {}<br>
>> -<br>
>>Â Â StringSet<> Strings;<br>
>>Â Â std::unique_ptr<Regex> RegEx;<br>
>><br>
>><br>
>> Modified: llvm/trunk/lib/Target/AArch64/<wbr>AArch64TargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64TargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AArch64/<wbr>AArch64TargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/AArch64/<wbr>AArch64TargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/AArch64/<wbr>AArch64TargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -52,13 +52,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â AArch64TTIImpl(const AArch64TTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â AArch64TTIImpl(AArch64TTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>><br>
>><br>
>> Modified: llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>AMDGPU/<wbr>AMDGPUTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/AMDGPU/<wbr>AMDGPUTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -64,13 +64,6 @@ public:<br>
>>Â Â Â Â ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â AMDGPUTTIImpl(const AMDGPUTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â AMDGPUTTIImpl(AMDGPUTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â bool hasBranchDivergence() { return true; }<br>
>><br>
>>Â Â void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP);<br>
>><br>
>> Modified: llvm/trunk/lib/Target/ARM/<wbr>ARMTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>ARM/ARMTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/ARM/<wbr>ARMTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/ARM/<wbr>ARMTargetTransformInfo.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -45,13 +45,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â ARMTTIImpl(const ARMTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â ARMTTIImpl(ARMTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â bool enableInterleavedAccessVectori<wbr>zation() { return true; }<br>
>><br>
>>Â Â /// Floating-point computation using ARMv8 AArch32 Advanced<br>
>><br>
>> Modified: llvm/trunk/lib/Target/Hexagon/<wbr>HexagonTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Hexagon/<wbr>HexagonTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/Hexagon/<wbr>HexagonTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/Hexagon/<wbr>HexagonTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -40,13 +40,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â HexagonTTIImpl(const HexagonTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â HexagonTTIImpl(HexagonTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>><br>
>><br>
>> Modified: llvm/trunk/lib/Target/Lanai/<wbr>LanaiTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Lanai/LanaiTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>Lanai/<wbr>LanaiTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/Lanai/<wbr>LanaiTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/Lanai/<wbr>LanaiTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -41,11 +41,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â LanaiTTIImpl(const LanaiTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â LanaiTTIImpl(LanaiTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))), ST(Arg.ST),<br>
>> TLI(Arg.TLI) {}<br>
>> -<br>
>>Â Â bool shouldBuildLookupTables() const { return false; }<br>
>><br>
>>Â Â TargetTransformInfo::<wbr>PopcntSupportKind getPopcntSupport(unsigned<br>
>> TyWidth) {<br>
>><br>
>> Modified: llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>NVPTX/<wbr>NVPTXTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/NVPTX/<wbr>NVPTXTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -41,13 +41,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl()),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â NVPTXTTIImpl(const NVPTXTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â NVPTXTTIImpl(NVPTXTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â bool hasBranchDivergence() { return true; }<br>
>><br>
>>Â Â bool isSourceOfDivergence(const Value *V);<br>
>><br>
>> Modified: llvm/trunk/lib/Target/PowerPC/<wbr>PPCTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>PowerPC/<wbr>PPCTargetTransformInfo.h?rev=<wbr>284721&r1=284720&r2=284721&<wbr>view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/PowerPC/<wbr>PPCTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/PowerPC/<wbr>PPCTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -41,13 +41,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â PPCTTIImpl(const PPCTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â PPCTTIImpl(PPCTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>><br>
>><br>
>> Modified: llvm/trunk/lib/Target/SystemZ/<wbr>SystemZTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/SystemZ/SystemZTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>SystemZ/<wbr>SystemZTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/SystemZ/<wbr>SystemZTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/SystemZ/<wbr>SystemZTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -32,13 +32,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â SystemZTTIImpl(const SystemZTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â SystemZTTIImpl(SystemZTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>><br>
>><br>
>> Modified:<br>
>> llvm/trunk/lib/Target/<wbr>WebAssembly/<wbr>WebAssemblyTargetTransformInfo<wbr>.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>WebAssembly/<wbr>WebAssemblyTargetTransformInfo<wbr>.h?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/<wbr>WebAssembly/<wbr>WebAssemblyTargetTransformInfo<wbr>.h<br>
>> (original)<br>
>> +++ llvm/trunk/lib/Target/<wbr>WebAssembly/<wbr>WebAssemblyTargetTransformInfo<wbr>.h Thu<br>
>> Oct 20 07:20:28 2016<br>
>> @@ -42,13 +42,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â WebAssemblyTTIImpl(const WebAssemblyTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â WebAssemblyTTIImpl(<wbr>WebAssemblyTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>><br>
>><br>
>> Modified: llvm/trunk/lib/Target/X86/<wbr>X86TargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>X86/X86TargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/X86/<wbr>X86TargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/X86/<wbr>X86TargetTransformInfo.h Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -43,13 +43,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl(F)),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â X86TTIImpl(const X86TTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â X86TTIImpl(X86TTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â /// \name Scalar TTI Implementations<br>
>>Â Â /// @{<br>
>>Â Â TTI::PopcntSupportKind getPopcntSupport(unsigned TyWidth);<br>
>><br>
>> Modified: llvm/trunk/lib/Target/XCore/<wbr>XCoreTargetTransformInfo.h<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreTargetTransformInfo.h?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/Target/<wbr>XCore/<wbr>XCoreTargetTransformInfo.h?<wbr>rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Target/XCore/<wbr>XCoreTargetTransformInfo.h (original)<br>
>> +++ llvm/trunk/lib/Target/XCore/<wbr>XCoreTargetTransformInfo.h Thu Oct 20<br>
>> 07:20:28 2016<br>
>> @@ -41,13 +41,6 @@ public:<br>
>>Â Â Â Â : BaseT(TM, F.getParent()->getDataLayout()<wbr>),<br>
>> ST(TM->getSubtargetImpl()),<br>
>>Â Â Â Â Â TLI(ST->getTargetLowering()) {}<br>
>><br>
>> -Â // Provide value semantics. MSVC requires that we spell all of these<br>
>> out.<br>
>> -Â XCoreTTIImpl(const XCoreTTIImpl &Arg)<br>
>> -Â Â Â : BaseT(static_cast<const BaseT &>(Arg)), ST(Arg.ST), TLI(Arg.TLI)<br>
>> {}<br>
>> -Â XCoreTTIImpl(XCoreTTIImpl &&Arg)<br>
>> -Â Â Â : BaseT(std::move(static_cast<<wbr>BaseT &>(Arg))),<br>
>> ST(std::move(Arg.ST)),<br>
>> -Â Â Â Â TLI(std::move(Arg.TLI)) {}<br>
>> -<br>
>>Â Â unsigned getNumberOfRegisters(bool Vector) {<br>
>>Â Â Â if (Vector) {<br>
>>Â Â Â Â return 0;<br>
>><br>
>> Modified: llvm/trunk/lib/Transforms/<wbr>Utils/ValueMapper.cpp<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/ValueMapper.cpp?rev=284721&r1=284720&r2=284721&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Utils/ValueMapper.<wbr>cpp?rev=284721&r1=284720&r2=<wbr>284721&view=diff</a><br>
>><br>
>> ==============================<wbr>==============================<wbr>==================<br>
>> --- llvm/trunk/lib/Transforms/<wbr>Utils/ValueMapper.cpp (original)<br>
>> +++ llvm/trunk/lib/Transforms/<wbr>Utils/ValueMapper.cpp Thu Oct 20 07:20:28<br>
>> 2016<br>
>> @@ -38,15 +38,6 @@ struct DelayedBasicBlock {<br>
>>Â Â BasicBlock *OldBB;<br>
>>Â Â std::unique_ptr<BasicBlock> TempBB;<br>
>><br>
>> -Â // Explicit move for MSVC.<br>
>> -Â DelayedBasicBlock(<wbr>DelayedBasicBlock &&X)<br>
>> -Â Â Â : OldBB(std::move(X.OldBB)), TempBB(std::move(X.TempBB)) {}<br>
>> -Â DelayedBasicBlock &operator=(DelayedBasicBlock &&X) {<br>
>> -Â Â OldBB = std::move(X.OldBB);<br>
>> -Â Â TempBB = std::move(X.TempBB);<br>
>> -Â Â return *this;<br>
>> -Â }<br>
>> -<br>
>>Â Â DelayedBasicBlock(const BlockAddress &Old)<br>
>>Â Â Â Â : OldBB(Old.getBasicBlock()),<br>
>>Â Â Â Â Â TempBB(BasicBlock::Create(Old.<wbr>getContext())) {}<br>
>> @@ -184,17 +175,6 @@ class MDNodeMapper {<br>
>>Â Â Â bool HasChanged = false;<br>
</div></div><span class="">>>Â Â Â unsigned ID = ~0u;<br>
>>Â Â Â TempMDNode Placeholder;<br>
>> -<br>
>> -Â Â Data() {}<br>
>> -Â Â Data(Data &&X)<br>
>> -Â Â Â Â : HasChanged(std::move(X.<wbr>HasChanged)), ID(std::move(<a href="http://X.ID" rel="noreferrer" target="_blank">X.ID</a>)),<br>
>> -Â Â Â Â Â Placeholder(std::move(X.<wbr>Placeholder)) {}<br>
>> -Â Â Data &operator=(Data &&X) {<br>
>> -Â Â Â HasChanged = std::move(X.HasChanged);<br>
>> -Â Â Â ID = std::move(<a href="http://X.ID" rel="noreferrer" target="_blank">X.ID</a>);<br>
>> -Â Â Â Placeholder = std::move(X.Placeholder);<br>
</span>>> -Â Â Â return *this;<br>
>> -Â Â }<br>
>>Â Â };<br>
>><br>
<div class="HOEnZb"><div class="h5">>>Â Â /// A graph of uniqued nodes.<br>
>><br>
>><br>
>> ______________________________<wbr>_________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
><br>
><br>
</div></div></blockquote></div><br></div>