---------- a3lo Loops ---------- Compile the following program (file a3lo.c) and observe the GIMPLE dumps. Source file : a3lo.c Compilation : gcc -c -fdump-tree-cfg a3lo.c View result : vi -O a3lo.c a3lo.c.*.cfg Clear dumps : rm -f a3lo.c.* a3lo.o Program ------- double CompoundInterest(double Principal, double Interest, int Years) { double Value; for(Value = Principal; Years > 0; --Years) { Value = Value * Interest / 100; } return Value; } Questions --------- 1 How does GCC convert for-loops into GIMPLE? Can you draw a CFG of this program? 2 Do you think the GIMPLE would be any different for a while-loop instead of a for-loop? If you are unsure, modify the program to use a while-loop and re-compile to observe the difference.