GIMPLE pass - Assignment evaluation
Sandeep K Chaudhary
Mon Dec 9 23:05:00 GMT 2013
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 + 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.
Thanks and regards,
More information about the Gcc-help