On Tuesday 04 December 2007 15:26, Duncan Sands wrote:> Hi Jon, > > > I notice that, even though I'm on 64-bit, many indexes are required by > > LLVM to be 32-bit integers. This won't be too important for the next few > > years except, I think, for the case of indexing large mmapped files which > > could already require more than 32-bits. > > > > Am I right and is this on the todo list? What are 32-bit integers doing > > in the 64-bit version of LLVM anyway? > > array indices can be 32 bit or 64 bit.But array lengths must be 32-bit? I've just started using arrays here so maybe I'm doing something wrong but attempting to allocate an array with a 64-bit length gives the error: bench: Instructions.cpp:650: llvm::Value* getAISize(llvm::Value*): Assertion `Amt->getType() == Type::Int32Ty && "Malloc/Allocation array size is not a 32-bit integer!"' failed. -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e
Hi Jon,> But array lengths must be 32-bit?array types can have 64 bit lengths. This is useful for modelling all of memory as an array.> I've just started using arrays here so maybe I'm doing something wrong but > attempting to allocate an array with a 64-bit length gives the error: > > bench: Instructions.cpp:650: llvm::Value* getAISize(llvm::Value*): Assertion > `Amt->getType() == Type::Int32Ty && "Malloc/Allocation array size is not a > 32-bit integer!"' failed.Ah, memory allocation! I think you want to declare a very long array type and then alloc one of them (rather than trying to alloc a large number of array components). Ciao, Duncan.
On Tuesday 04 December 2007 16:38, Duncan Sands wrote:> Ah, memory allocation! I think you want to declare a very long array type > and then alloc one of them (rather than trying to alloc a large number of > array components).I see. I was indeed making a mistake. This begs the question of what exactly I was doing though. What exactly does "alloc a large number of array components" do then? Is it for allocating many arrays of the same type and length at the same time? Like a matrix? -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/products/?e