search for: isvalidelementtyp

Displaying 20 results from an estimated 24 matches for "isvalidelementtyp".

Did you mean: isvalidelementtype
2012 May 28
3
[LLVMdev] Windows assertion failure
...) { > LLVMContext &ctx = getGlobalContext(); > > Type *void_type( Type::getVoidTy( ctx ) ); > PointerType *void_ptr_type( void_type->getPointerTo() ); > > return 0; > } When compiled using the clang binaries with MinGW32 and run, I get: > Assertion failed: isValidElementType(EltTy) && "Invalid type for pointer element!", file /Users/asl/Projects/llvm/release/3.1/src/lib/VMCore/Type.cpp, line 748 Why? - Paul
2012 May 28
0
[LLVMdev] Windows assertion failure
> When compiled using the clang binaries with MinGW32 and run, I get: >> Assertion failed: isValidElementType(EltTy) && "Invalid type for pointer element!", file /Users/asl/Projects/llvm/release/3.1/src/lib/VMCore/Type.cpp, line 748 > Why? Because there is no void* in LLVM IR world -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State...
2010 Feb 10
3
[LLVMdev] [patch] Union Types - work in progress
...se >> don't :) >> >> >> Funky indentation in ConstantUnion::replaceUsesOfWithOnConstant and >> implementation missing :) >> >> In UnionValType methods, please use "UT" instead of "ST" as an acronym. >> >> +bool UnionType::isValidElementType(const Type *ElemTy) { >> + return ElemTy->getTypeID() != VoidTyID && ElemTy->getTypeID() != >> LabelTyID && >> + ElemTy->getTypeID() != MetadataTyID && >> !isa<FunctionType>(ElemTy); >> +} >> >> Please use &q...
2010 Feb 10
0
[LLVMdev] [patch] Union Types - work in progress
...ert(false && "Implement replaceUsesOfWithOnConstant for unions"); +} + Still not implemented? +UnionType *UnionType::get(const Type *type, ...) { + va_list ap; + std::vector<const llvm::Type*> UnionFields; + va_start(ap, type); Please use smallvector. +bool UnionType::isValidElementType(const Type *ElemTy) { + return !ElemTy->isVoidTy() && !ElemTy->isLabelTy() && + !ElemTy->isMetadataTy() && !isa<FunctionType>(ElemTy); +} Isn't there a better predicate somewhere? +LLVMTypeRef LLVMUnionTypeInContext(LLVMContextRef C, LLVMTypeRe...
2010 Jan 09
0
[LLVMdev] [PATCH] - Union types, attempt 2
...;'{' expected after 'union'")) return true; + EltTyLoc = Lex.getLoc(); + if (ParseTypeRec(Result)) return true; + ParamsList.push_back(Result); + + if (Result->isVoidTy()) + return Error(EltTyLoc, "union element can not have void type"); + if (!UnionType::isValidElementType(Result)) + return Error(EltTyLoc, "invalid element type for union"); + + while (EatIfPresent(lltok::comma)) { + EltTyLoc = Lex.getLoc(); + if (ParseTypeRec(Result)) return true; + + if (Result->isVoidTy()) + return Error(EltTyLoc, "union element can not have voi...
2010 Jan 18
5
[LLVMdev] [patch] Union Types - work in progress
...ons. You have a couple of these things which revert a recent patch, please don't :) Funky indentation in ConstantUnion::replaceUsesOfWithOnConstant and implementation missing :) In UnionValType methods, please use "UT" instead of "ST" as an acronym. +bool UnionType::isValidElementType(const Type *ElemTy) { + return ElemTy->getTypeID() != VoidTyID && ElemTy->getTypeID() != LabelTyID && + ElemTy->getTypeID() != MetadataTyID && ! isa<FunctionType>(ElemTy); +} Please use "!ElemTy->isVoidTy()" etc. --- lib/VMCore/Cons...
2010 Jan 06
3
[LLVMdev] [PATCH] - Union types, attempt 2
This patch adds a UnionType to DerivedTypes.h. It also adds code to the bitcode reader / writer and the assembly parser for the new type, as well as a tiny .ll test file in test/Assembler. It does not contain any code related to code generation or type layout - I wanted to see if this much was acceptable before I proceeded any further. Unlike my previous patch, in which the Union type was
2010 Jan 28
0
[LLVMdev] [patch] Union Types - work in progress
...gs which revert a recent patch, please don't > :) > > > Funky indentation in ConstantUnion::replaceUsesOfWithOnConstant and > implementation missing :) > > In UnionValType methods, please use "UT" instead of "ST" as an acronym. > > +bool UnionType::isValidElementType(const Type *ElemTy) { > + return ElemTy->getTypeID() != VoidTyID && ElemTy->getTypeID() != > LabelTyID && > + ElemTy->getTypeID() != MetadataTyID && > !isa<FunctionType>(ElemTy); > +} > > Please use "!ElemTy->isVoidTy()&q...
2010 Jan 11
2
[LLVMdev] [PATCH] - Union types, attempt 2
...")) return true; > > > + EltTyLoc = Lex.getLoc(); > + if (ParseTypeRec(Result)) return true; > + ParamsList.push_back(Result); > + > + if (Result->isVoidTy()) > + return Error(EltTyLoc, "union element can not have void type"); > + if (!UnionType::isValidElementType(Result)) > + return Error(EltTyLoc, "invalid element type for union"); > + > + while (EatIfPresent(lltok::comma)) { > + EltTyLoc = Lex.getLoc(); > + if (ParseTypeRec(Result)) return true; > + > + if (Result->isVoidTy()) > + return Error(EltTyL...
2010 Jan 28
0
[LLVMdev] [patch] Union Types - work in progress
...gs which revert a recent patch, please don't > :) > > > Funky indentation in ConstantUnion::replaceUsesOfWithOnConstant and > implementation missing :) > > In UnionValType methods, please use "UT" instead of "ST" as an acronym. > > +bool UnionType::isValidElementType(const Type *ElemTy) { > + return ElemTy->getTypeID() != VoidTyID && ElemTy->getTypeID() != > LabelTyID && > + ElemTy->getTypeID() != MetadataTyID && > !isa<FunctionType>(ElemTy); > +} > > Please use "!ElemTy->isVoidTy()&q...
2012 May 28
2
[LLVMdev] Windows assertion failure
...ere's a bug in the Unix version since the same program on Mac OS X runs without error. - Paul On May 28, 2012, at 10:15 AM, Anton Korobeynikov <anton at korobeynikov.info> wrote: >> When compiled using the clang binaries with MinGW32 and run, I get: >>> Assertion failed: isValidElementType(EltTy) && "Invalid type for pointer element!", file /Users/asl/Projects/llvm/release/3.1/src/lib/VMCore/Type.cpp, line 748 >> Why? > Because there is no void* in LLVM IR world
2019 Jul 02
2
RFC: Complex in LLVM
On Tue, 2 Jul 2019 at 19:11, Finkel, Hal J. <hfinkel at anl.gov> wrote: > One option is to make the complex type a special kind of vector, or a > special kind of aggregate (I have a slight preference for the latter). > That gives us an existing set of accessors. I agree non-vector. If nothing else a vector of complexes seems like a sensible concept which would be harder if a
2010 Feb 12
1
[LLVMdev] [patch] Union Types - work in progress
...already. > +UnionType *UnionType::get(const Type *type, ...) { > + va_list ap; > + std::vector<const llvm::Type*> UnionFields; > + va_start(ap, type); > > Please use smallvector. > Done - although I was just copying from what Struct does. > > +bool UnionType::isValidElementType(const Type *ElemTy) { > + return !ElemTy->isVoidTy() && !ElemTy->isLabelTy() && > + !ElemTy->isMetadataTy() && !isa<FunctionType>(ElemTy); > +} > > Isn't there a better predicate somewhere? > Apparently there is now. Done. &gt...
2010 Jan 16
0
[LLVMdev] [patch] Union Types - work in progress
OK here's the patch for real this time :) On Fri, Jan 15, 2010 at 4:36 PM, Talin <viridia at gmail.com> wrote: > Here's a work in progress of the union patch. Note that the test "union.ll" > does not work, so you probably don't want to check this in as is. However, > I'd be interested in any feedback you're willing to give. > > -- > -- Talin
2010 Jan 16
2
[LLVMdev] [patch] Union Types - work in progress
Here's a work in progress of the union patch. Note that the test "union.ll" does not work, so you probably don't want to check this in as is. However, I'd be interested in any feedback you're willing to give. -- -- Talin -------------- next part -------------- An HTML attachment was scrubbed... URL:
2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...T1 = I->getType(); > + } > + > + if (I->isCast()) { > + T2 = cast<CastInst>(I)->getSrcTy(); > + } > + else { > + T2 = T1; > + } > + > + // Not every type can be vectorized... > + if (!(VectorType::isValidElementType(T1) || T1->isVectorTy()) || > + !(VectorType::isValidElementType(T2) || T2->isVectorTy())) { > + continue; > + } > + > + if (NoInts&& (T1->isIntOrIntVectorTy() || T2->isIntOrIntVectorTy())) { > + continue; > + } > +...
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...; + > > + if (I->isCast()) { > > + T2 = cast<CastInst>(I)->getSrcTy(); > > + } > > + else { > > + T2 = T1; > > + } > > + > > + // Not every type can be vectorized... > > + if (!(VectorType::isValidElementType(T1) || T1->isVectorTy()) || > > + !(VectorType::isValidElementType(T2) || T2->isVectorTy())) { > > + continue; > > + } > > + > > + if (NoInts&& (T1->isIntOrIntVectorTy() || T2->isIntOrIntVectorTy())) { > > +...
2011 Nov 16
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, et al., Attached is the my autovectorization pass. I've fixed a bug that appears when using -bb-vectorize-aligned-only, fixed some 80-col violations, etc., and at least on x86_64, all test cases pass except for a few; and all of these failures look like instruction-selection bugs. For example: MultiSource/Applications/ClamAV - fails to compile shared_sha256.c with an error: error in
2011 Nov 15
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, I've attached the latest version of my autovectorization patch. I was able to add support for using the ScalarEvolution analysis for load/store pairing (thanks for your help!). This led to a modest performance increase and a modest compile-time increase. This version also has a cutoff as you suggested (although the default value is set high (4000 instructions between pairs) because
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...{ > + T1 = I->getType(); > + } > + > + if (I->isCast()) { > + T2 = cast<CastInst>(I)->getSrcTy(); > + } else { > + T2 = T1; > + } No braces needed. > + > + // Not every type can be vectorized... > + if (!(VectorType::isValidElementType(T1) || T1->isVectorTy()) || > + !(VectorType::isValidElementType(T2) || T2->isVectorTy())) > + return false; > + > + if (NoInts&& (T1->isIntOrIntVectorTy() || T2->isIntOrIntVectorTy())) > + return false; > + > + if (NoFloats&&amp...