<br><div class="gmail_quote"><div class="gmail_quote">Hi,<div class="im"><br><br>I am trying to run a profiling pass for each Machine Basic Block so that I can get execution count for them, but I am getting assertion error when I run it through clang. I have used MachineProfileInfo and Profile estimator as dependent passes over my pass. I am sending you the code for my pass. the error says:<br>



void llvm::PMTopLevelManager::schedulePass(llvm::Pass*): Assertion `PI && "Expected required passes to be initialized"' failed.<br><br>In <b>ARMTargetMachine.cpp, function bool ARMPassConfig::addPreEmitPass() </b> the following has been added<br>

<br><b>PassRegistry &Registry=*PassRegistry::getPassRegistry();<br>initializeARMInstrStatsPass(Registry);</b><br><br><br>The program is executed with the following command :<br><br><b>clang -march=armv7-a -mfloat-abi=soft -ccc-host-triple arm-elf -integrated-as simple.c -c -o simple.o</b><br>

<br>I am attaching the code for the pass. Can you help me out? also can you suggest better ways for getting execution count of loops corresponding to each machine basic block?<br>

<br clear="all">Thanks and Regards,<br>Ranajoy Pal<br>
</div></div><br>
</div><br>