<div dir="ltr">Hi Manideepa,<div><br></div><div>Moving from 3.4 to 3.8 is a huge step. LLVM's codebase moves very quickly and we are (deliberately) worry very little about refactoring heavily. Therefore build errors are expected.</div><div><br></div><div>Looking at your errors, I can't see any reason your CMakeLists would be at fault. The errors are primarily API changes - you'll have to go and look at each individually to understand what LLVM now returns/accepts and how to modify your code.</div><div><br></div><div>Specifically:</div><div><br></div><div><div><b>error: base operand of ‘->’ has non-pointer type ‘llvm::LoopInfo’</b></div></div><div><br></div><div>This means you previously had a LoopInfo*, and now you have a LoopInfo&.</div><div><br></div><div><div><b>error: ‘ID’ is not a member of ‘llvm::PostDominatorTree’</b></div></div><div><br></div><div>PostDominatorTree is no longer a Pass. It is an analysis object - you get one by using a different pass: PostDominatorWrapperPass, and calling ->getDomTree() on it. There are examples in in-tree LLVM passes.</div><div><br></div><div><div>/home/manideepa/Desktop/research/compiler/llvm3.8/llvm/include/llvm/PassAnalysisSupport.h:61:39: error: ‘ID’ is not a member of ‘llvm::AAResults’</div></div><div><br></div><div>The Alias Analysis hierarchy has changed substantially. I suggest going and looking at the documentation, but you now need to obtain an AliasAnalysisWrapperPass and call getAAResults().</div><div><br></div><div>You've got the same problem with MemoryDependenceAnalysis and ScalarEvolution. I'd go look at a pass in-tree and see what that does differently to your pass.</div><div><br></div><div><b>PS</b>: LLVM now uses range based for loops heavily, so you can rewrite this:</div><div><div>    for (LoopInfo::iterator I = LI->begin(), E = LI->end(); I != E; ++I) //gives the collection of Loops</div></div><div><br></div><div>to this:</div><div>  for(auto *L : LI)</div></div><br><div class="gmail_quote"><div dir="ltr">On Sat, 19 Mar 2016 at 17:29 Manideepa Mukherjee via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi,<br><br></div>I am trying to integrate my pass with the current llvm version 3.8.0. My pass was running fine with llvm 3.4. I am novice in CMake. I am getting a huge error list at the time of make. <br><div><div>My CMakeLists file:<br><br>set( LLVM_DIR "${LLVM_ROOT}/share/llvm/cmake" )<br>set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_DIR} )<br>find_package(LLVM)<br>include(AddLLVM)<br>add_definitions(${LLVM_DEFINITIONS})<br>include_directories(${LLVM_INCLUDE_DIRS})<br>link_directories(${LLVM_LIBRARY_DIRS})<br><br>add_llvm_loadable_module(LoopGraphAnalysisPass_0<br>  LoopGraphAnalysisPass.cpp<br>  )<br></div><div>My errors are attached in a separate file<br></div><div><br clear="all"><div><div><div>Deep<br></div></div></div>
</div></div></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>