@@ -1851,7 +1851,9 @@ class InsBase<string opstr, RegisterOperand RO, Operand PosOpnd,
1851
1851
// Atomic instructions with 2 source operands (ATOMIC_SWAP & ATOMIC_LOAD_*).
1852
1852
class Atomic2Ops<PatFrag Op, RegisterClass DRC> :
1853
1853
PseudoSE<(outs DRC:$dst), (ins PtrRC:$ptr, DRC:$incr),
1854
- [(set DRC:$dst, (Op iPTR:$ptr, DRC:$incr))]>;
1854
+ [(set DRC:$dst, (Op iPTR:$ptr, DRC:$incr))]> {
1855
+ let hasNoSchedulingInfo = 1;
1856
+ }
1855
1857
1856
1858
class Atomic2OpsPostRA<RegisterClass RC> :
1857
1859
PseudoSE<(outs RC:$dst), (ins PtrRC:$ptr, RC:$incr), []> {
@@ -1868,7 +1870,9 @@ class Atomic2OpsSubwordPostRA<RegisterClass RC> :
1868
1870
// during ISelLowering, which produces the PostRA version of this instruction.
1869
1871
class AtomicCmpSwap<PatFrag Op, RegisterClass DRC> :
1870
1872
PseudoSE<(outs DRC:$dst), (ins PtrRC:$ptr, DRC:$cmp, DRC:$swap),
1871
- [(set DRC:$dst, (Op iPTR:$ptr, DRC:$cmp, DRC:$swap))]>;
1873
+ [(set DRC:$dst, (Op iPTR:$ptr, DRC:$cmp, DRC:$swap))]> {
1874
+ let hasNoSchedulingInfo = 1;
1875
+ }
1872
1876
1873
1877
class AtomicCmpSwapPostRA<RegisterClass RC> :
1874
1878
PseudoSE<(outs RC:$dst), (ins PtrRC:$ptr, RC:$cmp, RC:$swap), []> {
@@ -1883,7 +1887,6 @@ class AtomicCmpSwapSubwordPostRA<RegisterClass RC> :
1883
1887
let mayStore = 1;
1884
1888
}
1885
1889
1886
-
1887
1890
class LLBase<string opstr, RegisterOperand RO, DAGOperand MO = mem> :
1888
1891
InstSE<(outs RO:$rt), (ins MO:$addr), !strconcat(opstr, "\t$rt, $addr"),
1889
1892
[], II_LL, FrmI, opstr> {
0 commit comments