diff options
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64InstrInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp index 10464ea57bb..26b514110fc 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp @@ -965,6 +965,11 @@ bool AArch64InstrInfo::isSchedulingBoundary(const MachineInstr &MI, if (TargetInstrInfo::isSchedulingBoundary(MI, MBB, MF)) return true; switch (MI.getOpcode()) { + case AArch64::HINT: + // CSDB hints are scheduling barriers. + if (MI.getOperand(0).getImm() == 0x14) + return true; + break; case AArch64::DSB: case AArch64::ISB: // DSB and ISB also are scheduling barriers. |

