search for: numcontainedtys

Displaying 8 results from an estimated 8 matches for "numcontainedtys".

2011 Jul 27
1
[LLVMdev] Linking opaque types
...fails"? Type mismatches should not cause the linker to fail. In any case, this example should link, please provide a minimal example of two .ll files that repros what you're seeing with llvm-link. Thanks, > > It's llvm-ld that asserts here: > > Assertion failed: (N < NumContainedTys && "Element number out of range!"), function getElementType, file /Users/talin/Projects/llvm/include/llvm/DerivedTypes.h, line 268. > Sounds like a bug, thanks. -Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/p...
2011 Jul 27
0
[LLVMdev] Linking opaque types
...s"? Type mismatches should not cause the > linker to fail. In any case, this example should link, please provide a > minimal example of two .ll files that repros what you're seeing with > llvm-link. Thanks, > > It's llvm-ld that asserts here: Assertion failed: (N < NumContainedTys && "Element number out of range!"), function getElementType, file /Users/talin/Projects/llvm/include/llvm/DerivedTypes.h, line 268. 5 0x0000000100158f27 in llvm::StructType::getElementType (this=0x10180f310, N=0) at DerivedTypes.h:268 #6 0x00000001001b8b54 in llvm::BitcodeReade...
2011 Jul 27
2
[LLVMdev] Linking opaque types
On Jul 26, 2011, at 8:11 AM, Talin wrote: >> >> If that's true, then it means that we're back to the case where every type has to be fully defined down to the leaf level. > > I'm not sure what you mean. LLVM is perfectly fine with opaque structs so long as you don't "deference" them, GEP into them, need their size, etc. > > Let me try with
2011 Jan 05
0
[LLVMdev] Printing error with Value objects
..._M_impl = {<std::allocator<llvm::AbstractTypeUser*>> = {<__gnu_cxx::new_allocator<llvm::AbstractTypeUser*>> = {<No data fields>}, <No data fields>}, _M_start = 0x921f726, _M_finish = 0x921a090, _M_end_of_storage = 0x921e898}}, <No data fields>}, NumContainedTys = 153198753, ContainedTys = 0x89f3aac} Thanks for the help. Regards Rajesh
2010 Jan 09
0
[LLVMdev] [PATCH] - Union types, attempt 2
...))) Please use V->getType()->isInteger(32) which is probably new since you started your patch. +UnionType::UnionType(LLVMContext &C, const std::vector<const Type*> &Types) + : CompositeType(C, UnionTyID) { + ContainedTys = reinterpret_cast<PATypeHandle*>(this + 1); + NumContainedTys = Types.size(); + bool isAbstract = false; + for (unsigned i = 0; i < Types.size(); ++i) { No need to evaluate Types.size() every time through the loop. +bool LLParser::ParseUnionType(PATypeHolder &Result) { ... + if (!EatIfPresent(lltok::lbrace)) { + return Error(EltTyLoc, "...
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 11
2
[LLVMdev] [PATCH] - Union types, attempt 2
...Integer(32) which is probably new since you > started your patch. > > > +UnionType::UnionType(LLVMContext &C, const std::vector<const Type*> > &Types) > + : CompositeType(C, UnionTyID) { > + ContainedTys = reinterpret_cast<PATypeHandle*>(this + 1); > + NumContainedTys = Types.size(); > + bool isAbstract = false; > + for (unsigned i = 0; i < Types.size(); ++i) { > > No need to evaluate Types.size() every time through the loop. > > > +bool LLParser::ParseUnionType(PATypeHolder &Result) { > ... > + if (!EatIfPresent(lltok::lbrac...
2011 Feb 15
3
[LLVMdev] Structure Types and ABI sizes
Hi all, We're hitting some walls here when generating the correct structure layout for specific C++ ABI requirements, and I was wondering how much StructLayout could help. For instance, the ABI has some complicated rules on the size of derived classes (http://www.codesourcery.com/public/cxx-abi/abi.html#class-types) and LLVM struct type cannot reflect that in full. Example: // CHECK: