Added comment explaining why we are doing this check.
authorBill Wendling <isanbard@gmail.com>
Thu, 25 Oct 2007 18:23:45 +0000 (18:23 +0000)
committerBill Wendling <isanbard@gmail.com>
Thu, 25 Oct 2007 18:23:45 +0000 (18:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43353 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/BranchFolding.cpp

index d523bf585aeabdd7d8632603fb2c3ef36b43d757..021001d15fc0b65edc9260e758dab5cbb882f4b9 100644 (file)
@@ -272,6 +272,11 @@ static unsigned ComputeCommonTailLength(MachineBasicBlock *MBB1,
   while (I1 != MBB1->begin() && I2 != MBB2->begin()) {
     --I1; --I2;
     if (!I1->isIdenticalTo(I2) || 
+        // XXX: This check is dubious. It's used to get around a problem where
+        // people incorrectly expect inline asm directives to remain in the same
+        // relative order. This is untenable because normal compiler
+        // optimizations (like this one) may reorder and/or merge these
+        // directives.
         I1->getOpcode() == TargetInstrInfo::INLINEASM) {
       ++I1; ++I2;
       break;