【问题标题】:How can I dump ALL Gimple trees?如何转储所有 Gimple 树?
【发布时间】:2014-12-01 01:37:22
【问题描述】:

我需要转储所有 Gimple 树(类似于 -fdump-tree-whatever)。我为此目的创建了一个插件,但我不确定我应该如何访问 Gimple 树。插件已连接到 GIMPLE_PASS:

static struct opt_pass my_pass = 
 {
    .type = GIMPLE_PASS,
    ...

我尝试使用 gsi (gimple_stmt_iterator) 迭代基本块,但是,我的转储不完整。

你能帮我吗,我应该如何访问 Gimple 树,以便倾倒每一棵树?

【问题讨论】:

  • 不清楚 -fdump-tree-all 有什么问题
  • 不完整,即。全局变量...但这并不重要。 Gimple 操作是个问题
  • 全局变量不是函数上下文的一部分,永远不能通过任何语句迭代器传递。请具体说明您需要哪些确切信息以及您如何尝试使用 gsi 访问它。
  • 我需要完全重建所需的一切 - 所以我可以导出并让它与前端一起处理。
  • 类似gcc.gnu.org/wiki/GimpleFrontEnd 的东西?我认为这在实践中是不可能的(意思是:太难了)。 Gimple 不是为它而构建的,太多的不一致,太多的不便。

标签: gcc internals gimple


【解决方案1】:

最有用的选项是-fdump-tree-gimple

【讨论】:

    【解决方案2】:

    使用-fdump-tree-all 转储tree 的所有通行证。

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 2013-05-02
      • 2018-01-04
      • 2012-04-14
      相关资源
      最近更新 更多