[Beignet] [PATCH] GBE: Fix getTypesize bug with LLVM3.9
Yang, Rong R
rong.r.yang at intel.com
Mon Jan 9 07:50:08 UTC 2017
LLVM3.9 have changed pipes' meta, LGTM, pushed, thanks.
> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Xiuli Pan
> Sent: Monday, January 9, 2017 15:00
> To: beignet at lists.freedesktop.org
> Cc: Pan, Xiuli <xiuli.pan at intel.com>
> Subject: [Beignet] [PATCH] GBE: Fix getTypesize bug with LLVM3.9
>
> From: Pan Xiuli <xiuli.pan at intel.com>
>
> We will check some type size but some of the type size have change name in
> LLVM3.9, change the check to fit the type name now.
>
> Signed-off-by: Pan Xiuli <xiuli.pan at intel.com>
> ---
> backend/src/llvm/llvm_gen_backend.cpp | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/backend/src/llvm/llvm_gen_backend.cpp
> b/backend/src/llvm/llvm_gen_backend.cpp
> index 467b1de..064515b 100644
> --- a/backend/src/llvm/llvm_gen_backend.cpp
> +++ b/backend/src/llvm/llvm_gen_backend.cpp
> @@ -281,7 +281,7 @@ namespace gbe
> return CPV;
> }
>
> -#define TYPESIZE(TYPE,VECT,SZ) else if(name ==
> std::string(#TYPE).append(#VECT)) return VECT*SZ;
> +#define TYPESIZE(TYPE,VECT,SZ) else if( name ==
> +std::string(#TYPE).append(" __attribute__((ext_vector_type("#VECT")))")
> +) return VECT*SZ;
> #define TYPESIZEVEC(TYPE,SZ)\
> else if(name == #TYPE) return SZ;\
> TYPESIZE(TYPE,2,SZ)\
> @@ -293,21 +293,22 @@ namespace gbe
> static uint32_t getTypeSize(Module* M, const ir::Unit &unit, std::string&
> name) {
> if(name == "size_t") return sizeof(size_t);
> TYPESIZEVEC(char,1)
> - TYPESIZEVEC(uchar,1)
> + TYPESIZEVEC(unsigned char,1)
> TYPESIZEVEC(short,2)
> - TYPESIZEVEC(ushort,2)
> + TYPESIZEVEC(unsigned short,2)
> TYPESIZEVEC(half,2)
> TYPESIZEVEC(int,4)
> - TYPESIZEVEC(uint,4)
> + TYPESIZEVEC(unsigned int,4)
> TYPESIZEVEC(float,4)
> TYPESIZEVEC(double,8)
> TYPESIZEVEC(long,8)
> - TYPESIZEVEC(ulong,8)
> + TYPESIZEVEC(unsigned long,8)
> else{
> StructType *StrTy = M->getTypeByName("struct."+name);
> if(StrTy)
> return getTypeByteSize(unit,StrTy);
> }
> + GBE_ASSERTM(false, "Unspported type name");
> return 0;
> }
> #undef TYPESIZEVEC
> --
> 2.7.4
>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list