Lines Matching refs:fp
28 caller's fp | saved lr | 1
30 | save fp | 3
47 callee's fp | saved lr |
49 | save fp |
61 (* Calculate the offset based on fp of the temporaries bebing read in a callee *)
83 SOME k => IR.MEM (IR.fromAlias IR.fp, ~2 - k) (* inputs *)
86 SOME j => IR.MEM (IR.fromAlias IR.fp, 3 + j + numSavedRegs) (* existing local variable *)
90 IR.MEM (IR.fromAlias IR.fp, 3 + (!i - 1) + numSavedRegs) (* local variables *)
141 STMFA sp!, {..., fp,ip,lr,pc}
142 SUB fp, ip, #1
149 src = rs @ [IR.REG (IR.fromAlias IR.fp), IR.REG (IR.fromAlias IR.ip),
152 {oper = IR.msub, dst = [IR.REG (IR.fromAlias IR.fp)], src = [IR.REG (IR.fromAlias IR.ip), IR.WCONST (Arbint.fromInt 4)]},
157 ADD sp, fp, 3 + #modified registers (* Skip saved lr, sp, fp and modified registers *)
158 LDMFD sp, {..., fp,sp,pc}
163 {oper = IR.msub, dst = [IR.REG (IR.fromAlias IR.sp)], src = [IR.REG (IR.fromAlias IR.fp), IR.WCONST (Arbint.fromInt (4* (3 + length rs)))]},
164 {oper = IR.mpop, dst = rs @ [IR.REG (IR.fromAlias IR.fp), IR.REG (IR.fromAlias IR.sp), IR.REG (IR.fromAlias IR.pc)],
367 src = [IR.REG (IR.fromAlias IR.fp), IR.WCONST (Arbint.fromInt (4* sOffset))]