Home | History | Annotate | Download | only in Utils

Lines Matching refs:Header

83     void severSplitPHINodes(BasicBlock *&Header);
89 BasicBlock *header,
106 void CodeExtractor::severSplitPHINodes(BasicBlock *&Header) {
110 if (Header != &Header->getParent()->getEntryBlock()) {
111 PHINode *PN = dyn_cast<PHINode>(Header->begin());
114 // If the header node contains any PHI nodes, check to see if there is more
116 // header block into two.
128 // Otherwise, we need to split the header block into two pieces: one
132 BasicBlock::iterator AfterPHIs = Header->getFirstNonPHI();
133 BasicBlock *NewBB = Header->splitBasicBlock(AfterPHIs,
134 Header->getName()+".ce");
137 // header of the region.
138 BasicBlock *OldPred = Header;
141 Header = NewBB;
149 // region to go to the new header block instead of the old header block.
245 BasicBlock *header,
256 case 1: RetTy = Type::getVoidTy(header->getContext()); break;
257 case 2: RetTy = Type::getInt1Ty(header->getContext()); break;
258 default: RetTy = Type::getInt16Ty(header->getContext()); break;
300 header->getName(), M);
316 Idx[0] = Constant::getNullValue(Type::getInt32Ty(header->getContext()));
317 Idx[1] = ConstantInt::get(Type::getInt32Ty(header->getContext()), i);
346 std::vector<User*> Users(header->use_begin(), header->use_end());
353 TI->replaceUsesOfWith(header, newHeader);
373 /// the call instruction, splitting any PHI nodes in the header block as
672 // Assumption: this is a single-entry code region, and the header is the first
674 BasicBlock *header = code[0];
684 severSplitPHINodes(header);
690 Function *oldFunction = header->getParent();
693 BasicBlock *codeReplacer = BasicBlock::Create(header->getContext(),
695 header);
699 BasicBlock *newFuncRoot = BasicBlock::Create(header->getContext(),
701 newFuncRoot->getInstList().push_back(BranchInst::Create(header));
707 Function *newFunction = constructFunction(inputs, outputs, header,
716 // Loop over all of the PHI nodes in the header block, and change any
718 for (BasicBlock::iterator I = header->begin(); isa<PHINode>(I); ++I) {