[PATCH] D49220: [x86] Teach the EFLAGS copy lowering to handle much more complex control flow patterns including forks, merges, and even cyles.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 12 13:51:20 PDT 2018


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86FlagsCopyLowering.cpp:433
+    auto HasEFLAGSClobber = [&](MachineBasicBlock::iterator Begin,
+                               MachineBasicBlock::iterator End) {
+      // Scan backwards as we expect these to be relatively short and often find
----------------
Nit - this isn't lined up right with the line above.


================
Comment at: llvm/test/CodeGen/X86/flags-copy-lowering.mir:777
+# We set EFLAGS in bb.0, clobber them in bb.3, and copy them in bb.2 and bb.6.
+# Because of the cycles this requires hoisting the tests for the bb.6 copy to
+# bb.1 but not using them in bb.2, instead doing local tests within bb.2.
----------------
I don't think understand this sentence. I don't see any tests in bb.1 in the CHECKs.


Repository:
  rL LLVM

https://reviews.llvm.org/D49220





More information about the llvm-commits mailing list