1. SelectionDAGISel::runOnMachineFunction
    1. CurDAG->init
    2. SDB->init
    3. SelectAllBasicBlocks
      1. LowerArguments
        1. LowerFormalArguments
      2. SelectBasicBlock
        1. SDB->visit
          1. visitRet
          2. LowerReturn
          3. visitCall
          4. LowerCallTo
          5. LowerCall
        2. CurDAG->setRoot
        3. CodeGenAndEmitDAG
          1. CurDAG->Combine
          2. CurDAG->LegalizeTypes
          3. CurDAG->Combine
          4. CurDAG->LegalizeVectors
          5. CurDAG->LegalizeTypes
          6. CurDAG->Combine
          7. CurDAG->Legalize
          8. LegalizeDAG
          9. DAG.AssignTopologicalOrder
          10. LegalizeOp
          11. TargetLowering::Legal
          12. TargetLowering::Custom
          13. LowerOperation
          14. TargetLowering::Expand
          15. ExpandNode
          16. TargetLowering::Promote
          17. PromoteNode
          18. DAG.RemoveDeadNodes
          19. CurDAG->Combine
          20. ComputeLiveOutVRegInfo
          21. DoInstructionSelection
          22. Select
          23. SelectCode
          24. SelectCodeCommon
          25. CheckComplexPattern
          26. addrRegImm
          27. Scheduler->Run
          28. FuncInfo->MBB = Scheduler->EmitSchedule
          29. EmitNode
          30. EmitMachineNode
          31. CurDAG->clear
  2. PEI::runOnMachineFunction
    1. calculateCallsInformation
      1. canSimplifyCallFramePseudos
        1. hasReservedCallFrame
      2. eliminateCallFramePseudoInstr
    2. TFI->processFunctionBeforeCalleeSavedScan
      1. processFunctionBeforeCalleeSavedScan
    3. calculateCalleeSavedRegisters
    4. calculateSets
    5. insertCSRSpillsAndRestores
      1. storeRegToStackSlot
      2. loadRegFromStackSlot
    6. TFI->processFunctionBeforeFrameFinalized
    7. calculateFrameObjectOffsets
      1. hasReservedCallFrame
    8. insertPrologEpilogCode
      1. emitPrologue
      2. emitEpilogue
    9. replaceFrameIndices
    10. scavengeFrameVirtualRegs
  3. ExpandPostRA::runOnMachineFunction
    1. TII->expandPostRAPseudo
      1. expandPostRAPseudo
  4. MipsAsmPrinter::runOnMachineFunction
    1. AsmPrinter::runOnMachineFunction
      1. EmitFunctionHeader
        1. SectionForGlobal
          1. SelectSectionForGlobal
      2. EmitFunctionBody
        1. EmitInstruction
          1. Lower
          2. LowerOperand
          3. LowerSymbolOperand