私はコンパイラのライブネスとライブ範囲を研究していますが、少し混乱しています。以下の図はチュートリアルから引用したもので、特定のコードの有効範囲を示しています。たとえば、R2
は 2 行目でロードされload r2, 2
、その値は 6 行目まで有効ですmult r1, r1, r2
。なんで?6 行目で乗算を実行し、結果を に代入しますが、 では代入しR1
ません。R2
なぜR2
は値を失うのでしょうか?
ありがとう!
私はコンパイラのライブネスとライブ範囲を研究していますが、少し混乱しています。以下の図はチュートリアルから引用したもので、特定のコードの有効範囲を示しています。たとえば、R2
は 2 行目でロードされload r2, 2
、その値は 6 行目まで有効ですmult r1, r1, r2
。なんで?6 行目で乗算を実行し、結果を に代入しますが、 では代入しR1
ません。R2
なぜR2
は値を失うのでしょうか?
ありがとう!