search for: newbb

Displaying 20 results from an estimated 247 matches for "newbb".

2010 Dec 31
3
[LLVMdev] CodeExtractor.cpp potential bug?
There might be a misuse of DominatorTree::splitBasicBlock in CodeExtractor.cpp, line 145. Header is splited into two (OldPred->NewBB). Line 145 updates the dominator tree by calling DT->splitBasicBlock(NewBB). I think it should be DT->splitBasicBlock(OldPred). When I tried to extract a code region whose header has 2 successors, my pass crashed. It was because header (or OldPred) is the block that was splited, not NewBB....
2008 Nov 19
2
[LLVMdev] Problem in CodeExtractor::severSplitPHINodes()
Hi, I found a problem in CodeExtractor::severSplitPHINodes() <CodeExtractor.cpp>. The algorithm first separates the header block into two, one containing only PHI nodes and the other containing the remaining non-PHI nodes. The variable NewBB holds the pointer to the latter half block. Later, it tries to update DT information. if (DT) DT->splitBlock(NewBB); In splitBlock, it checks if the NewBB has only one successor. I'm not sure why this is required, but it will fail on cases where NewBB has multiple successors, which are...
2013 Jan 03
2
[LLVMdev] Opt error
...(M->getContext()), NULL); } virtual bool runOnModule(Module &M) { add (&M); for(Module::iterator F = M.begin(), E = M.end(); F != E; ++F) { Function *fun = dyn_cast<Function>(F); Value *Opts[1]; BasicBlock &bb = F->getEntryBlock(), *newBB; newBB = BasicBlock::Create(M.getContext(), "initfunc", F, &bb); CallInst::Create(func, makeArrayRef(Opts, 1) , "", newBB); BranchInst::Create(&bb, newBB); } } The pass compiles fine but when I use 'opt' to instrument a simple C pr...
2008 Nov 20
0
[LLVMdev] Problem in CodeExtractor::severSplitPHINodes()
...ung wrote: > Hi, > > I found a problem in CodeExtractor::severSplitPHINodes() > <CodeExtractor.cpp>. > > The algorithm first separates the header block into two, one > containing only PHI nodes and the other containing the remaining non- > PHI nodes. The variable NewBB holds the pointer to the latter half > block. Later, it tries to update DT information. > > if (DT) > DT->splitBlock(NewBB); > > In splitBlock, it checks if the NewBB has only one successor. I'm > not sure why this is required, but it will fail on cases where New...
2011 Jan 24
0
[LLVMdev] CodeExtractor.cpp potential bug?
I forgot to cc llvmdev. Here is my original message. I'm a bit confused on DominatorTreeBase::Split() ( http://llvm.org/docs/doxygen/html/Dominators_8h_source.html#l00229) If a basic block A splits into A->B, when I call Split(), which is NewBB? A or B? The semantics shows that NewBB is the newly split basic block B. But the assertion at line 229 doesn't seem right. 00229 assert(std::distance(GraphT::child_begin(NewBB), 00230 GraphT::child_end(NewBB)) == 1 && 00231 "NewBB should h...
2008 Apr 16
2
[LLVMdev] Problems in removing a cloned instruction.
...ock, the only changes occur for the return instructions, which are replaced by ret void. BasicBlock *ProgSlicer::CloneBasicBlock(const BasicBlock *BB, DenseMap<const Value*, Value*> &ValueMap, const char *NameSuffix, Function *F) { BasicBlock *NewBB = new BasicBlock("", F); if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); bool hasCalls = false, hasDynamicAllocas = false, hasStaticAllocas = false, isTerminal =false; // Loop over all instructions, and copy them over. for (BasicBloc...
2013 Jan 03
0
[LLVMdev] Opt error
...dule(Module &M) { > > add (&M); > > for(Module::iterator F = M.begin(), E = M.end(); F != E; ++F) { > > Function *fun = dyn_cast<Function>(F); > > Value *Opts[1]; > > BasicBlock &bb = F->getEntryBlock(), *newBB; > > newBB = BasicBlock::Create(M.getContext(), "initfunc", F, &bb); > > *CallInst::Create(func, makeArrayRef(Opts, 1) , "", newBB);* But here you pass it an argument. Note you don't need makeArrayRef, you can just pass Opts. It will be magicall...
2008 Nov 20
1
[LLVMdev] Problem in CodeExtractor::severSplitPHINodes()
Hi Devang, Thanks for your reply. But if you look at the comment of BasicBlock::splitBasicBlock(), it says that "...an unconditional branch is added to the new BB, and the rest of the instructions in the BB are moved to the newBB, including the old terminator." So, the terminator of the newBB is exactly the same as the terminator of the oldBB. IF the oldBB has multiple successors, then newBB will have multiple successors. Actually there is an example for this (in "wc", the word count program): for (gotsp =...
2008 Apr 16
0
[LLVMdev] Problems in removing a cloned instruction.
...ys, so don't take what I'm saying without verifying :-) > BasicBlock *ProgSlicer::CloneBasicBlock(const BasicBlock *BB, > DenseMap<const Value*, Value*> &ValueMap, > const char *NameSuffix, Function *F) { > > BasicBlock *NewBB = new BasicBlock("", F); > if (BB->hasName()) NewBB->setName(BB->getName()+NameSuffix); > > bool hasCalls = false, hasDynamicAllocas = false, > hasStaticAllocas = false, isTerminal =false; > > // Loop over all instructions, and copy them...
2004 Dec 07
1
[LLVMdev] Question adding dummy basic blocks
...ditional branch which is from C to B. Finally, We got some problems due to PHINODE. I knew the reason, but I failed to fix it. The code is like the following if( TI->getNumSuccessors() ==1){ BasicBlock *TIBB=TI->getParent(); BasicBlock *DestBB=TI->getSuccessor(0); BasicBlock *NewBB = new BasicBlock(TIBB->getName()+DestBB->getName()+"dummy_bb",&F); new BranchInst(DestBB, NewBB); BranchInst *NewBr = new BranchInst(DestBB, NewBB, V_dummy); ReplaceInstWithInst(TI, NewBr); // the following code, we are trying to change value of PHINODE, and trying...
2008 Apr 22
1
Oracle Install
We have CentOS Forums here: http://www.centos.org/modules/newbb/ Akemi Yagi (toracat on IRC) and Fabian Arrotin (arrfab on IRC) are the Forum Moderators. There are a lot of posts there that I find helpful when doing web searches ... but we could use more people answering questions there. Also, we specifically need some people to answer questions concerning...
2013 Jun 26
0
[LLVMdev] Can NewBB have more than one successors in DT.splitBlock method?
In Dominators.h, the splitBlock(NewBB) method assumes that the NewBB has only one successor. I don't see why it cant have more than one successors. Is there a reason? Or it's just assumed that way to simplify things? Thanks a lot. -- Wei Dang -------------- next part -------------- An HTML attachment was scrubbed... URL: &lt...
2008 Apr 21
1
CentOS Forums
We have CentOS Forums here: http://www.centos.org/modules/newbb/ Akemi Yagi (toracat on IRC) and Fabian Arrotin (arrfab on IRC) are the Forum Moderators. There are a lot of posts there that I find helpful when doing web searches ... but we could use more people answering questions there. Also, we specifically need some people to answer questions concerning...
2009 May 11
7
Contribute request
Hello! I was advised by the forum moderator to ask for contribution: http://www.centos.org/modules/newbb/viewtopic.php?topic_id=20223&forum=38&post_id=76546#forumpost76546 My wiki login is VladislavRastrusny I would like to contribute for Tips & Tricks section with a small automated script to install webmin repository data and webmin itself from here: http://www.centos.org/modules/newbb...
2020 Mar 13
2
How to simply split MachineBasicBlock ?
Hi I am developing some machine function pass. I want to split MachineBasicBlcok when I find some specific machine instruction. But I don't insert or delete any machine instruction. I just "simply" , "purely" split the MachineBasicBlcok. (So, I stole the idea from ARM64BranchRelaxation::splitBlockBeforeInstr.) This is my code : // I would pass call instruction to
2011 Jan 03
0
[LLVMdev] CodeExtractor.cpp potential bug?
On Dec 31, 2010, at 11:20 AM, Vu Le wrote: > There might be a misuse of DominatorTree::splitBasicBlock in CodeExtractor.cpp, line 145. > Header is splited into two (OldPred->NewBB). > > Line 145 updates the dominator tree by calling DT->splitBasicBlock(NewBB). > I think it should be DT->splitBasicBlock(OldPred). > > When I tried to extract a code region whose header has 2 successors, my pass crashed. > It was because header (or OldPred) is the block...
2010 Sep 23
0
Wine run "Windows Mobile 6 SDK" successfully !
First, download it. [Image: http://www.linux-ren.org/uploads/newbb/keditor_file/20100911180933_83584.jpg ] [Image: http://www.linux-ren.org/uploads/newbb/keditor_file/20100911180929_24253.jpg ] Install it Find and run it: [Image: http://www.linux-ren.org/uploads/newbb/keditor_file/20100911180949_81778.jpg ] [Image: http://www.linux-ren.org/uploads/newbb/kedito...
2013 Mar 02
2
[LLVMdev] Question about method CodeExtractor::severSplitPHINodes
...and the code only checks the first one. I don't quite get it. What if the first PHI node contains only incoming values from inside the region, while subsequent PHI nodes have inputs from outside? Is that possible? 2. Oddly, later in the code, it creates a corresponding new PHI node in the newBB for each PHI in the old header block. And then it adds the old PHI node as an incoming value to the newPHI node. This is Okay for the first PHI node of original header as it's been proved to have multiple inputs from outside the region earlier. But it does not make sense for subsequent...
2005 May 11
3
[LLVMdev] Question About inserting Instruction?
...he legal instructions to dummy/dead BB, however, I really want to insert some illegal instructions/any thing into those BB since those instructions have no chance to be executed. I am not sure if it could be done or not. For example, Correct way: Instruction *NewInst = new LoadInst(...); NewBB->getInstList().push_back(NewInst); what I need just put some junk data in the BB, not instructions. From assemble code level, it looks like the following, a piece of code from correct instructions by disassemble object code. :00000009 0533709283 add eax, 83927033 :0000000E 0...
2010 Oct 24
4
VMWare 4.1 and CentOS
Is there any known issues when trying to run CentOS (x86 or x64) on a fresh install of vmware 4.1? Details as to why I am asking are here in the CentOS forums: https://www.centos.org/modules/newbb/viewtopic.php?viewmode=flat&order=DESC&topic_id=28521&forum=39 Thanks! -Drew -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.centos.org/pipermail/centos-virt/attachments/20101024/4183d572/attachment-0005.html>