Machine-translated by Google. Questions are authored in English.
Top

Discussion

Assertion (A): Loop invariant code is hoisted into a preheader block rather than simply placed before the loop.
Reason (R): The preheader gives the loop a single entry point through which the hoisted computation is guaranteed to pass exactly once.

  • A.A is false but R is true
  • B.Both A and R are true, and R is the correct explanation of A
  • C.Both A and R are true, but R is not the correct explanation of A
  • D.A is true but R is false

Answer: B

Both are true and the reason gives the mechanism, and it matters when a loop has several entering edges. Creating the preheader makes the transformation valid without having to duplicate the hoisted code on every edge.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.