Lines Matching refs:FP

47 //        SP during function's                 FP during function's     |
52 // | called functions | local objects | local objects |FP|
62 // ble using the SP, and the incoming arguments are accessible using the FP.
64 // the FP.
73 // placed between the FP and the local objects, thus preventing the use of the
74 // FP to access the local objects. At the same time, the variable-sized objects
80 // pointer). The AP will be equal to "FP-p", where "p" is the smallest pad
86 // to the FP. In the presence of dynamic allocation and local alignment, such
87 // objects can only be accessed through the FP.
90 // FP --+
94 // stack frame | (aligned) | | (CSR, spills, etc.) |FP|
632 // Define CFA via an offset from the value of FP.
636 // | FP | LR | increasing addresses -->
639 // +-- New FP (after allocframe)
729 // By default we want to use SP (since it's always there). FP requires
731 // Fixed and preallocated objects need FP if the distance from them to
839 unsigned SP = HRI.getStackRegister(), FP = HRI.getFrameRegister();
846 // Use FP at -O0, except when there are objects with extra alignment.
848 // which will make it impossible to use FP to access objects located
854 // so FP must be used to access them.
865 // If FP was picked, then there had better be FP.
869 // Having FP implies allocframe. Allocframe will store extra 8 bytes:
870 // FP/LR. If the base register is used to access an object across these
880 // <local objects> |FP/LR| <input arguments> addresses
883 // SP/AP point --+ +-- FP points here (**)
885 // this side of FP/LR
887 // (*) See LowerFormalArguments. The FP/LR is assumed to be present.
888 // (**) *FP == old-FP. FP+0..7 are the bytes of FP/LR.
890 // The lowering assumes that FP/LR is present, and so the offsets of
891 // the formal arguments start at 8. If FP/LR is not there we need to
897 FrameReg = FP;
903 // Calculate the actual offset in the instruction. If there is no FP
1018 // they can be accessed through FP. Otherwise they would have to be accessed