search for: visitinstruction

Displaying 20 results from an estimated 23 matches for "visitinstruction".

2010 Jun 25
1
[LLVMdev] redundant checking of terminator in Verifier?
Hi, The checking about that if this is a terminator that it is at the end of the block has been applied twice (bellow). One is at Verifier::visitInstruction, and the other is at Verifier::visitTerminatorInst. Since visitInstruction is called when visiting each instruction, the checking at visitTerminatorInst seems redundant to me. Did I miss any case? void Verifier::visitInstruction(Instruction &I) { ... line 1356: // Verify that if this is a te...
2006 May 31
1
[LLVMdev] InstVisitor: RetType
Hi, the docs for InstVisitor say that if RetType != void, one has to override visitInstruction. What is the reason for that? It's valid to define visitInstruction like that: RetTy visitInstruction(Instruction &I) { return RetTy(); } so assuming RetTy has a sensible default constructor, user won't need to override visitInstruction. Note that the above will work when RetTy ==...
2019 Mar 04
2
Interpreter improvement
Hi, I going through the Interpreter class source code and I think making almost all the visit methods (maybe not visitInstruction yet) would really help anybody that wants to create any sort of tracer or similar. Would be a patch in this case worthy? Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190304/01428165/attachment.html...
2019 Mar 04
2
Interpreter improvement
...l rewrite from ground up IMHO > > Zhang > > > 在 2019年3月4日,08:06,Alberto Barbaro via llvm-dev <llvm-dev at lists.llvm.org> > 写道: > > > > Hi, > > I going through the Interpreter class source code and I think making > almost all the visit methods (maybe not visitInstruction yet) would really > help anybody that wants to create any sort of tracer or similar. Would be a > patch in this case worthy? > > > > Thanks > > _______________________________________________ > > LLVM Developers mailing list > > llvm-dev at lists.llvm.org > &g...
2010 Mar 17
1
[LLVMdev] is structtyp a firstclass typ?
Hi LLVM, In lib/VMCare/Verifier.cpp::visitInstruction, we have such code 1287 // Check that the return value of the instruction is either void or a legal 1288 // value type. 1289 Assert1(I.getType() == Type::getVoidTy(I.getContext()) || 1290 I.getType()->isFirstClassType() 1291 || ((isa<CallInst>(I) || isa<Invoke...
2008 Apr 18
1
[LLVMdev] Disabling Verifier
...I've noticed that the funcionality in the Verifier.cpp significantely slows down the compilation, especially for big basic blocks. In this case the llvm::DominatorTree::dominates() seems to consume a lot of time. Some debugging has shown that it is the Assert2() macro usage in the Verifier::visitInstruction(), arount this place: // Definition must dominate use unless use is unreachable! Assert2(DT->dominates(Op, &I) || !DT->dominates(&BB->getParent()->getEntryBlock(), BB), "Instruction does not dominate all uses!", Op, &I); Question: Is it po...
2018 Jul 06
2
Verify that we only get loop metadata on latches
...to simply forbid having loop metadata on branches that aren't latches, by adding such checks in the Verifier? I played around a little bit with teaching the IR Verifier in opt to check that !llvm.loop only is put in loop latches. Something like this might do the trick, when added to Verifier::visitInstruction in lib/IR/Verifier.cpp: ``` #include "llvm/Analysis/LoopInfo.h" if (I.getMetadata(LLVMContext::MD_loop)) { // FIXME: Is SwitchInst also allowed? Assert(isa<BranchInst>(I), "llvm.loop only expected on branches", &I); LoopInfo LI; LI.analyze(DT); Loop* L = LI...
2008 May 25
3
[LLVMdev] A quick update on FreeBSD support
...tBranchInst (this=0x7fffd678, BI=@0x2006714) at / nfs/llvm/src/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:2461 #8 0x01c3fca4 in visitBr (this=0x7fffd678, I=@0x2006714) at Instruction.def:98 #9 0x01c4014c in visit (this=0x7fffd678, I=@0x2006714) at Instruction.def:98 #10 0x01c40bbc in visitInstruction (this=0x2006790, I=0x2006714, DT=0x2029800) at /nfs/llvm/src/llvm/lib/Transforms/Scalar/ PredicateSimplifier.cpp:2390 #11 0x01c40d5c in visitBasicBlock (this=0x2006790, Node=0x2029800) at / nfs/llvm/src/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:2334 #12 0x01c411cc in runOnFunction (thi...
2008 Mar 04
0
[LLVMdev] Deleting Instructions after Intrinsic Creation
...ous namespace)::Verifier::WriteValue (this=0x8794f18, V=0x877b488) at Verifier.cpp:272 #6 0x0863d139 in (anonymous namespace)::Verifier::CheckFailed (this=0x8794f18, Message=@0xbfa1a878, V1=0x877b488, V2=0x0, V3=0x0, V4=0x0) at Verifier.cpp:292 #7 0x08636ba2 in (anonymous namespace)::Verifier::visitInstruction (this=0x8794f18, I=@0x877b488) at Verifier.cpp:1077 #8 0x08637807 in (anonymous namespace)::Verifier::visitAllocationInst (this=0x8794f18, AI=@0x877b488) at Verifier.cpp:1037 #9 0x0863d75e in llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visitAllocaInst (this=0x8794f18, I=@0x...
2008 Mar 04
1
[LLVMdev] Deleting Instructions after Intrinsic Creation
...nymous namespace)::Verifier::WriteValue (this=0x8794f18, V=0x877b488) at Verifier.cpp:272 #6 0x0863d139 in (anonymous namespace)::Verifier::CheckFailed (this=0x8794f18, Message=@0xbfa1a878, V1=0x877b488, V2=0x0, V3=0x0, V4=0x0) at Verifier.cpp:292 #7 0x08636ba2 in (anonymous namespace)::Verifier::visitInstruction (this=0x8794f18, I=@0x877b488) at Verifier.cpp:1077 #8 0x08637807 in (anonymous namespace)::Verifier::visitAllocationInst (this=0x8794f18, AI=@0x877b488) at Verifier.cpp:1037 #9 0x0863d75e in llvm::InstVisitor<(anonymous namespace)::Verifier, void>::visitAllocaInst (this=0x8794f18, I=@0x877...
2013 Nov 18
2
[LLVMdev] Debug Info Slowing Things Down?!
...29 frame #64: 0x000000010c5141e2 clang`llvm::DebugInfoFinder::processScope(llvm::DIScope) + 306 frame #65: 0x000000010c514cdb clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, llvm::DILocation) + 91 frame #66: 0x000000010c5af3d6 clang`(anonymous namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 frame #67: 0x000000010c5b0bc1 clang`(anonymous namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 frame #68: 0x000000010c5af949 clang`(anonymous namespace)::Verifier::visitCallInst(llvm::CallInst&) + 73 frame #69: 0x000000010c5adbea clang`llvm...
2013 Nov 18
0
[LLVMdev] Debug Info Slowing Things Down?!
...rame #64: 0x000000010c5141e2 clang`llvm::DebugInfoFinder::processScope(llvm::DIScope) + 306 > frame #65: 0x000000010c514cdb clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, llvm::DILocation) + 91 > frame #66: 0x000000010c5af3d6 clang`(anonymous namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 > frame #67: 0x000000010c5b0bc1 clang`(anonymous namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 > frame #68: 0x000000010c5af949 clang`(anonymous namespace)::Verifier::visitCallInst(llvm::CallInst&) + 73 > frame #69: 0x000000010c5adbe...
2013 Nov 18
3
[LLVMdev] Debug Info Slowing Things Down?!
...64: 0x000000010c5141e2 clang`llvm::DebugInfoFinder::processScope(llvm::DIScope) + 306 >> frame #65: 0x000000010c514cdb clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, llvm::DILocation) + 91 >> frame #66: 0x000000010c5af3d6 clang`(anonymous namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 >> frame #67: 0x000000010c5b0bc1 clang`(anonymous namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 >> frame #68: 0x000000010c5af949 clang`(anonymous namespace)::Verifier::visitCallInst(llvm::CallInst&) + 73 >> frame #69: 0x000000...
2008 May 25
0
[LLVMdev] A quick update on FreeBSD support
On May 24, 2008, at 4:25 PM, Marcel Moolenaar wrote: > On May 24, 2008, at 12:12 PM, Bill Wendling wrote: > >> Let us know if you would like extra eyes on the two PPC failures. >> Many >> of us have a lot of experience with C++. :-) Do you know where these >> allocations are? > > I don't mind if people help out, so here's some information: > Could
2013 Nov 18
0
[LLVMdev] Debug Info Slowing Things Down?!
...ang`llvm::DebugInfoFinder::processScope(llvm::DIScope) + 306 > >> frame #65: 0x000000010c514cdb > clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, > llvm::DILocation) + 91 > >> frame #66: 0x000000010c5af3d6 clang`(anonymous > namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 > >> frame #67: 0x000000010c5b0bc1 clang`(anonymous > namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 > >> frame #68: 0x000000010c5af949 clang`(anonymous > namespace)::Verifier::visitCallInst(llvm::CallInst&) + 73 > >&...
2013 Nov 18
2
[LLVMdev] Debug Info Slowing Things Down?!
...IScope) + 306 >> >> frame #65: 0x000000010c514cdb >> >> clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, >> >> llvm::DILocation) + 91 >> >> frame #66: 0x000000010c5af3d6 clang`(anonymous >> >> namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 >> >> frame #67: 0x000000010c5b0bc1 clang`(anonymous >> >> namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 >> >> frame #68: 0x000000010c5af949 clang`(anonymous >> >> namespace)::Verifier::visitCallInst(ll...
2008 May 26
0
[LLVMdev] A quick update on FreeBSD support
...=@0x2006714) > at / > nfs/llvm/src/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:2461 > #8 0x01c3fca4 in visitBr (this=0x7fffd678, I=@0x2006714) at > Instruction.def:98 > #9 0x01c4014c in visit (this=0x7fffd678, I=@0x2006714) at > Instruction.def:98 > #10 0x01c40bbc in visitInstruction (this=0x2006790, I=0x2006714, > DT=0x2029800) at /nfs/llvm/src/llvm/lib/Transforms/Scalar/ > PredicateSimplifier.cpp:2390 > #11 0x01c40d5c in visitBasicBlock (this=0x2006790, Node=0x2029800) > at / > nfs/llvm/src/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp:2334 > #12 0x01...
2013 Nov 18
0
[LLVMdev] Debug Info Slowing Things Down?!
...t; >> frame #65: 0x000000010c514cdb > >> >> clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, > >> >> llvm::DILocation) + 91 > >> >> frame #66: 0x000000010c5af3d6 clang`(anonymous > >> >> namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 > >> >> frame #67: 0x000000010c5b0bc1 clang`(anonymous > >> >> namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 > >> >> frame #68: 0x000000010c5af949 clang`(anonymous > >> >> namespace)::Verifi...
2016 Dec 31
0
SCCP is not always correct in presence of undef (+ proposed fix)
On Fri, Dec 30, 2016 at 9:27 AM, Davide Italiano via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi. > I'm sending this email to -dev as this may be of interest of > many/people may have opinions/want to try the change before it goes in > to report problems. > I've been recently working on a patch to integrate `undef` in the SCCP > solver, in the hope of fixing
2013 Nov 18
1
[LLVMdev] Debug Info Slowing Things Down?!
...ame #65: 0x000000010c514cdb >> >> >> clang`llvm::DebugInfoFinder::processLocation(llvm::Module const&, >> >> >> llvm::DILocation) + 91 >> >> >> frame #66: 0x000000010c5af3d6 clang`(anonymous >> >> >> namespace)::Verifier::visitInstruction(llvm::Instruction&) + 2278 >> >> >> frame #67: 0x000000010c5b0bc1 clang`(anonymous >> >> >> namespace)::Verifier::VerifyCallSite(llvm::CallSite) + 1489 >> >> >> frame #68: 0x000000010c5af949 clang`(anonymous >> >> >> na...