GIMPLE pass - Assignment evaluation

Sandeep K Chaudhary babbusandy2006@gmail.com
Mon Dec 9 23:05:00 GMT 2013


Hi Guys,

I am writing a GIMPLE pass in which I need to inspect the assignments.
For example, for the below statements, I need to find the value of the
second and third assignments which are '2' and '7'.

VAR1 = 1;
VAR1++;
VAR1 = VAR1 + 5;

But the GIMPLE IR only has the following statements i.e. no optimization.

  VAR1_2 = 1;
  VAR1_3 = VAR1_2 + 1;
  VAR1_4 = VAR1_3 + 5;

How can I make it perform calculations on RHS? Are there some flags
that I can enable?

I tried -O1 and higher optimization levels but I don't see any
difference. This is how I am building and loading my plugin...

g++ -I`g++ -print-file-name=plugin`/include -fPIC -shared -O1
gimple_pass.c -o plugin.so
g++ -fplugin=/home/sandeep/myplugin/gimple/plugin.so -O1 -c test.c

Also, I thought of going with RTL passes but RTL IR seems too complex
for my use and also it's not suitable for high level optimizations.
Please suggest.

Thanks and regards,
Sandeep.



More information about the Gcc-help mailing list