[LLVMbugs] [Bug 1364] NEW: Assertion failure in PassManager
    bugzilla-daemon at cs.uiuc.edu 
    bugzilla-daemon at cs.uiuc.edu
       
    Fri Apr 27 22:27:31 PDT 2007
    
    
  
http://llvm.org/bugs/show_bug.cgi?id=1364
           Summary: Assertion failure in PassManager
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Core LLVM classes
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: babic.domagoj at gmail.com
The following piece of code:
#include "llvm/Pass.h"
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/PostDominators.h"
using namespace llvm;
class PathExpressions : public FunctionPass {
public:
    virtual void getAnalsisUsage(AnalysisUsage &AU) const {
        AU.addRequired<DominatorTree>();
        AU.addRequired<PostDominatorTree>();
    }
    
    virtual bool runOnFunction(Function &F) {
        DominatorTree &DT = getAnalysis<DominatorTree>();
        PostDominatorTree &PDT = getAnalysis<PostDominatorTree>();
        return false;
    }
};
namespace {
RegisterPass<PathExpressions> P("pathexpr", "Compute path expressions.");
} // End of anonymous namespace
-----
when compiled as a loadable module triggers an assertion:
opt -load=out.so -disable-output -disable-verify -debug-pass=Details -pathexpr
anybc.bc
Pass Arguments:  -pathexpr
Target Data Layout
  ModulePass Manager
    FunctionPass Manager
      Compute path expressions.
--      Compute path expressions.
0x114f2b0   Executing Pass 'Function Pass Manager' on Module 'anybc.bc...
0xe32bf0     Executing Pass 'Compute path expressions.' on Function
'control_printf...
opt: /work/projects/llvm/include/llvm/PassAnalysisSupport.h:191: AnalysisType&
llvm::Pass::getAnalysisID(const llvm::PassInfo*) const [with AnalysisType =
llvm::DominatorTree]: Assertion `ResultPass && "getAnalysis*() called on an
analysis that was not " "'required' by pass!"' failed.
opt((anonymous namespace)::PrintStackTrace()+0x17)[0xa20ba7]
opt((anonymous namespace)::SignalHandler(int)+0x10e)[0xa20e76]
Domagoj
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
    
    
More information about the llvm-bugs
mailing list