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 *)
138 STMFA sp!, {..., fp,ip,lr,pc}
139 SUB fp, ip, #1
146 src = rs @ [IR.REG (IR.fromAlias IR.fp), IR.REG (IR.fromAlias IR.ip),
149 {oper = IR.msub, dst = [IR.REG (IR.fromAlias IR.fp)], src = [IR.REG (IR.fromAlias IR.ip), IR.WCONST Arbint.one]},
154 ADD sp, fp, 3 + #modified registers (* Skip saved lr, sp, fp and modified registers *)
155 LDMFD sp, {..., fp,sp,pc}
160 {oper = IR.msub, dst = [IR.REG (IR.fromAlias IR.sp)], src = [IR.REG (IR.fromAlias IR.fp), IR.WCONST (Arbint.fromInt (3 + length rs))]},
161 {oper = IR.mpop, dst = rs @ [IR.REG (IR.fromAlias IR.fp), IR.REG (IR.fromAlias IR.sp), IR.REG (IR.fromAlias IR.pc)],
364 src = [IR.REG (IR.fromAlias IR.fp), IR.WCONST (Arbint.fromInt sOffset)]