c++cgcc

Where are the static methods in gcc's dump file.c.135r.jump


When I run gcc with the parameter -fdump-rtl-jump, I get a dump file with the name file.c.135r.jump, where I can read some information about the intermediate representation of the methods in my C or C++ file.

I just recently discovered, that the static methods of a project are missing in this dump file. Do you know, why they are missing in that representation and if there is a possibility to include the static methods in this file, too.

Update (some additional information):
The test program, I'm using here, is the Hybrid OpenMP MPI Benchmark.

Update2:
I just reproduced the problem with a serial application, so it has nothing to do with parallel sections.


Solution

  • My guess is that the static methods are inlined and, since they are static, everything is known about their calls, no out-of-line code of them is emitted. A way to confirm or reject this is to add -fkeep-inline-functions gcc option and then they should appear in the dumps.