mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-27 21:50:40 +00:00
Disable MachineSink on convergent operations, similar to how IR Sink is
restricted. No test because no in-tree target currently has convergent MachineInstr's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238763 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
57e487e92c
commit
6f9474c1e1
@ -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…
Reference in New Issue
Block a user