Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Fixup

234 /// fixups than the fixup depth on the innermost normal cleanup, or
236 /// wrong place. We *could* try to shrink fixup depths, but that's
245 assert(BranchFixups.size() >= MinSize && "fixup stack out of order");
284 // Skip this fixup if its destination isn't set.
285 BranchFixup &Fixup = CGF.EHStack.getBranchFixup(I);
286 if (Fixup.Destination == 0) continue;
294 // i.e. where there's an unresolved fixup inside a single cleanup
296 if (Fixup.OptimisticBranchBlock == 0) {
297 new llvm::StoreInst(CGF.Builder.getInt32(Fixup.DestinationIndex),
299 Fixup.InitialBranch);
300 Fixup.InitialBranch->setSuccessor(0, CleanupEntry);
304 if (!CasesAdded.insert(Fixup.Destination)) continue;
306 Switch->addCase(CGF.Builder.getInt32(Fixup.DestinationIndex),
307 Fixup.Destination);
346 // Skip this fixup if its destination doesn't match.
347 BranchFixup &Fixup = EHStack.getBranchFixup(I);
348 if (Fixup.Destination != Block) continue;
350 Fixup.Destination = 0;
355 llvm::BasicBlock *BranchBB = Fixup.OptimisticBranchBlock;
366 Switch->addCase(Builder.getInt32(Fixup.DestinationIndex), Block);
490 /// Optimistic fixup branches can cause these blocks to come into
509 // The only uses should be fixup switches.
604 // dead optimistic fixup branches.
777 BranchFixup &Fixup = EHStack.getBranchFixup(I);
778 if (!Fixup.Destination) continue;
779 if (!Fixup.OptimisticBranchBlock) {
780 new llvm::StoreInst(Builder.getInt32(Fixup.DestinationIndex),
782 Fixup.InitialBranch);
783 Fixup.InitialBranch->setSuccessor(0, NormalEntry);
785 Fixup.OptimisticBranchBlock = NormalExit;
880 /// be known, in which case this will require a fixup.
907 // to the current cleanup scope as a branch fixup.
909 BranchFixup &Fixup = EHStack.addBranchFixup();
910 Fixup.Destination = Dest.getBlock();
911 Fixup.DestinationIndex = Dest.getDestIndex();
912 Fixup.InitialBranch = BI;
913 Fixup.OptimisticBranchBlock = 0;