[llvm] c549da9 - [BranchRelaxation] Move faulting_op check into callee [nfc]

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 27 11:24:41 PST 2023


Author: Philip Reames
Date: 2023-01-27T11:24:34-08:00
New Revision: c549da959b81902789a17918c5b95d4449e6fdfa

URL: https://github.com/llvm/llvm-project/commit/c549da959b81902789a17918c5b95d4449e6fdfa
DIFF: https://github.com/llvm/llvm-project/commit/c549da959b81902789a17918c5b95d4449e6fdfa.diff

LOG: [BranchRelaxation] Move faulting_op check into callee [nfc]

Mostly to remove a special case from an upcoming patch.

Added: 
    

Modified: 
    llvm/lib/CodeGen/BranchRelaxation.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/BranchRelaxation.cpp b/llvm/lib/CodeGen/BranchRelaxation.cpp
index 016c81dc5aa4..81d13617c37b 100644
--- a/llvm/lib/CodeGen/BranchRelaxation.cpp
+++ b/llvm/lib/CodeGen/BranchRelaxation.cpp
@@ -284,6 +284,12 @@ MachineBasicBlock *BranchRelaxation::splitBlockBeforeInstr(MachineInstr &MI,
 /// specific BB can fit in MI's displacement field.
 bool BranchRelaxation::isBlockInRange(
   const MachineInstr &MI, const MachineBasicBlock &DestBB) const {
+
+  // FAULTING_OP's destination is not encoded in the instruction stream
+  // and thus always in range.
+  if (MI.getOpcode() == TargetOpcode::FAULTING_OP)
+    return true;
+
   int64_t BrOffset = getInstrOffset(MI);
   int64_t DestOffset = BlockInfo[DestBB.getNumber()].Offset;
 
@@ -558,11 +564,6 @@ bool BranchRelaxation::relaxBranchInstructions() {
       if (!MI.isConditionalBranch())
         continue;
 
-      if (MI.getOpcode() == TargetOpcode::FAULTING_OP)
-        // FAULTING_OP's destination is not encoded in the instruction stream
-        // and thus never needs relaxed.
-        continue;
-
       MachineBasicBlock *DestBB = TII->getBranchDestBlock(MI);
       if (!isBlockInRange(MI, *DestBB)) {
         if (Next != MBB.end() && Next->isConditionalBranch()) {


        


More information about the llvm-commits mailing list