What is Basic Block? List out the basic blocks and draw the flow graph for the following code:
1. |
location= -1 |
2. |
i=0 |
3. |
i<100 goto 5 |
4. |
goto 13 |
5. |
t1=4*i |
6. |
t2=A[t1] |
7. |
if t2=x goto 9 |
8. |
goto 10 |
9. |
location=i |
10. |
t3=i+1 |
11. |
i=t3 |
12. |
goto 3 |
13. |
… |
Basic Block: The idea of basic block is very useful in implementing the optimizing transformations on the intermediate code. A basic block is a sequence of inter mediate code statements in which the control enters at the beginning and leaves only at the end. Within a basic block control flows sequentially. Branching in flow of control can only happen in the last statement of a basic block.
Basic Block for the code:
# |
Intermediate code |
B0 |
location= -1 i=0 |
B1 |
i<100 goto B3 |
B2 |
goto B7 |
B3 |
t1=4*i t2=A[t1] if t2=x goto B5 |
B4 |
goto B6 |
B5 |
location=i |
B6 |
t3=i+1 i=t3 goto B1 |
B7 |
… |
Draw the syntax tree and DAG from the following expression.
if x>0 then x=3*(y+1) else y=y+1
Write a C program to multiplication of two matrix.
Discuss the ACID properties of transaction.
What is linear searching?
Explain two-phase locking protocol.