Lines Matching full:recursion
10 // This file transforms calls of the current function (self recursion) followed
36 // evaluated each time through the tail recursion. Safely keeping allocas
39 // 2. Tail recursion is only performed if the call immediately precedes the
268 // part of the recursion.
329 /// transformed using accumulator recursion elimination, return the constant
415 // If we are introducing accumulator recursion to eliminate operations after
418 // then we actually perform accumulator recursion elimination instead of
419 // simple tail recursion elimination. If the operation is an LLVM instruction
424 // special case of accumulator recursion, the operation being "return C".
438 // using accumulator recursion elimination. Check to see if this is the
442 // Yes, this is accumulator recursion. Remember which instruction
446 return false; // Otherwise, we cannot eliminate the tail recursion!
453 // accumulator recursion variable eliminated.
523 // If we are introducing an accumulator variable to eliminate the recursion,
524 // do so now. Note that we _know_ that no subsequent tail recursion
526 // accumulator recursion predicate is set up.
537 // Loop over all of the predecessors of the tail recursion block. For the
556 // Next, rewrite the accumulator recursion instruction so that it does not