Disable MachineSink on convergent operations, similar to how IR Sink is
restricted. No test because no in-tree target currently has convergent MachineInstr's. llvm-svn: 238763
This commit is contained in:
parent
15d1805504
commit
55313d21dc
@ -655,6 +655,10 @@ bool MachineSinking::SinkInstruction(MachineInstr *MI, bool &SawStore) {
|
||||
if (!MI->isSafeToMove(AA, SawStore))
|
||||
return false;
|
||||
|
||||
// Convergent operations may only be moved to control equivalent locations.
|
||||
if (MI->isConvergent())
|
||||
return false;
|
||||
|
||||
// FIXME: This should include support for sinking instructions within the
|
||||
// block they are currently in to shorten the live ranges. We often get
|
||||
// instructions sunk into the top of a large block, but it would be better to
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user