Added comment explaining why we are doing this check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43353 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp
index d523bf5..021001d 100644
--- a/lib/CodeGen/BranchFolding.cpp
+++ b/lib/CodeGen/BranchFolding.cpp
@@ -272,6 +272,11 @@
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;