This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Some beginner's questions concerning doing instrumentation/analysis in GIMPLE
- From: Carter Cheng <cartercheng at gmail dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 10 Jan 2019 21:59:51 +0800
- Subject: Some beginner's questions concerning doing instrumentation/analysis in GIMPLE
Hello,
I am trying to assess an idea and whether it is possible to implement a
certain idea as a gcc plugin. I look over some of the information on the
web and the gcc internals documentation but I cannot still figure out some
basic things concerning manipulating GIMPLE in a plugin.
1) How does one add and safely remove basic blocks in GIMPLE if one is
trying to transform a function?
2) How does one label a basic block with a new label (for conditional
branches)?
3) How does one do the same for functions (like in situations when one is
doing interprocedural analysis and function cloning)?
I apologize if this is in a tutorial somewhere but I could not find it.
Regards,
Carter.