[PATCH] D148331: [ARM] Fix t2BF_LabelPseudo.isTerminator

Sam Elliott via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 05:25:41 PDT 2023


lenary created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
lenary requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This pseudo represents a label definition, so it doesn't finish a basic
block (and it must not be duplicated, and it doesn't insert any
instructions).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D148331

Files:
  llvm/lib/Target/ARM/ARMInstrThumb2.td


Index: llvm/lib/Target/ARM/ARMInstrThumb2.td
===================================================================
--- llvm/lib/Target/ARM/ARMInstrThumb2.td
+++ llvm/lib/Target/ARM/ARMInstrThumb2.td
@@ -5476,9 +5476,14 @@
   let Predicates = [IsThumb2, HasV8_1MMainline, HasLOB];
 }
 
+// This is a pseudo op for a label used by a branch future instruction
 def t2BF_LabelPseudo
   : t2PseudoInst<(outs ), (ins pclabel:$cp), 0, NoItinerary, []> {
-  let isTerminator = 1;
+  // Turns into just a label, rather than any instructions.
+  let Size = 0;
+  // This defines a label, $cp, so we shouldn't duplicate this because we cannot
+  // define the label in two different places.
+  let isNotDuplicable = true;
   let Predicates = [IsThumb2, HasV8_1MMainline, HasLOB];
   let hasNoSchedulingInfo = 1;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148331.513552.patch
Type: text/x-patch
Size: 802 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230414/5dbf4821/attachment.bin>


More information about the llvm-commits mailing list