mirror of
https://github.com/kmc7468/cs420.git
synced 2025-12-15 23:18:48 +00:00
Update model solution.
- Stop calculating operands for & operators. - Evaluate the lhs of compound operators only once. - Add `side-effect.c` example.
This commit is contained in:
@@ -8,13 +8,12 @@ init:
|
||||
|
||||
block b0:
|
||||
%b0:i0:unit = store 0:i32 %l0:i32*
|
||||
%b0:i1:i32 = load %l0:i32*
|
||||
%b0:i2:unit = store %l0:i32* %l1:i32*const*
|
||||
%b0:i3:i32* = load %l1:i32*const*
|
||||
%b0:i4:unit = store 1:i32 %b0:i3:i32*
|
||||
%b0:i5:i32* = load %l1:i32*const*
|
||||
%b0:i6:i32 = load %b0:i5:i32*
|
||||
ret %b0:i6:i32
|
||||
%b0:i1:unit = store %l0:i32* %l1:i32*const*
|
||||
%b0:i2:i32* = load %l1:i32*const*
|
||||
%b0:i3:unit = store 1:i32 %b0:i2:i32*
|
||||
%b0:i4:i32* = load %l1:i32*const*
|
||||
%b0:i5:i32 = load %b0:i4:i32*
|
||||
ret %b0:i5:i32
|
||||
|
||||
block b1:
|
||||
ret 0:i32
|
||||
|
||||
Reference in New Issue
Block a user