<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Passmanager assertion failure in PassAnalysisSupport.h"
   href="https://llvm.org/bugs/show_bug.cgi?id=27697">27697</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Passmanager assertion failure in PassAnalysisSupport.h
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Core LLVM classes
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mattias.v.eriksson@ericsson.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Running this command:

opt -globals-aa -loop-simplify -basiccg -aa -functionattrs /dev/null -o
/dev/null -debug-pass=Details

Fails an assert like this:

 -- 'Canonicalize natural loops' is not preserving 'CallGraph Construction'
 -- 'Canonicalize natural loops' is not preserving 'Function Pass Manager'
Pass Arguments:  -targetlibinfo -tti -assumption-cache-tracker -basiccg
-globals-aa -domtree -loops -loop-simplify -basiccg -domtree -basicaa -aa
-functionattrs -verify -write-bitcode
Target Library Information
Target Transform Information
Assumption Cache Tracker
  ModulePass Manager
    CallGraph Construction
    Globals Alias Analysis
    FunctionPass Manager
      Dominator Tree Construction
      Natural Loop Information
      Canonicalize natural loops
    CallGraph Construction
    FunctionPass Manager
      Dominator Tree Construction
      Basic Alias Analysis (stateless AA impl)
      Function Alias Analysis Results
    Call Graph SCC Pass Manager
      Deduce function attributes
      FunctionPass Manager
        Module Verifier
    Bitcode Writer
[2016-05-10 10:54:29.299387000] 0x5b7a9c0   Executing Pass 'CallGraph
Construction' on Module '/dev/null'...
[2016-05-10 10:54:29.299525000] 0x5b7a9c0   Executing Pass 'Globals Alias
Analysis' on Module '/dev/null'...
0x5b7a270     Required Analyses: CallGraph Construction, Target Library
Information
[2016-05-10 10:54:29.299628000] 0x5b7a9c0   Executing Pass 'Function Pass
Manager' on Module '/dev/null'...
[2016-05-10 10:54:29.299666000] 0x5b7a9c0   Executing Pass 'CallGraph
Construction' on Module '/dev/null'...
[2016-05-10 10:54:29.299705000] 0x5b7a9c0   Executing Pass 'Function Pass
Manager' on Module '/dev/null'...
 -*- 'Function Pass Manager' is the last user of following pass instances. Free
these instances
[2016-05-10 10:54:29.299752000] 0x5b7a9c0    Freeing Pass 'CallGraph
Construction' on Module '/dev/null'...
[2016-05-10 10:54:29.299788000] 0x5b7a9c0   Executing Pass 'CallGraph Pass
Manager' on Module '/dev/null'...
0x5b7e750     Required Analyses: CallGraph Construction
opt: ../include/llvm/PassAnalysisSupport.h:236: AnalysisType
&llvm::Pass::getAnalysisID(AnalysisID) const [AnalysisType =
llvm::CallGraphWrapperPass]: Assertion `ResultPass && "getAnalysis*() called on
an analysis that was not " "'required' by pass!"' failed.
0  opt             0x00000000024d46ee
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 46
1  opt             0x00000000024d4af9
2  opt             0x00000000024d3403 llvm::sys::RunSignalHandlers() + 131
3  opt             0x00000000024d4f3f
4  libpthread.so.0 0x00007fc450436340
5  libc.so.6       0x00007fc44f65ecc9 gsignal + 57
6  libc.so.6       0x00007fc44f6620d8 abort + 328
7  libc.so.6       0x00007fc44f657b86
8  libc.so.6       0x00007fc44f657c32
9  opt             0x000000000094e897 llvm::CallGraphWrapperPass&
llvm::Pass::getAnalysisID<llvm::CallGraphWrapperPass>(void const*) const + 199
10 opt             0x000000000094a416 llvm::CallGraphWrapperPass&
llvm::Pass::getAnalysis<llvm::CallGraphWrapperPass>() const + 86
11 opt             0x00000000017ce3a6
12 opt             0x0000000001ebc6c1
13 opt             0x0000000001ebc1bb
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 347
14 opt             0x0000000001ebcc01
llvm::legacy::PassManager::run(llvm::Module&) + 33
15 opt             0x00000000009555fb main + 9147
16 libc.so.6       0x00007fc44f649ec5 __libc_start_main + 245
17 opt             0x000000000092ad98
Stack dump:
0.      Program arguments: build-master/bin/opt -globals-aa -loop-simplify
-basiccg -aa -functionattrs /dev/null -o /dev/null -debug-pass=Details 
1.      Running pass 'CallGraph Pass Manager' on module '/dev/null'.
Aborted</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>