Displaying 17 results from an estimated 17 matches for "isabstract".
Did you mean:
abstract
2005 Mar 09
4
[LLVMdev] Recursive Types using the llvm support library
...t;> cast<OpaqueType>(StructTy.get())->refineAbstractTypeTo(NewSTy);
>>>
>>> // NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is
>>> // kept up-to-date.
>>> NewSTy = StructTy.get();
>>>
>> Is assert(!NewSTy->isAbstract()) must pass after this line?
>
> In this case, yup.
>
I create test program and assert failed in it:
{ \2 *, sbyte * }
Assertion failed: (!NewSTy->isAbstract()), function main, file
/usr/home/wanderer/work/LLVMTest/obj/../src/tools/tool/Test.cc, line 28.
Testcase source attached....
2005 Mar 09
0
[LLVMdev] Recursive Types using the llvm support library
On Wed, 9 Mar 2005, Vladimir Merzliakov wrote:
> I create test program and assert failed in it:
>
> { \2 *, sbyte * }
> Assertion failed: (!NewSTy->isAbstract()), function main, file
> /usr/home/wanderer/work/LLVMTest/obj/../src/tools/tool/Test.cc, line 28.
>
> Testcase source attached.
Thanks, that definitely is a bug. Patch here:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050307/024522.html
BTW, what are you using the isA...
2005 Mar 08
2
[LLVMdev] Recursive Types using the llvm support library
...truct and the opaque type are actually the same.
> cast<OpaqueType>(StructTy.get())->refineAbstractTypeTo(NewSTy);
>
> // NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is
> // kept up-to-date.
> NewSTy = StructTy.get();
>
Is assert(!NewSTy->isAbstract()) must pass after this line?
Vladimir
2005 Mar 21
2
[LLVMdev] Recursive Types using the llvm support library
On Sun, 20 Mar 2005, John Carrino wrote:
> On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote:
>>>> Is assert(!NewSTy->isAbstract()) must pass after this line?
>>>
>>> In this case, yup.
>>>
>> I create test program and assert failed in it:
>>
>> { \2 *, sbyte * }
>
> How do I decode the \2 in this? I am creating types through this
> interface and I get quite a mess seen...
2005 Mar 08
0
[LLVMdev] Recursive Types using the llvm support library
...actually the same.
>> cast<OpaqueType>(StructTy.get())->refineAbstractTypeTo(NewSTy);
>>
>> // NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is
>> // kept up-to-date.
>> NewSTy = StructTy.get();
>>
> Is assert(!NewSTy->isAbstract()) must pass after this line?
In this case, yup.
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
2005 Mar 21
0
[LLVMdev] Recursive Types using the llvm support library
On Sun, Mar 20, 2005 at 07:01:55PM -0600, Chris Lattner wrote:
> On Sun, 20 Mar 2005, John Carrino wrote:
>
> >On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote:
> >>>>Is assert(!NewSTy->isAbstract()) must pass after this line?
> >>>
> >>>In this case, yup.
> >>>
> >>I create test program and assert failed in it:
> >>
> >>{ \2 *, sbyte * }
> >
> >How do I decode the \2 in this? I am creating types through this
> &...
2005 Mar 21
1
[LLVMdev] Recursive Types using the llvm support library
...ngs names so
>> that you have a hope to understand them and so they are more compact :)
>
> I took your advide and used Module::addTypeName which is a great idea
> that I didn't know about.
>
> Now I am getting a seg fault, here
>
> SymbolTable.cpp:251
> if (T->isAbstract()) {
> cast<DerivedType>(T)->addAbstractTypeUser(this);
>
> I am assuming the patch mentioned earlier on the thread will fix this.
> I just wanted to ask to make sure before i went ahead and recompiled.
You would have to give me more context to say for sure, but updating to...
2007 Oct 02
1
[LLVMdev] Modifying Instruction Class
...nstruction class but I get assertion errors when I run lli.
All I add is the following line to the private portion of the Instruction class definition.
bool b;
The error usually is:
lli: /development/Contracts/DOVE/src/c/llvm/include/llvm/Type.h:329: void llvm::Type::dropRef() const: Assertion `isAbstract() && "Cannot drop a reference to a non-abstract type!"' failed.
lli((anonymous namespace)::PrintStackTrace()+0x1a)[0x848a04a]
/lib/tls/libc.so.6(abort+0x129)[0x5a1319]
/lib/tls/libc.so.6(__assert_fail+0x101)[0x598f41]
lli[0x8438796]
Aborted
I'm lost on where this error is...
2005 Mar 21
0
[LLVMdev] Recursive Types using the llvm support library
On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote:
> >>Is assert(!NewSTy->isAbstract()) must pass after this line?
> >
> >In this case, yup.
> >
> I create test program and assert failed in it:
>
> { \2 *, sbyte * }
How do I decode the \2 in this? I am creating types through this
interface and I get quite a mess seen below. And this is relatively
sim...
2004 Jul 10
3
[LLVMdev] Re: [llvm-commits] CAUTION: Type != Value
...found line (254):
((Value*)Ty)->setName(Name, &ST);
Type is not Value now and for me this code call
llvm::DerivedType::addAbstractTypeUser (I think it have same index in Type
VMT in as setName in Value VMT)
with random argument values and terminated with assert fail:
Assertion failed: (isAbstract() && "addAbstractTypeUser: Current type not
abstract!"), function addAbstractTypeUser, file
/home/wanderer/pkg/build/llvm/src/llvm/include/llvm/DerivedTypes.h, line 73.
In Chris Lattner remove setName from Type class
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-2004...
2006 Sep 12
1
[LLVMdev] ICE in LLVM GCC4 Front End
...vision 166)
+++ gcc/llvm-convert.cpp (working copy)
@@ -2202,18 +2202,23 @@
// Figure out how large the element pointed to is.
const Type *ElTy = cast<PointerType>(LHS->getType())-
>getElementType();
- int64_t EltSize = TD.getTypeSize(ElTy);
+
+ if (!ElTy->isAbstract()) {
+ // We can only get the type size (and thus convert to using a
GEP instr)
+ // if the type isn't abstract
+ int64_t EltSize = TD.getTypeSize(ElTy);
- // If EltSize exactly divides Offset, then we know that we can
turn this
- // into a getelementptr instruction.
-...
2004 Jul 10
0
[LLVMdev] Re: [llvm-commits] CAUTION: Type != Value
...>setName(Name, &ST);
>
> Type is not Value now and for me this code call
> llvm::DerivedType::addAbstractTypeUser (I think it have same index in Type
> VMT in as setName in Value VMT)
> with random argument values and terminated with assert fail:
>
> Assertion failed: (isAbstract() && "addAbstractTypeUser: Current type not
> abstract!"), function addAbstractTypeUser, file
> /home/wanderer/pkg/build/llvm/src/llvm/include/llvm/DerivedTypes.h, line 73.
>
> In Chris Lattner remove setName from Type class
> http://mail.cs.uiuc.edu/pipermail/llvm...
2005 Mar 08
0
[LLVMdev] Recursive Types using the llvm support library
On Mon, 7 Mar 2005, John Carrino wrote:
> As far as I can tell, when you construct a type using the support
> library StructType::get, you have to pass in a list of types. How can
> you make a Recursive type by passing in a pointer to the type you are
> constucting.
>
> An example where something really simple like the line below was output
> would be perfect.
>
>
2005 Mar 08
3
[LLVMdev] Recursive Types using the llvm support library
As far as I can tell, when you construct a type using the support
library StructType::get, you have to pass in a list of types. How can
you make a Recursive type by passing in a pointer to the type you are
constucting.
An example where something really simple like the line below was output
would be perfect.
%struct.linked_list = type { %struct.linked_list*, %sbyte* }
Thanks for any help,
2010 Jan 09
0
[LLVMdev] [PATCH] - Union types, attempt 2
...teger(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, "'{' expected after 'union...
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
...gt; 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, &...