similar to: [LLVMdev] RefineAbstractType

Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] RefineAbstractType"

2008 Nov 12
2
[LLVMdev] RefineAbstractType
On Wednesday 12 November 2008 17:29, Chris Lattner wrote: > In fact, I strongly suspect that RefineAbstractType doesn't work if > you give it something that isn't Opaque. I'd recommend only using it > on Opaque, not random abstract types. Ok. > Sure, LLVM is more general than C. In LLVM, you can have a pointer > that points to itself, for example: > > %t =
2008 Nov 12
0
[LLVMdev] RefineAbstractType
On Nov 12, 2008, at 2:59 PM, David Greene wrote: > Is there some reason that RefineAbstractType doesn't recurse down > DerivedTypes > and further resolve abstract types? Because that would resolve two different types. RefineAbstractType just refines the one type you request, and further uniques types based on it. In fact, I strongly suspect that RefineAbstractType
2008 Nov 13
3
[LLVMdev] RefineAbstractType
On Wednesday 12 November 2008 18:58, Chris Lattner wrote: > On Nov 12, 2008, at 3:37 PM, David Greene wrote: > >>> Unfortunately, calling FunctionType::refineAbstractType(opaque, void > >>> (...)) > >>> doesn't work because RefineAbstractType doesn't recurse down into > >>> the > >>> pointee types. > >> > >>
2008 Nov 13
0
[LLVMdev] RefineAbstractType
On Nov 12, 2008, at 3:37 PM, David Greene wrote: >>> Unfortunately, calling FunctionType::refineAbstractType(opaque, void >>> (...)) >>> doesn't work because RefineAbstractType doesn't recurse down into >>> the >>> pointee types. >> >> What types are you starting out with? If you had the equivalent of: >> >> %t1 = type
2008 Nov 13
0
[LLVMdev] RefineAbstractType
On Nov 12, 2008, at 5:07 PM, David Greene wrote: > On Wednesday 12 November 2008 18:58, Chris Lattner wrote: >> On Nov 12, 2008, at 3:37 PM, David Greene wrote: >>>>> Unfortunately, calling FunctionType::refineAbstractType(opaque, >>>>> void >>>>> (...)) >>>>> doesn't work because RefineAbstractType doesn't recurse
2008 Nov 13
2
[LLVMdev] RefineAbstractType
On Wednesday 12 November 2008 19:13, Chris Lattner wrote: > On Nov 12, 2008, at 5:07 PM, David Greene wrote: > > On Wednesday 12 November 2008 18:58, Chris Lattner wrote: > >> On Nov 12, 2008, at 3:37 PM, David Greene wrote: > >>>>> Unfortunately, calling FunctionType::refineAbstractType(opaque, > >>>>> void > >>>>> (...))
2008 Nov 13
0
[LLVMdev] RefineAbstractType
On Nov 13, 2008, at 2:35 PM, David Greene wrote: >> t1->refineAbstractType(t2) > > Oh, I see. > > Then what's the purpose of PointerType::refineAbstractType, > FunctionType::refineAbstractType, etc.? They are "internal" implementation details of the refinement system. -Chris
2008 Nov 14
3
[LLVMdev] RefineAbstractType
On Wednesday 12 November 2008 19:13, Chris Lattner wrote: > You shouldn't be refining the pointer, you should use: > > t1->refineAbstractType(t2) Ok, I tried this and I get further. But the type system seems to have trouble when refining multiple types and those types resolve to the same thing. I turned on DEBUG_MERGE_TYPES to illustrate: *** First function type ***
2010 Aug 03
1
[LLVMdev] Replacing types, use of refineAbstractType
I'm working on a personal project which involves lowering a superset of LLVM to "vanilla" LLVM. Part of this involves rewriting types. I'm working off of the 2.6 code base, so this may have been addressed in a bug fix. I'm having trouble with refineAbstractType and recursive types. Specifically, I'm creating opaque types to serve as placeholders for the final
2008 Nov 15
0
[LLVMdev] RefineAbstractType
On Thursday 13 November 2008 18:27, David Greene wrote: > On Wednesday 12 November 2008 19:13, Chris Lattner wrote: > > You shouldn't be refining the pointer, you should use: > > > > t1->refineAbstractType(t2) > > Ok, I tried this and I get further. But the type system seems to have > trouble when refining multiple types and those types resolve to the same
2009 Jul 10
0
[LLVMdev] void llvm::PATypeHolder::addRef(): Assertion `Ty && "Type Holder has a null type!"' failed.
Hi, I am using current SVN and in the last week or so, something causing the following assertion failure has changed. void llvm::PATypeHolder::addRef(): Assertion `Ty && "Type Holder has a null type!"' failed. The corresponding stack trace is: #0 0x000000339ec332f5 in raise () from /lib64/libc.so.6 #1 0x000000339ec34b20 in abort () from /lib64/libc.so.6 #2
2007 May 03
1
[LLVMdev] which g++ to compile LLVM CVS on Linux/AMD64?
Le Thu, May 03, 2007 at 09:36:22AM -0700, Chris Lattner écrivait/wrote: > On Thu, 3 May 2007, Basile STARYNKEVITCH wrote: > > > > > FWIW, the latest gcc snapshot from yesterday gcc version 4.3.0 20070501 > > (experimental) fail to compile latest LLVM (with compile errors!). > > Please file an llvm bug report with these errors. It may be that we are > doing
2012 Aug 28
0
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
On Aug 27, 2012, at 10:15 PM, Chris Lattner <clattner at apple.com> wrote: > On Aug 27, 2012, at 12:58 PM, Hal Finkel <hfinkel at anl.gov> wrote: >> On Mon, 27 Aug 2012 11:41:47 -0700 >> Dan Gohman <gohman at apple.com> wrote: >>> On Aug 24, 2012, at 10:50 PM, Hal Finkel <hfinkel at anl.gov> wrote: >>> >>>> On Wed, 22 Aug 2012
2012 Dec 12
0
[LLVMdev] [cfe-dev] no-alias generated as result of restrict function arguments
On Wed, Dec 12, 2012 at 8:38 AM, Joerg Sonnenberger <joerg at britannica.bec.de> wrote: > On Tue, Dec 11, 2012 at 03:17:43AM -0800, Chandler Carruth wrote: >> As Joerg pointed out in IRC, 'y' is an lvalue, but we do not use it to >> access the object it designates, we only use it to compute the address, and >> thus restrict should have no bearing on it. That
2016 Oct 30
2
RFC: PointerType should derive from Type rather than SequentialType
Hi all, An oddity that has existed for a long time in the IR is that PointerType derives from SequentialType. Per subject I propose to make PointerType derive from Type for a couple of reasons: - Values of type PointerType are unlike the other SequentialTypes (arrays and vectors) in that they do not hold values of the element type. By moving PointerType we can unify certain aspects of how the
2013 Jul 04
2
[LLVMdev] making a copy of a byval aggregate on the callee's frame
Hi - help! I have read through previous threads on the subject of 'byval' e.g. https://groups.google.com/forum/#!topicsearchin/llvm-dev/Exact$20meaning$20of$20byval/llvm-dev/cyRZyXcMCNI https://groups.google.com/forum/#!topicsearchin/llvm-dev/$20byval/llvm-dev/uk4uiK93jeM https://groups.google.com/forum/#!topicsearchin/llvm-dev/byval/llvm-dev/46Tv0lSRwBg and read through code
2015 Aug 21
2
Canonical representation for empty lists in debug info metadata
While checking for serialization/deserialization without using pointee types, I've come across a few test cases that crash at head, without my debugging assertions for accessing pointee types. One of them is test/Transforms/StripSymbols/2010-06-30-StripDebug.ll Its retainedTypes metadata points to a metadata array of a single null element. This crashes the dyn_cast (because it's not a
2007 Nov 25
2
[LLVMdev] C embedded extensions and LLVM
>>> Please add a generous block comment to >>> llvm/include/llvm/Bitcode/LLVMBitCodes.h above the new enum >>> explaining >>> what the difference is though. :) >> > > Should have said: > >> Should I take the same approach to the encoding of pointer types in >> the types table? PointerTypes are a bit easier. The code to write them
2012 May 12
2
[LLVMdev] Info on byval attributes
LLVM developers, I was wondering if the program would still be safe if I strip the byval attributes from the parameters in the entire bitcode. LLVM language reference manual states that "The attribute implies that a hidden copy of the pointee is made between the caller and the callee, so the callee is unable to modify the value in the callee. This attribute is only valid on LLVM pointer
2016 Oct 31
0
RFC: PointerType should derive from Type rather than SequentialType
Seems pretty plausible to me - my only question would be whether it's worth the churn to do this intermediate step before finishing off typeless pointers (granted, I've stalled out on that for nearly a year, admittedly - but good to have extra hands/incentives - there's still a fair bit of work to do though, so understandable if it might not be useful to block progress on other things