[PATCH] D46641: [mips] WIP: Merge MipsLongBranch and MipsHazardSchedule passes

Aleksandar Beserminji via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 10 02:18:40 PDT 2018


abeserminji added inline comments.


================
Comment at: lib/Target/Mips/MipsBranchExpansion.cpp:788
+  // Then run them alternatively while there are changes
+  while (forbiddenSlotChanged) {
+    longBranchChanged = handlePossibleLongBranch(MF);
----------------
I thought one more time about this, and I believe that this loop and it's condition are wrong. We have to repeat these steps until no branches are expanded, as branch expansion can cause another branch to go out of range. With loop like that, this situation is possible:
- expand branch
- handle forbidden slots
- exit loop
which may leave some branches broken.
I will fix that in the next update.


Repository:
  rL LLVM

https://reviews.llvm.org/D46641





More information about the llvm-commits mailing list