Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Function

70     bool runOnFunction(Function &F);
78 bool setupEntryBlockAndCallSites(Function &F);
79 Value *setupFunctionContext(Function &F, ArrayRef<LandingPadInst*> LPads);
80 void lowerIncomingArguments(Function &F);
81 void lowerAcrossUnwindEdges(Function &F, ArrayRef<InvokeInst*> Invokes);
88 bool insertSjLjEHSupport(Function &F);
101 // Build the function context structure.
139 /// function context
241 /// FIXME: Move this function to a common utility file (Local.cpp?) so
261 Function *F = Invokes.back()->getParent()->getParent();
270 for (Function::arg_iterator AI = F->arg_begin(), E = F->arg_end();
302 for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB)
368 static Instruction *CreateLandingPadLoad(Function &F, Value *ExnAddr,
387 static void ReplaceLandingPadVal(Function &F, Instruction *Inst, Value *ExnAddr,
404 bool SjLjEHPass::insertSjLjEHSupport(Function &F) {
411 for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
414 // function.
435 // function to use. For SJLJ, we always use the same personality for the
436 // whole function, not on a per-selector basis.
442 for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
480 // function. Without a personality function, we can't process exceptions.
484 // function onto the global unwind stack.
486 // First thing we need to do is scan the whole function for values that are
495 for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB) {
505 // that needs to be restored on all exits from the function. This is an
536 // the selector value returned in the function context. We leave the selector
565 // we're not handling an exception and just register the function context and
590 // Populate the Function Context
592 // 2. Personality function address
660 // Register the function context and make sure it's known to not throw
672 // -1). Skip the entry block, as prior to then, no function context has been
673 // created for this function and any unexpected exceptions thrown will go
676 for (Function::iterator BB = F.begin(), E = F.end(); ++BB != E;) {
706 // Finally, for any returns from this function, if this function contains an
707 // invoke, add a call to unregister the function context.
714 /// setupFunctionContext - Allocate the function context on the stack and fill
717 setupFunctionContext(Function &F, ArrayRef<LandingPadInst*> LPads) {
721 // that needs to be restored on all exits from the function. This is an alloca
728 // Fill in the function context structure.
773 // Personality function
798 void SjLjEHPass::lowerIncomingArguments(Function &F) {
804 for (Function::arg_iterator
842 void SjLjEHPass::lowerAcrossUnwindEdges(Function &F,
845 for (Function::iterator
914 /// the function context and marking the call sites with the appropriate
916 bool SjLjEHPass::setupEntryBlockAndCallSites(Function &F) {
922 for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
973 // Store a pointer to the function context so that the back-end will know
994 // -1). Skip the entry block, as prior to then, no function context has been
995 // created for this function and any unexpected exceptions thrown will go
998 for (Function::iterator BB = F.begin(), E = F.end(); ++BB != E;)
1007 // Register the function context and make sure it's known to not throw
1012 // Finally, for any returns from this function, if this function contains an
1013 // invoke, add a call to unregister the function context.
1020 bool SjLjEHPass::runOnFunction(Function &F) {