[Beignet] [PATCH] GBE: Correctly process constant for phi instruction

Zhigang Gong zhigang.gong at linux.intel.com
Thu Jun 19 01:37:38 PDT 2014


LGTM, pushed, thanks.

On Wed, Jun 18, 2014 at 03:59:53PM +0800, Ruiling Song wrote:
> Simply use getRegister which deals with various ConstantExpr.
> Thanks to Abrahm Scully who report the bug.
> 
> Signed-off-by: Ruiling Song <ruiling.song at intel.com>
> ---
>  backend/src/llvm/llvm_gen_backend.cpp |    4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp
> index f3291f8..1bf59a1 100644
> --- a/backend/src/llvm/llvm_gen_backend.cpp
> +++ b/backend/src/llvm/llvm_gen_backend.cpp
> @@ -1083,9 +1083,7 @@ namespace gbe
>            if (CPV && dyn_cast<ConstantVector>(CPV) &&
>                isa<UndefValue>(extractConstantElem(CPV, 0)))
>              continue;
> -          const ir::ImmediateIndex immIndex = this->newImmediate(CP);
> -          const ir::Immediate imm = ctx.getImmediate(immIndex);
> -          ctx.LOADI(imm.type, dst, immIndex);
> +          ctx.MOV(type, dst, getRegister(CP));
>          } else if (regTranslator.valueExists(IV,0) || dyn_cast<Constant>(IV)) {
>            const ir::Register src = this->getRegister(IV);
>            ctx.MOV(type, dst, src);
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list