[PATCH] D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 5 12:21:59 PST 2020


craig.topper added inline comments.


================
Comment at: llvm/lib/Target/X86/X86FlagsCopyLowering.cpp:523
 
+      // After this, EFLAGS will be recreated before each use.
+      if (&UseMBB != &MBB)
----------------
I don't think we can do this here. Later we check for successor blocks with livein eflags and I believe we expect to be able to get back to the original MBB that started the worklist as second time if there is a loop. We don't put the initial block into the visited set until its queued as a successor. But we need the eflags livein in order to queue it.


================
Comment at: llvm/lib/Target/X86/X86FlagsCopyLowering.cpp:532
       // when the block is the same block as the copy is from, we will visit it
       // twice. The first time we start from the copy and go to the end. The
       // second time we start from the beginning and go to the copy. This lets
----------------
Here the comments talk about visiting the block twice.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71375/new/

https://reviews.llvm.org/D71375





More information about the llvm-commits mailing list