Displaying 20 results from an estimated 48 matches for "getprimitivesizeinbites".
2009 Oct 20
2
[LLVMdev] Dereference PointerType?
Daniel Waterworth <da.waterworth at googlemail.com> writes:
[snip]
Use the getElementType method of PointerType.
>> size_t size;
>> if (isa<PointerType>(allocated_type)) {
>> size = sizeof(void*) * 8;
>> } else {
>> size = allocated_type->getPrimitiveSizeInBits();
>> }
>> // size now equals the size (in bits) of the type allocated
2009 Oct 20
3
[LLVMdev] Dereference PointerType?
Hello,
I'm wondering if it's possible to dereference a PointerType. I have an
AllocaInst and although I can find the number of elements allocated, (using
Instruction::getOperand(0)), I can't find a way to get the size of each
element. What I'd like to do is:
AllocaInst *alloca;
PointerType *ptr_type = dynamic_cast<PointerType*>(alloca);
assert(ptr_type);
Type
2014 Nov 05
3
[LLVMdev] How to lower the intrinsic function 'llvm.objectsize'?
The documentation of LLVM says that "The llvm.objectsize intrinsic is
lowered to a constant representing the size of the object concerned". I'm
attempting to lower this intrinsic function to a constant in a pass. Below
is the code snippet that I wrote:
for (BasicBlock::iterator i = b.begin(), ie = b.end();
(i != ie) && (block_split == false);) {
IntrinsicInst *ii =
2009 Oct 20
0
[LLVMdev] Dereference PointerType?
2009/10/20 Daniel Waterworth <da.waterworth at googlemail.com>
> Hello,
>
> I'm wondering if it's possible to dereference a PointerType. I have an
> AllocaInst and although I can find the number of elements allocated, (using
> Instruction::getOperand(0)), I can't find a way to get the size of each
> element. What I'd like to do is:
>
> AllocaInst
2010 May 28
4
[LLVMdev] how to get TargetData?
Dear all
I am trying to get the size of an LLVM pointer type.
getPrimitiveSizeInBits() returns 0 for it and the documentation for
isSized() suggest to use TargetData.
I figured out from Kaleidoscope example that one can get a pointer to
TagetData object through the execution engine but it seems to be an
overkill.
What is the right way to do it?
Best regards,
Victor
-------------- next part
2009 Oct 20
4
[LLVMdev] Dereference PointerType?
It may not be the best way to do what I'm trying to do, but it's not useless
and bogus. Consider the following:
%1 = alloca i32* ; %1 is of type i32**, dereferenced it becomes a type i32*
and
; the size of that is sizeof(void *) bytes
Having said that I am looking at the target data getTypeAllocSize method.
Daniel
2009/10/20 Duncan Sands <baldrick at
2014 Nov 05
3
[LLVMdev] How to lower the intrinsic function 'llvm.objectsize'?
Thanks for your reply.
I'm attempting to expand KLEE to support this intrinsic function.
That's why I need to handle this myself.
According to the reply, the correct implementation should first find the
definition of the object and then determine the
size of the object.
BTW, can I just refer to the implementation in InstCombineCalls.cpp.
On Wed, Nov 5, 2014 at 2:24 PM, Matt Arsenault
2007 Jul 27
3
[LLVMdev] Implementing sizeof
Hi folks,
Assuming that I'm writing a pass and that for bizarre reasons I need to
programmatically do the equivalent of a C/C++ sizeof on a Value (or a
Type, it doesn't matter which really), yielding a result in bytes, what
is the known-safe way to do this? I notice that doing something like
struct thingy
{
... some stuff ...
};
...
printf("Size = %d",
2014 May 13
4
[LLVMdev] Problems in instrumentation
Hi everyone,
I have some trouble in instrumenting load instructions. I want to
instrument load instructions as follow: Firstly, I judge whether the loaded
pointer(*any type is possible*) is NULL. If so, I want to explicitly
allocate the corresponding address space of its type to the pointer.
For example, in source code level I want to translate the next statement
*p = 1;
into the next
2009 Oct 20
0
[LLVMdev] Dereference PointerType?
Óscar Fuentes wrote:
> Daniel Waterworth <da.waterworth at googlemail.com> writes:
>
> [snip]
>
> Use the getElementType method of PointerType.
>
>>> size_t size;
>>> if (isa<PointerType>(allocated_type)) {
>>> size = sizeof(void*) * 8;
>>> } else {
>>> size = allocated_type->getPrimitiveSizeInBits();
>>>
2009 Oct 20
0
[LLVMdev] Dereference PointerType?
Daniel Waterworth <da.waterworth at googlemail.com> writes:
> It may not be the best way to do what I'm trying to do, but it's not useless
> and bogus. Consider the following:
>
> %1 = alloca i32* ; %1 is of type i32**, dereferenced it becomes a type i32*
> and
> ; the size of that is sizeof(void *) bytes
What Duncan says is that any valid
2010 May 28
0
[LLVMdev] how to get TargetData?
Victor Zverovich wrote:
> Dear all
>
> I am trying to get the size of an LLVM pointer type.
> getPrimitiveSizeInBits() returns 0 for it and the documentation for
> isSized() suggest to use TargetData.
> I figured out from Kaleidoscope example that one can get a pointer to
> TagetData object through the execution engine but it seems to be an
> overkill.
> What is the
2011 Jun 06
2
[LLVMdev] Explanation
Hi All,
I am trying to check if a Value type is a int32 pointer by using
if(T == Type::getInt1PtrTy(Context, AS)) ...
I am trying to understand the AS (address space).
How do I get it? Thanks.
George
*
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110606/775e4f09/attachment.html>
2011 Jun 06
0
[LLVMdev] Explanation
On 6 June 2011 17:08, George Baah <georgebaah at gmail.com> wrote:
> if(T == Type::getInt1PtrTy(Context, AS)) ...
Hi,
You don't need to care about address spaces to check for an int32*:
if (T->isPointerTy()) {
const Type* intT = cast<PointerType>(T)->getElementType();
if (intT->isIntegerTy() && intT->getPrimitiveSizeInBits() == 32)
cout <<
2010 May 28
0
[LLVMdev] how to get TargetData?
For those targets supported by LLVM, you can get their TargetData by
creating TargetMachine first (take X86 as example):
==== BEGIN CODE SNIPPET ====
const std::string TripleStr = "i686-unknown-linux"; // hard coded for
example
const std::string FeatureStr = ""; // hard coded for example
std::string Err;
const Target* T;
TargetMachine* TM = NULL;
const
2012 Feb 15
2
[LLVMdev] Wrong AliasAnalysis::getModRefInfo result
Just want to test out the LLVM's AliasAnalysis::getModRefInfo API. The
input C code is very simple:
void foo(int *a, int *b)
{
for(int i=0; i<10; i++)
b[i] = a[i]*a[i];
}
int main()
{
int a[10];
int b[10];
for(int i=0; i<10; i++)
a[i] = i;
foo(a,b);
return 0;
}
Obviously, for "foo", it only reads from array "a" and only writes to array
2009 Jun 29
1
[LLVMdev] Type get size
I am trying to get the address ranges that are allocated by the global
variable list of a module. I cannot seem to find an easy way to get
the size of a global variable. That is, if the C source looks like:
int a[3];
then printing the description of the type of this global looks like:
[3 x i32]*
Is there some nice way to get "3 words" or "12 bytes" from the above
example?
2011 Jun 06
1
[LLVMdev] Explanation
On Jun 6, 2011, at 10:05 AM, Renato Golin wrote:
> On 6 June 2011 17:08, George Baah <georgebaah at gmail.com> wrote:
>> if(T == Type::getInt1PtrTy(Context, AS)) ...
>
> You don't need to care about address spaces to check for an int32*:
>
> if (T->isPointerTy()) {
> const Type* intT = cast<PointerType>(T)->getElementType();
> if
2018 Feb 01
0
Get size of memory access with non-primitive type
Hi all,
I am trying to get the size of memory access (load) using
dyn_cast<LoadInst>(Inst)->getType()->getPrimitiveSizeinBit(), which
works for most cases. However, for load instructions like "%18 = load
i8*, i8** %11, align 8, !tbaa !10" where we have double star (**)
pointer access, such method would only return a value of 0. I am
wondering is there any method that
2008 Jun 05
0
[LLVMdev] A question about CBackend.cpp
Hi,
I'm reading the code in CBackend.cpp and found some wired chunk in
void CWriter::printConstant(Constant *CPV)
938 if (ConstantInt *CI = dyn_cast<ConstantInt>(CPV)) {
939 const Type* Ty = CI->getType();
940 if (Ty == Type::Int1Ty)
941 Out << (CI->getZExtValue() ? '1' : '0');
942 else if (Ty == Type::Int32Ty)
943 Out << CI->getZExtValue() <<