What steps will reproduce the problem?
import crack.io cout;
void a(uint64 v) {
while (v) {
cout `$v `;
v >>= 1;
}
}
a(4);
What is the expected output? 4 2 1 What do you see instead? 4 4 4 4 ...
Promotion of arguments from registers to allocas is happening in the context
where the argument is assigned: if that context is a loop we'll continually
alloca. The promotion needs to happen in the function's first block.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by mind...@gmail.com on 19 Oct 2010 at 10:48
Original issue reported on code.google.com by
mind...@gmail.com
on 19 Oct 2010 at 10:48