search for: voidtyid

Displaying 20 results from an estimated 34 matches for "voidtyid".

Did you mean: voidty
2012 May 07
4
[LLVMdev] Discussion of eliminating the void type
Hello all, I am willing to do "eliminating the void type" project. Is there anyone working on it? === Overview === The general concept is to replaced void with {}. And 'ret void' is a synonym of 'ret {} {}.' === Further Implementation Details === 1. Deleting VoidTyID 2. Deleting LLVMVoidTypeKind (one-to-one relation between VoidTyID and LLVMVoidTypeKind) 3. Use StructTy* VoidTy instead of Type VoidTy VoidTy may be Identified struct. In addition to error occurs at test/Analysis/BasicAA/empty.ll because of using literal struct "{}" as VoidTy...
2012 May 07
0
[LLVMdev] Discussion of eliminating the void type
...particular. Of course front-ends (clang, dragonegg) need to produce something instead of void, and {} is an example of what they might produce, but they should not be obliged to use that. For example they could use [] or {{}} etc. > === Further Implementation Details === > > 1. Deleting VoidTyID Yes! > 2. Deleting LLVMVoidTypeKind (one-to-one relation between VoidTyID and > LLVMVoidTypeKind) Yes! > 3. Use StructTy* VoidTy instead of Type VoidTy No! This doesn't make any sense to me. Why would having a definition for VoidTy be needed or desirable? > VoidTy may b...
2012 Apr 23
2
[LLVMdev] Eliminating the 'void' type
...a weird type in >> that it is only allowed as the return value of functions and as the type of >> instructions like store. It seems better (though also not particularly >> high priority) to eliminate it to make the type system more consistent. >> > MVT::isVoid and Type::VoidTyID (getVoidTy) have equivalent relation in LLVM. I am wondering to know whether the relation becomes MVT::isVoid corresponding to { } If eliminating void type? Thanks a lot Mitnick -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llv...
2010 Jan 06
2
[LLVMdev] something wrong with .ll file?
...============= As you can see, the intrinsic function takes two integer arguments and does not return anything. For some reason I am getting into trouble when I use llc to process my .bc file. In visitTargetIntrinsic() the second argument to function ComputeValueVTs() - I.getType() == llvm::Type::VoidTyID. This leads me to the exception: "Cannot have nodes without results!". Is there is something wrong with my byte code or I messed up somewhere in llc code? Are there any other dumps that I can use while processing .bc file? Thanks. -- Fima
2010 Mar 17
1
[LLVMdev] is structtyp a firstclass typ?
...isFirstClassType() only disallows function types, void, and opaque: 236 inline bool isFirstClassType() const { 237 // There are more first-class kinds than non-first-class kinds, so a 238 // negative test is simpler than a positive one. 239 return ID != FunctionTyID && ID != VoidTyID && ID != OpaqueTyID; 240 } Is struct typ also a first class type? -- Jianzhou
2012 Apr 21
2
[LLVMdev] Eliminating the 'void' type
Hello all, I noticed Eliminating the 'void' type<http://nondot.org/sabre/LLVMNotes/EliminatingVoid.txt>in Random LLVM notes. I am wondering to know what's the meaning of "eliminating" the void type. Is it means the goal is deleting VoidTyID from TypeID enumeration in Type.h? And what Type::getVoidTy() returned is a pointer to a {}? Thanks Mitnick -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120422/8f6197f7/attachment.html>
2012 Apr 23
0
[LLVMdev] Eliminating the 'void' type
...return value of functions and as the type of instructions like store. It seems better (though also not particularly high priority) to eliminate it to make the type system more consistent. > > MVT::isVoid MVT is separate from the LLVM IR type system, I would not change it. > and Type::VoidTyID VoidTyID should go away, since there is no more distinct Void type anymore. > (getVoidTy) have equivalent relation in LLVM. For API continuity, Type::getVoidTy() should still exist, but it should return {}. -Chris -------------- next part -------------- An HTML attachment was scrubbed... UR...
2007 Apr 06
1
[LLVMdev] Integrating LLVM in an existing project
...instruction straight after an unreachable instruction, i.e. two terminators in a row. (2) - FuncCPPPersonality = cast<Function>( + FuncCPPPersonality = TheModule->getOrInsertFunction("__gxx_personality_v0", Type::getPrimitiveType(Type::VoidTyID), - NULL)); - FuncCPPPersonality->setLinkage(Function::ExternalLinkage); - FuncCPPPersonality->setCallingConv(CallingConv::C); + NULL); - FuncUnwindResume = cast<Function>( + FuncUnwindResume = TheModule->...
2012 May 07
1
[LLVMdev] Discussion of eliminating the void type
...ds (clang, dragonegg) need to produce > something instead of void, and {} is an example of what they might produce, but > they should not be obliged to use that. For example they could use [] or {{}} > etc. > >> === Further Implementation Details === >> >> 1. Deleting VoidTyID > Yes! > >> 2. Deleting LLVMVoidTypeKind (one-to-one relation between VoidTyID and >> LLVMVoidTypeKind) > Yes! > >> 3. Use StructTy* VoidTy instead of Type VoidTy > No! This doesn't make any sense to me. Why would having a definition for > VoidTy be needed...
2007 Apr 06
0
[LLVMdev] Integrating LLVM in an existing project
On Fri, 6 Apr 2007, Nicolas Geoffray wrote: > Like you say, it's not functional for non-calls instructions. Besides, > having to change all CalInst to InvokeInst is just too much pain in our > current vm. ok. > Actually, why is it missing? What's the difference between the code > generator and the JIT? There are two things missing: 1. Testing and working out the set
2010 Jan 06
0
[LLVMdev] something wrong with .ll file?
...u can see, the intrinsic function takes two integer arguments and does not > return anything. > > For some reason I am getting into trouble when I use llc to process my .bc file. In visitTargetIntrinsic() > the second argument to function ComputeValueVTs() - I.getType() == llvm::Type::VoidTyID. This leads me to > the exception: "Cannot have nodes without results!". > > Is there is something wrong with my byte code or I messed up somewhere in llc code? > > Are there any other dumps that I can use while processing .bc file? > What's the TD definition of...
2010 Jan 18
5
[LLVMdev] [patch] Union Types - work in progress
...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/ConstantsContext.h (revision 93451) +template<> +struct ConstantK...
2007 Apr 06
2
[LLVMdev] Integrating LLVM in an existing project
Hi Chris, Chris Lattner wrote: >> We can not use current exception handling in llvm, see >> http://www.nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt. >> > > Why not? > > Like you say, it's not functional for non-calls instructions. Besides, having to change all CalInst to InvokeInst is just too much pain in our current vm. > There are two
2010 Jan 28
0
[LLVMdev] [patch] Union Types - work in progress
...ntation 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/ConstantsContext.h (revision 934...
2010 Jan 28
0
[LLVMdev] [patch] Union Types - work in progress
...ntation 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/ConstantsContext.h (revision 934...
2010 Mar 15
0
[LLVMdev] [patch] Writing ConstantUnions
...(UnionType::element_iterator i = UnTy->element_begin(), + e = UnTy->element_end(); i != e; ++i) { + Size = std::max(Size, getTypeSizeInBits(*i)); + } + return Size; + } case Type::IntegerTyID: return cast<IntegerType>(Ty)->getBitWidth(); case Type::VoidTyID: @@ -516,6 +525,17 @@ unsigned Align = getAlignmentInfo(AGGREGATE_ALIGN, 0, abi_or_pref, Ty); return std::max(Align, (unsigned)Layout->getAlignment()); } + case Type::UnionTyID: { + const UnionType *UnTy = cast<UnionType>(Ty); + unsigned Align = 1; + + // Unions need...
2010 Mar 15
3
[LLVMdev] [patch] Writing ConstantUnions
Hello, I noticed a bit of a gap in the current code for unions: a ConstantUnion cannot be written out to .ll. Hopefully I'm not stepping on Talin's toes by posting this, it's a fairly straightforward adaptation of the code for structs just above. Tim. -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. --------------
2012 Apr 21
0
[LLVMdev] Eliminating the 'void' type
On Apr 21, 2012, at 12:17 PM, Lyu Mitnick wrote: > Hello all, > > I noticed Eliminating the 'void' type in Random LLVM notes. I am wondering to know what's the > meaning of "eliminating" the void type. Is it means the goal is deleting VoidTyID from TypeID > enumeration in Type.h? And what Type::getVoidTy() returned is a pointer to a {}? The general concept is to replace void with {}. Void is a weird type in that it is only allowed as the return value of functions and as the type of instructions like store. It seems better (though a...
2012 Apr 22
2
[LLVMdev] Eliminating the 'void' type
Hello Chris, The general concept is to replace void with {}. Void is a weird type in > that it is only allowed as the return value of functions and as the type of > instructions like store. It seems better (though also not particularly > high priority) to eliminate it to make the type system more consistent. > > -Chris > I also noticed a sentence "We can even make
2012 Apr 22
0
[LLVMdev] Eliminating the 'void' type
On Apr 22, 2012, at 3:44 AM, Lyu Mitnick wrote: > Hello Chris, > > The general concept is to replace void with {}. Void is a weird type in that it is only allowed as the return value of functions and as the type of instructions like store. It seems better (though also not particularly high priority) to eliminate it to make the type system more consistent. > > -Chris > >