[PATCH] D70434: ImplicitNullChecks: Don't add a dead definition of DepMI as live-in

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 19 04:41:29 PST 2019


jonpa created this revision.
jonpa added reviewers: RKSimon, sanjoy, craig.topper.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.

This is one of the fixes needed to reapply D68267 <https://reviews.llvm.org/D68267> which improves verification of live-in lists.


https://reviews.llvm.org/D70434

Files:
  llvm/lib/CodeGen/ImplicitNullChecks.cpp
  llvm/test/CodeGen/X86/implicit-null-checks.mir


Index: llvm/test/CodeGen/X86/implicit-null-checks.mir
===================================================================
--- llvm/test/CodeGen/X86/implicit-null-checks.mir
+++ llvm/test/CodeGen/X86/implicit-null-checks.mir
@@ -828,6 +828,7 @@
 # CHECK-NEXT:  $noreg = FAULTING_OP 3, %bb.2, {{[0-9]+}}, $rdi, 1, $noreg, 16, $noreg, $esi
 # CHECK-NEXT: JMP_1 %bb.1
 # CHECK: bb.1.not_null
+# CHECK-NOT: liveins: {{.*}} $eflags
 
 alignment:       16
 tracksRegLiveness: true
Index: llvm/lib/CodeGen/ImplicitNullChecks.cpp
===================================================================
--- llvm/lib/CodeGen/ImplicitNullChecks.cpp
+++ llvm/lib/CodeGen/ImplicitNullChecks.cpp
@@ -698,7 +698,7 @@
 
     if (auto *DepMI = NC.getOnlyDependency()) {
       for (auto &MO : DepMI->operands()) {
-        if (!MO.isReg() || !MO.getReg() || !MO.isDef())
+        if (!MO.isReg() || !MO.getReg() || !MO.isDef() || MO.isDead())
           continue;
         if (!NC.getNotNullSucc()->isLiveIn(MO.getReg()))
           NC.getNotNullSucc()->addLiveIn(MO.getReg());


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70434.230037.patch
Type: text/x-patch
Size: 1056 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191119/298e23c9/attachment.bin>


More information about the llvm-commits mailing list