I am using -indvars pass in LLVM. It says that is makes the loop counter start from 0 where it is possible. I used it for a simple loop, but its not making the loop count start from 0. Any idea why is it so?
The loop is
for(i=30;i<90;++i){
a1[i]=i*2;
a1[i]=a1[i]+1;;
}
After some digging I found out that
-indvarspass now don't canonicalize induction variable because most other passes now are made to work without need for canonical loops.However my pass required that loops be in canonical form, so I found the old induction variable simplify pass and explicitly included in my file.
If someone is interested here is the old pass.