[Beignet] [PATCH] GBE: remove constant expression handling code in gen writer pass.

Gong, Zhigang zhigang.gong at intel.com
Thu Feb 26 23:12:58 PST 2015



> -----Original Message-----
> From: Song, Ruiling
> Sent: Friday, February 27, 2015 3:11 PM
> To: Gong, Zhigang; beignet at lists.freedesktop.org
> Cc: Gong, Zhigang
> Subject: RE: [Beignet] [PATCH] GBE: remove constant expression handling code
> in gen writer pass.
> 
> >    ir::Register GenWriter::getConstantRegister(Constant *c, uint32_t
> > elemID) {
> >      GBE_ASSERT(c != NULL);
> >      if(isa<GlobalValue>(c)) {
> > @@ -1309,15 +1106,6 @@ error:
> >        return reg;
> >      }
> >
> What about put an assert check here?
>  GBE_ASSERT(!isa<ConstantExpr>(c));
> Other parts looks good to me.
There is an assert in the coming newImmediate(), so I think we don’t need to add
an extra assert here.

Thanks,
Zhigang Gong.

> 
> > -    if(isa<ConstantExpr>(c)) {
> > -      // Check whether this is a constant drived from a pointer.
> > -      Constant *itC = c;
> > -      while(isa<ConstantExpr>(itC))
> > -        itC = dyn_cast<ConstantExpr>(itC)->getOperand(0);
> > -      if (itC->getType()->isPointerTy())
> > -        return getConstantPointerRegister(dyn_cast<ConstantExpr>(c),
> > elemID);
> > -    }
> > -
> >      const ir::ImmediateIndex immIndex = this->newImmediate(c, elemID);
> >      const ir::Immediate imm = ctx.getImmediate(immIndex);
> >      const ir::Register reg = ctx.reg(getFamily(imm.getType()));
> > --
> > 1.9.1
> >
> > _______________________________________________
> > Beignet mailing list
> > Beignet at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list