You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With llc -O2 t.ll -print-after-all, it can be shown that %stack.1.T_1 is merged with %stack.0.T_0, and thus marked dead.
Just before stack-coloring:
# *** IR Dump After Slot index numbering (slotindexes) ***:
# Machine code for function afunc: IsSSA, TracksLiveness
Frame Objects:
fi#0: size=4, align=4, at location [SP]
fi#1: size=4, align=4, at location [SP]
fi#2: size=4, align=4, at location [SP]
fi#3: size=4, align=4, at location [SP]
And after stack-coloring:
# *** IR Dump After Merge disjoint stack slots (stack-coloring) ***:
# Machine code for function afunc: IsSSA, TracksLiveness
Frame Objects:
fi#0: size=4, align=4, at location [SP]
fi#1: dead
fi#2: size=4, align=4, at location [SP]
fi#3: size=4, align=4, at location [SP]
For this test case, %stack.1.T_1 and %stack.0.T_0 cannot be merged. In the code, their addresses are compared, and should be different.
The text was updated successfully, but these errors were encountered:
Here is a test case to illustrate the problem:
With
llc -O2 t.ll -print-after-all
, it can be shown that%stack.1.T_1
is merged with%stack.0.T_0
, and thus marked dead.Just before stack-coloring:
And after stack-coloring:
For this test case,
%stack.1.T_1
and%stack.0.T_0
cannot be merged. In the code, their addresses are compared, and should be different.The text was updated successfully, but these errors were encountered: