This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

LTO : question about get_untransformed_body


Hi,

I am trying to use the function: `cgraph_node::get_untransformed_body` during
the wpa stage of a SIMPLE_IPA_PASS transformation. While the execute function
is running, I need to access the body of a function in order to iterate over
the gimple instructions in the first basic block. I have found that the
majority of the cgraph_node will return successfully. However, there are some
functions which consistently produce a segmentation fault following this
stacktrace:

```
0xbc2adb crash_signal
/home/eochoa/code/gcc/gcc/toplev.c:328
0xa54858 lto_get_decl_name_mapping(lto_file_decl_data*, char const*)
/home/eochoa/code/gcc/gcc/lto-section-in.c:367
0x7030e7 cgraph_node::get_untransformed_body()
/home/eochoa/code/gcc/gcc/cgraph.c:3516
0x150613f get_bb1_callees
/home/eochoa/code/gcc/gcc/ipa-initcall-cp.c:737
0x150613f reach_nodes_via_bb1_dfs                        
```

Is there a way for `cgraph_node::get_untransformed_body` to succeed
consistently? (I.e. are there some preconditions that I need to make sure are
in place before calling cgraph_node::get_untransformed_body?

I am using gcc version 10.0.0 20191127 (experimental)

Thanks


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]