Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] questions"
2002 Sep 17
0
[LLVMdev] questions
Also sprach xli3 at uiuc.edu:
} Sorry I got really overwhelmed by so many classes and member
} functions in LLVM. So would you please clarify some problems
} I have?
}
} 1. If I see this instruction in the function.
}
} %S.i = alloca %struct.SimpleStruct
}
} Suppose SimpleStruct is as following:
} struct.SimpleStruct = type { int, double }
}
} When I read the instruction, how can I know the
2002 Sep 17
3
[LLVMdev] questions
Sorry I got really overwhelmed by so many classes and member
functions in LLVM. So would you please clarify some problems
I have?
1. If I see this instruction in the function.
%S.i = alloca %struct.SimpleStruct
Suppose SimpleStruct is as following:
struct.SimpleStruct = type { int, double }
When I read the instruction, how can I know the type of
simplstruct, should I use 'getType'
2009 Jan 09
2
[LLVMdev] RFC: Store alignment should be LValue alignment, not source alignment
Hi all,
Please review this patch. It's fixing PR3232 comment #8. Function bar
from 2008-03-24-BitFiled-And-Alloca.c compiles to:
%struct.Key = type { { i32, i32 } }
...
define i32 @bar(i64 %key_token2) nounwind {
entry:
%key_token2_addr = alloca i64 ; <i64*> [#uses=2]
%retval = alloca i32 ; <i32*> [#uses=2]
%iospec =
2010 Jan 28
0
[LLVMdev] [patch] Union Types - work in progress
I've made all the suggested changes - however, I'm having a bit of problem
running the tests. I started "make check" and several hours later it had
only made it through about 1/3 of the tests. I'm not sure what the deal is.
On Mon, Jan 18, 2010 at 1:40 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Jan 16, 2010, at 11:15 AM, Talin wrote:
>
> OK
2010 Jan 28
0
[LLVMdev] [patch] Union Types - work in progress
OK here's a new version of the patch - and the unions.ll test actually
passes :)
On Mon, Jan 18, 2010 at 1:40 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Jan 16, 2010, at 11:15 AM, Talin wrote:
>
> OK here's the patch for real this time :)
>>
>> On Fri, Jan 15, 2010 at 4:36 PM, Talin <viridia at gmail.com> wrote:
>> Here's a work
2010 Mar 15
0
[LLVMdev] [patch] Writing ConstantUnions
On Mon, Mar 15, 2010 at 11:51:47AM +0000, Tim Northover wrote:
> Hello,
>
> I noticed a bit of a gap in the current code for unions: a
> ConstantUnion cannot be written out to .ll.
I've been continuing plugging gaps as I find them, which might not be
the best way to solve this problem, but it has produced something that
seems to do roughly what I expect.
I've split it into
2008 Nov 08
0
[LLVMdev] non-pointer gcroot
On Nov 7, 2008, at 15:29, Scott Graham wrote:
> I'm getting an assert in LowerIntrinsics::InsertRootInitializers
> because I'm gcroot'ing an alloca to a non-pointer.
>
> I was hoping to modify InsertRootInitializers to memset the
> structure in the case that it's not a pointer, but I'm not sure how
> to. Can anyone suggest what should go at "todo;
2019 Oct 21
2
How to create vector pointer type?
Hello,
Say the original type is Integer i16*, I want to create a v16i16* type to replace it.
static Type *getVectorPtr(Type *Ty) {
PointerType *PointerTy = dyn_cast<PointerType>(Ty);
assert(PointerTy && "PointerType expected");
unsigned addSpace = PointerTy->getAddressSpace();
2010 Jan 18
5
[LLVMdev] [patch] Union Types - work in progress
On Jan 16, 2010, at 11:15 AM, Talin wrote:
> OK here's the patch for real this time :)
>
> On Fri, Jan 15, 2010 at 4:36 PM, Talin <viridia at gmail.com> wrote:
> Here's a work in progress of the union patch. Note that the test
> "union.ll" does not work, so you probably don't want to check this
> in as is. However, I'd be interested in any
2010 Feb 10
3
[LLVMdev] [patch] Union Types - work in progress
ping...
On Thu, Jan 28, 2010 at 12:25 PM, Talin <viridia at gmail.com> wrote:
> OK here's a new version of the patch - and the unions.ll test actually
> passes :)
>
> On Mon, Jan 18, 2010 at 1:40 PM, Chris Lattner <clattner at apple.com> wrote:
>
>>
>> On Jan 16, 2010, at 11:15 AM, Talin wrote:
>>
>> OK here's the patch for real this
2012 Sep 21
0
[LLVMdev] How To Get The Name of the type the popinter is pointing to
i am using llvm ,
i did this
if ( AllocaInst *allocInst =
dyn_cast<AllocaInst>(&*bbit)){
PointerType *p = allocInst->getType();
if ( p->getElementType()->isPointerTy()){
StringRef name =
allocInst->getName();
2012 Feb 16
0
[LLVMdev] Wrong AliasAnalysis::getModRefInfo result
Something must be wrong, more probable on my side. So the C source code is
unchanged, I just did another experiment to first extract all the GEPs in
the code, and call AliasAnalysis::alias on each pair of GEPs. Here is the
code:
AliasAnalysis &AA = getAnalysis<AliasAnalysis>();
TargetData &TD = getAnalysis<TargetData>();
for (Module::iterator it = M.begin();
2009 Jan 09
0
[LLVMdev] RFC: Store alignment should be LValue alignment, not source alignment
Hi Evan,
> LValue LV = EmitLV(lhs);
> bool isVolatile = TREE_THIS_VOLATILE(lhs);
> unsigned Alignment = expr_align(exp) / 8
>
> It's using the alignment of the expression, rather than the memory
> object of LValue.
can't you just use expr_align(lhs) instead?
> The patch saves the alignment of the memory object in LValue returned
> by EmitLV().
2010 Jul 21
1
[LLVMdev] How to recognize pointer variable & ordinary variable
Your last statement is correct. But still my stand does not change. I want
to differentiate ordinary local variable & pointer variables.
Let's have a program,
int a,b,c,*ptr;
I want to extract only the local variables. That's what my question was. I
think it is clear now. cast<PointerType>(A->getType()
>
> )->getElementType() is not working. I am also getting error
2015 Aug 14
2
[LLVM RFC] Add llvm.typeid.for intrinsic
This is for BPF output. BPF program output bytes to perf through a
tracepoint. For decoding such data, we need a way to describe the format
of the buffer. This patch is a try which gives each variable a unique
number by introducing a new intrinsic 'llvm.typeid.for'.
At the bottom is an example of using that intrinsic and the result
of
$ clang -target bpf -O2 -c -S ./test_typeid.c
2010 May 28
0
[LLVMdev] Retrieving Underlying Type from AllocaInst
You should be able to use the second alternative that Nick proposed:
cast<PointerType*>(pointer_value->getType())->getElementType()
Reid
On Fri, May 28, 2010 at 9:37 AM, Curtis Faith <curtis at curtisfaith.com> wrote:
> Thanks Nick,
> Unfortunately, that is indeed what I asked for but not what I really am
> looking for.
> My naive approach is to store symbol table
2010 May 28
0
[LLVMdev] Retrieving Underlying Type from AllocaInst
Curtis Faith wrote:
> Is there a recommended way to retrieve the original type from an
> AllocaInst object?
>
> For example, I am creating alloca instructions using the IRBuilder
> interface like:
>
> alloca = builder.CreateAlloca( Type::getDoubleTy( context ), 0,
> variableName.c_str() );
>
> and I place the alloca into a symbol table.
>
> Later when I am
2008 Nov 07
2
[LLVMdev] non-pointer gcroot
Hi
I'm getting an assert in LowerIntrinsics::InsertRootInitializers
because I'm gcroot'ing an alloca to a non-pointer.
I was hoping to modify InsertRootInitializers to memset the structure
in the case that it's not a pointer, but I'm not sure how to. Can
anyone suggest what should go at "todo; something here"?
...
for (AllocaInst **I = Roots, **E = Roots +
2010 May 28
2
[LLVMdev] Retrieving Underlying Type from AllocaInst
Thanks Nick,
Unfortunately, that is indeed what I asked for but not what I really am looking for.
My naive approach is to store symbol table entries as Value* objects so I can allocate global variables and alloca variables and place them into the symbol table and the rest of the code didn't need to know which kind they were, in general. Loads and Stores of these types (as well as other
2009 Mar 20
0
[LLVMdev] GC interface suggestions
Hello,
I have a few suggestions for the GC interface. First, initialization of roots fails if the root isn't just a pointer. Some implementations require more data than just the pointer for handling references to the interior of an aggregate. On my end it just required changing ConstantPointerNull::get() to Constant::GetNullValue() to support fat pointers. The roots that were being