是否-fomit帧指针* *总是忽略了FP? [英] Does -fomit-frame-pointer *always* omit the fp?

查看:266
本文介绍了是否-fomit帧指针* *总是忽略了FP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否-fomit帧指针的总是的省略帧指针?是否有过其中两个PC和FP需要设置一个情况呢?难道动态栈增长迫使FP要设置吗?专门针对MIPS32要求。谢谢!

Does -fomit-frame-pointer always omit the frame pointer? Is there ever a situation where both the pc and fp need to be setup? Does dynamic stack growth force the fp to be setup? Asking specifically for MIPS32. Thanks!

推荐答案

是不是真的需要帧指针正确执行,除了有时异常放松。动态堆栈增长通常需要某种帧指针,但它不依赖于特定寄存器,而是通过正常的数据流分析,而分配

The frame pointer is not really needed for correct execution, except sometimes for exception unwind. Dynamic stack growth usually requires some kind of a frame pointer, but it is not tied to a particular register, but rather allocated through normal data flow analysis.

基本上, -fomit-frame-pointer的从固定寄存器赋值给一个伪寄存器的降级FP,使初始化受死存储清除。所以,回答第一个问题是否定的,它并不总是忽略它。

Basically, -fomit-frame-pointer demotes the FP from a fixed register assignment to a pseudo register and makes initialisation subject to dead store elimination. So the answer to the first question is no, it doesn't omit it always.

这篇关于是否-fomit帧指针* *总是忽略了FP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆