Some beginner's questions concerning doing instrumentation/analysis in GIMPLE

Carter Cheng cartercheng@gmail.com
Thu Jan 10 14:00:00 GMT 2019


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.



More information about the Gcc mailing list