For the below test:
int main() { volatile int foo = 4; int read = foo; int read1 = foo; int result = 0; if (read == 4) { result = read1 + 2; } else { result = read1 - 2; } return result; }
Debug location information for 'result' is wrong with -O2.
When in the debugger, on the line "if (read == 4)", the value of "result"
is reported as '2', where it should be zero, as described by:
Please omit 'machine' here, as MachineInstr and Instruction are distinct.