Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Set alignment of a structure?"
2009 May 07
2
[LLVMdev] Set alignment of a structure?
>> Is it possible to set the alignment of a StructType in llvm?
>
> Nope. If this is for a global variable (For example), you build the
> ConstantStruct with a type that ensures that the elements get the
> right offsets, then you put the alignment on the GlobalVariable itself.
That is unfortunate for a few reasons,
(1) I am generating multi-threaded code, and I want to use
2009 May 07
0
[LLVMdev] Set alignment of a structure?
On May 7, 2009, at 8:53 AM, Nick Johnson wrote:
> Hello,
>
> Is it possible to set the alignment of a StructType in llvm?
Nope. If this is for a global variable (For example), you build the
ConstantStruct with a type that ensures that the elements get the
right offsets, then you put the alignment on the GlobalVariable itself.
-Chris
2020 Sep 30
2
Creating a global variable for a struct array
Let me clarify my question.
I have a struct array h1 as follows:
dhash h1[10];
I want to get a Constant* to variable h1. It looks like I can use ConstantStruct::get(StructType*, ArrayRef<Constant *>) to do this.
My question is how to get the second argument of type ArrayRef<Constant *> from the above variable h1.
Thanks,
Chaitra
________________________________
From: Tim Northover
2009 May 07
0
[LLVMdev] Set alignment of a structure?
On May 7, 2009, at 9:58 AM, Nick Johnson wrote:
>>> Is it possible to set the alignment of a StructType in llvm?
>>
>> Nope. If this is for a global variable (For example), you build the
>> ConstantStruct with a type that ensures that the elements get the
>> right offsets, then you put the alignment on the GlobalVariable
>> itself.
>
> That is
2020 Sep 22
2
Creating a global variable for a struct array
Hello,
I would like to create a global variable for the following struct array, h1
dhash* h1 = new dhash[10];
typedef struct dhash{
char* filenm;
dlist* llist;
}dhash;
typedef struct dlist{
int soffst;
int eoffst;
uint8_t* dptr;
}dlist;
I also need to allocate space for:
1) the field llist in struct dhash which is a pointer to another struct dlist and
2) the field
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.
>
>
2008 Sep 12
2
[LLVMdev] Order of fiels and structure usage
I'd like to be able to make use of a structure type and its fields before
it is completely defined. To be specific, let me ask detailed questions
at various stages in the construction of a recursive type. I copy from
http://llvm.org/docs/ProgrammersManual.html#TypeResolve
// Create the initial outer struct
PATypeHolder StructTy = OpaqueType::get();
Is it possible to declare
2005 Mar 08
2
[LLVMdev] Recursive Types using the llvm support library
>> An example where something really simple like the line below was output
>> would be perfect.
>>
>> %struct.linked_list = type { %struct.linked_list*, %sbyte* }
>
> Use something like this:
>
> PATypeHolder StructTy = OpaqueType::get();
> std::vector<const Type*> Elts;
> Elts.push_back(PointerType::get(StructTy));
>
2005 Mar 15
2
[LLVMdev] Dynamic Creation of a simple program
Thanks for the information
I am trying to use one of your examples for recursive data structures:
=========================
PATypeHolder StructTy = OpaqueType::get();
std::vector<const Type*> Elts;
Elts.push_back(PointerType::get(StructTy));
Elts.push_back(PointerType::get(Type::SByteTy));
StructType *NewSTy = StructType::get(Elts);
// At this point, NewSTy = "{ opaque*, sbyte*
2005 Mar 15
0
[LLVMdev] Dynamic Creation of a simple program
On Tue, 15 Mar 2005, xavier wrote:
> Thanks for the information
> I am trying to use one of your examples for recursive data structures:
>
> =========================
> PATypeHolder StructTy = OpaqueType::get();
> std::vector<const Type*> Elts;
> Elts.push_back(PointerType::get(StructTy));
> Elts.push_back(PointerType::get(Type::SByteTy));
> StructType *NewSTy =
2011 Jun 25
0
[LLVMdev] inefficiencies in ConstantUniqueMap ?
On 25 June 2011 13:00, Duncan Sands <baldrick at free.fr> wrote:
>> 3. Clang/dragonegg need to adapt to the new API (help appreciated!)
>
> what needs to be done exactly?
Background info: http://www.nondot.org/sabre/LLVMNotes/TypeSystemRewrite.txt
As I understand it, PATypeHolder, OpaqueType and the Module's
TypeSymbolTable are gone. Instead, StructTypes can optionally be
2008 Jun 13
1
[LLVMdev] code generation order revisited.
On Thu, 12 Jun 2008 16:05:19 -0400, Gordon Henriksen wrote:
>
> Partially opaque types can be refined. This section of the programmer's
> manual is applicable:
>
> http://llvm.org/docs/ProgrammersManual.html#BuildRecType
>
> — Gordon
Here it is:
: // Create the initial outer struct
: PATypeHolder StructTy = OpaqueType::get();
: std::vector<const Type*> Elts;
:
2005 Mar 08
0
[LLVMdev] Recursive Types using the llvm support library
On Tue, 8 Mar 2005, Vladimir Merzliakov wrote:
>>> An example where something really simple like the line below was output
>>> would be perfect.
>>>
>>> %struct.linked_list = type { %struct.linked_list*, %sbyte* }
>>
>> Use something like this:
>>
>> PATypeHolder StructTy = OpaqueType::get();
>> std::vector<const
2012 Sep 19
3
[LLVMdev] newbie question on getelementptr
Hi All,
I'm new to LLVM and I'm having a coding problem.
I'm creating a GlobalVariable that contains a StructType that contains a
Function. The function returns i32 and takes two i32's.
Here is my code:
GlobalVariable* retrieved = module->getGlobalVariable("myGV");
...
Constant* result = ConstantExpr::getGetElementPtr(retrieved, indices);
How do I get my Function
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,
2012 Jul 06
2
[LLVMdev] Self-referential function pointer
Hey guys,
I could use some advice on a special case of a function pointer as a formal
argument. I would like the function pointer type to contain the actual
signature of the function, i.e. not a pointer to var args function. This
becomes an issue when I have a function which can take a pointer to itself
as an argument... our terminology for this is "a recursive procedure". That
is, of
2008 Sep 12
0
[LLVMdev] Order of fiels and structure usage
On Fri, Sep 12, 2008 at 9:35 AM, Hendrik Boom <hendrik at topoi.pooq.com> wrote:
> I'd like to be able to make use of a structure type and its fields before
> it is completely defined. To be specific, let me ask detailed questions
> at various stages in the construction of a recursive type. I copy from
>
> http://llvm.org/docs/ProgrammersManual.html#TypeResolve
>
>
2009 May 08
2
[LLVMdev] Set alignment of a structure?
Chris,
On Thu, May 7, 2009 at 7:20 PM, Chris Lattner <clattner at apple.com> wrote:
> nd what you're saying. LLVM can and does already
> express this, just in a different form. Why does this need to be in
> the type?
I misunderstood your earlier email. Now I understand. Setting
alignment on a global variable will work for many of my needs.
However, say I need to construct
2020 Oct 01
2
Creating a global variable for a struct array
Thank you very much. The code to initialize h1 to non-zero values was what I was looking for.
It's almost working except for a type mismatch wrt dlist* llist field of h1.
dlist static_lst[10] = { {1, 5, NULL}, ... };
dhash h1[10] = {{"myfile.txt", static_lst}, ... };
Along the lines of the code you had sent, I created a GlobalVariable* llist of type [10 x %struct.dlist]* for the
2018 Aug 24
3
OpaqueType:: get()
I have code that uses OpaqueType::get(), it was used to be in
llvm/IR/DerivedType.h , but it is removed now. What should I use for it
replacement.
Also, it is using #include <llvm/Bytecode/WriteBytecodePass.h> , but I do
not found any WriteBytecodePass.h in my source code. Please tell me, what
should I use in replacement of these.
Thanks& Regards,
Ratnesh Tiwari
-------------- next