[llvm] [Mips] Fix mfhi/mflo hazard miscompilation about div and mult (PR #91449)
    via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Sep 11 20:41:13 PDT 2024
    
    
  
================
@@ -766,17 +769,40 @@ bool MipsBranchExpansion::handleSlot(Pred Predicate, Safe SafeInSlot) {
         if (std::next(Iit) == FI->end() ||
             std::next(Iit)->getOpcode() != Mips::NOP) {
           Changed = true;
-          TII->insertNop(*(I->getParent()), std::next(I), I->getDebugLoc())
-              ->bundleWithPred();
-          NumInsertedNops++;
+          if (Predicate(*I) ||
----------------
yingopq wrote:
I deleted this condition and the test result of ./build/bin/clang --target=mipsel-freestanding -mcpu=mips3 -fomit-frame-pointer -S 4.c -o 1.s` or without `-O3` all are OK, I would update it. Maybe some reasons I added it now I forget. Thanks!
https://github.com/llvm/llvm-project/pull/91449
    
    
More information about the llvm-commits
mailing list