[LLVMdev] MachineInstr::isSafeToMove()

Jonas Paulsson jonas.paulsson at ericsson.com
Wed Nov 6 10:21:02 PST 2013


Hi,

I have a question regarding this method, as i have discovered a case where it seems very far from 'strict'.

I had two MI's, A and B, where A is !isSafeToMove():

A
B

TwoAddress pass changes the order to

B
A

, as it reschedules the LastKill MI (B).

Is this a bug in TwoAdress, or is it the case that isSafeToMove() is weaker than isSchedulingBoundary() so that these indirect violations are expected and accepted in TwoAddress and elsewhere?

Thanks,

Jonas



More information about the llvm-dev mailing list