FastISel: remove EH_LABEL skipping code.
authorJames Y Knight <jyknight@google.com>
Mon, 16 Jan 2023 23:15:00 +0000 (18:15 -0500)
committerJames Y Knight <jyknight@google.com>
Mon, 16 Jan 2023 23:15:00 +0000 (18:15 -0500)
This was intended to skip past the EH_LABEL which is added at the top
of a landingpad block. But, it is unnecessary because `LastLocalValue`
is already set to point past the EH_LABEL in that case.

Thus, currently, this is dead-code. I am removing it because it _also_
attempts to skip over EH_LABELs emitted around a call. Currently, this
situation never arises, but it becomes harmful after a future
in-progress commit.

llvm/lib/CodeGen/SelectionDAG/FastISel.cpp

index bc48d16..36c749c 100644 (file)
@@ -405,11 +405,6 @@ void FastISel::recomputeInsertPt() {
     ++FuncInfo.InsertPt;
   } else
     FuncInfo.InsertPt = FuncInfo.MBB->getFirstNonPHI();
-
-  // Now skip past any EH_LABELs, which must remain at the beginning.
-  while (FuncInfo.InsertPt != FuncInfo.MBB->end() &&
-         FuncInfo.InsertPt->getOpcode() == TargetOpcode::EH_LABEL)
-    ++FuncInfo.InsertPt;
 }
 
 void FastISel::removeDeadCode(MachineBasicBlock::iterator I,