]> granicus.if.org Git - llvm/commitdiff
[ModuloSchedule] Do not remap terminators
authorJames Molloy <jmolloy@google.com>
Fri, 4 Oct 2019 17:15:25 +0000 (17:15 +0000)
committerJames Molloy <jmolloy@google.com>
Fri, 4 Oct 2019 17:15:25 +0000 (17:15 +0000)
This is a trivial point fix. Terminator instructions aren't scheduled, so
we shouldn't expect to be able to remap them.

This doesn't affect Hexagon and PPC because their terminators are always
hardware loop backbranches that have no register operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373762 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/ModuloSchedule.cpp

index d891d644664f501d4a923e26a53dce58aac8d3dc..7ce3c5861801a51ea849752d5b5eac749e6b30b5 100644 (file)
@@ -1314,7 +1314,7 @@ void KernelRewriter::rewrite() {
 
   // Now remap every instruction in the loop.
   for (MachineInstr &MI : *BB) {
-    if (MI.isPHI())
+    if (MI.isPHI() || MI.isTerminator())
       continue;
     for (MachineOperand &MO : MI.uses()) {
       if (!MO.isReg() || MO.getReg().isPhysical() || MO.isImplicit())