Hello everyone: I have a little question about the second argument *action* of verifyFunction. In docs: *Enumerator: * *AbortProcessAction* verifyModule will print to stderr and abort() *PrintMessageAction* verifyModule will print to stderr and return true *ReturnStatusAction* verifyModule will just return true But it still abort when I pass PrintMessageAction/ReturnStatusAction to function. Log: Basic Block in function 'jitmain' does not have terminator! label %load_store LLVM ERROR: Broken module, no Basic Block terminator! Is there something wrong? Best regards, -myesis -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120611/058f832b/attachment.html>
Hi Xiu, The Verifier pass runs a PreVerifier pass, which does not honour the action argument, and will always abort on a broken module, (Line 106, lib/VMCore/Verifier.cpp) Perhaps you should file a bug against this, to allow you to not abort if you so wish. Joey On 11 June 2012 09:41, Guowei Xu <myesis at gmail.com> wrote:> Hello everyone: > > I have a little question about the second argument *action* of > verifyFunction. > > In docs: > > *Enumerator: * *AbortProcessAction* > > verifyModule will print to stderr and abort() > *PrintMessageAction* > > verifyModule will print to stderr and return true > *ReturnStatusAction* > > verifyModule will just return true > > But it still abort when I pass > PrintMessageAction/ReturnStatusAction to function. > > Log: > Basic Block in function 'jitmain' does not have terminator! > label %load_store > LLVM ERROR: Broken module, no Basic Block terminator! > > > Is there something wrong? > > > Best regards, > -myesis > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120611/1b051e18/attachment.html>
On Mon, Jun 11, 2012 at 5:44 PM, Joey Gouly <joel.gouly at gmail.com> wrote:> Hi Xiu, > > The Verifier pass runs a PreVerifier pass, which does not honour the > action argument, > and will always abort on a broken module, (Line 106, > lib/VMCore/Verifier.cpp) >So the argument can not be used as described as the official document? I just want to make sure of that and probably we can find another way to deal with broken module. Thanks MK> > Perhaps you should file a bug against this, to allow you to not abort if > you so wish. > > Joey > > On 11 June 2012 09:41, Guowei Xu <myesis at gmail.com> wrote: > >> Hello everyone: >> >> I have a little question about the second argument *action* of >> verifyFunction. >> >> In docs: >> >> *Enumerator: * *AbortProcessAction* >> >> verifyModule will print to stderr and abort() >> *PrintMessageAction* >> >> verifyModule will print to stderr and return true >> *ReturnStatusAction* >> >> verifyModule will just return true >> >> But it still abort when I pass >> PrintMessageAction/ReturnStatusAction to function. >> >> Log: >> Basic Block in function 'jitmain' does not have terminator! >> label %load_store >> LLVM ERROR: Broken module, no Basic Block terminator! >> >> >> Is there something wrong? >> >> >> Best regards, >> -myesis >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >> >> > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- www.skyeye.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120612/0ab2f5ba/attachment.html>