nvc0/ir: Fix assert accessing null pointer
authorMark Menzynski <mmenzyns@redhat.com>
Fri, 19 Jul 2019 11:09:02 +0000 (13:09 +0200)
committerKarol Herbst <kherbst@redhat.com>
Tue, 23 Jul 2019 13:08:25 +0000 (15:08 +0200)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111007
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111167

Signed-off-by: Mark Menzynski <mmenzyns@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Tobias Klausmann<tobias.klausmann@freenet.de>
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp

index aca3b0afb1e8634910fad7f05f2fb7e20e457a99..1f702a987d86be2ab1816afdbd7f9316aa92072a 100644 (file)
@@ -51,12 +51,12 @@ NVC0LegalizeSSA::handleDIV(Instruction *i)
    // Generate movs to the input regs for the call we want to generate
    for (int s = 0; i->srcExists(s); ++s) {
       Instruction *ld = i->getSrc(s)->getInsn();
-      assert(ld->getSrc(0) != NULL);
       // check if we are moving an immediate, propagate it in that case
       if (!ld || ld->fixed || (ld->op != OP_LOAD && ld->op != OP_MOV) ||
             !(ld->src(0).getFile() == FILE_IMMEDIATE))
          bld.mkMovToReg(s, i->getSrc(s));
       else {
+         assert(ld->getSrc(0) != NULL);
          bld.mkMovToReg(s, ld->getSrc(0));
          // Clear the src, to make code elimination possible here before we
          // delete the instruction i later