Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] int to StringRed conversion"
2013 May 02
2
[LLVMdev] int to StringRed conversion
I think the better solution should be:
LLVMContext& C = is->getContext();
Value *values[] = {
ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*),
MDString::get(C, *"path"*)
};
lnstr.setMetadata(*"your_analysis_name"*, MDNode::get(C, values));
So that you can take advantage of the type system of LLVM bitcode, and
don't have to cast the integers from/to strings
2013 May 02
0
[LLVMdev] int to StringRed conversion
Yes, it sounds good. I can try tomorrow.
Thank you for your advice !
On Thu, May 2, 2013 at 5:43 PM, Logan Chien <tzuhsiang.chien at gmail.com>wrote:
> I think the better solution should be:
>
>
> LLVMContext& C = is->getContext();
> Value *values[] = {
> ConstantInt::getSigned(Type::getInt64Ty(C), *scsr*),
> MDString::get(C, *"path"*)
> };
2013 May 02
0
[LLVMdev] int to StringRed conversion
The problem is that I want to pass only srsr which is an int. "marked" was
just an example :)
Thanks you!
On Thu, May 2, 2013 at 5:06 PM, Logan Chien <tzuhsiang.chien at gmail.com>wrote:
> I'm not familiar with this, but maybe you can try:
>
> StringRef tst = ("marked" + Twine(srsr)).str();
>
> It seems that you can't use integer as meta data
2013 May 02
0
[LLVMdev] int to StringRed conversion
Hi,
I think you may try to use llvm::Twine(int). For example, to convert 30
to string, you can use:
Twine(30).str()
To convert the string back to integer, you can try the
StringRef::getAsInteger(unsigned, APInt &). For example:
APInt i;
str.getAsInteger(/*radix=*/ 10, /*output=*/ i);
Sincerely,
Logan
On Thu, May 2, 2013 at 9:53 PM, Alexandru Ionut Diaconescu <
2013 May 03
2
[LLVMdev] set of integers to metadata
Hello everyone,
I want to pass a set of integers using metadata but I don't know how. I
have tried:
the integers are in array[]
*1. *
LLVMContext& C = is->getContext();
Value* values[size];
for(int gy=0;gy<size;gy++){
values[gy]=ConstantInt::getSigned(Type::getInt64Ty(C),array[gy]);
}
*is->setMetadata("path",MDNode::get(C,values));*
failes when setMetadata(),
2013 May 03
0
[LLVMdev] set of integers to metadata
I also tried the following, with no compilation errors, but segfault, core
dumped:
*LLVMContext& C = is->getContext();
Value* values[size];
for(int gy=0;gy<size;gy++){
values[gy]=ConstantInt::getSigned(Type::getInt64Ty(C),array[gy]);
}
llvm::ArrayRef<Value*> bla = values[size];
is->setMetadata("path",MDNode::get(C,bla));*
On Fri, May 3, 2013
2013 May 28
2
[LLVMdev] unexpectedly loop hanging
Hi Alexandru, did you build LLVM with assertions enabled? If not then you
should do.
Ciao, Duncan.
2013 May 28
3
[LLVMdev] unexpectedly loop hanging
Hello everyone,
I was able to get all the execution paths between 2 points (basic blocks)
in my program (with the condition to traverse a loop only once). I mapped
all the basic blocks to integers and created a correspondent directed graph.
I was able to get all the paths (a path is represented by an integer
identifier). For my target program I have 72 paths, but the program hangs
unexpectedly
2013 May 29
0
[LLVMdev] unexpectedly loop hanging
Hello Duncan,
Yes, I built it with assertions and I have also debug info.
On Tue, May 28, 2013 at 5:47 PM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Alexandru, did you build LLVM with assertions enabled? If not then you
> should do.
>
> Ciao, Duncan.
>
> ______________________________**_________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu
2013 May 28
1
[LLVMdev] unexpectedly loop hanging
Hi,
I don't know much about this issue, but this malloc error won't be solved
by a change to delete[] or free. In fact, if you use the incorrect one for
simple types, you may not notice it. The error you have seems to me like a
memory corruption because you went out of bound and corrupted the memory
somewhere, Valgrind may help you figure out what is going on.
Cheers,
Matthieu
2013 May 28
0
[LLVMdev] unexpectedly loop hanging
As an update, it is a memory problem which I don't know how to fix.
I tried to skip the problematic piece of code when in the case when the
loop hangs. So I did something like :
if( instr )
{
LLVMContext& C = instr->getContext();
Value* values[cnt];
errs()<<"\ngy: \n";
if(!(desters==7)){ // this
2012 Dec 20
1
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
I solved by checking
if(BB->size()>1)
Thank you all for the help !
Now debugging the next segfault.
On Thu, Dec 20, 2012 at 12:59 PM, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>()
> Get the previous node, or 0 for the list
2013 Jun 06
3
[LLVMdev] CFG of a function
I think I understood that, but what I mean is what is the function
responsible to do mapping is it MapValue() in ValueMapper.h?
Thanks for your help
On 6 June 2013 09:54, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> Map every basic block from the CFG to a set of integers. The successors
> from the CFG can be used to make the edges in your simplified
2012 Dec 20
2
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello,
Thank you for your answer. If I want to use
then I have
error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy =
llvm::Instruction]’ is protected
error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible base
of ‘llvm::Instruction’
Do you know any other method to access the previous instruction of a
terminator instruction? PS: back() is not an
2013 Jun 05
2
[LLVMdev] CFG of a function
What do you mean by mapping to integers?
On 5 June 2013 22:32, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> Why you don't map the basic blocks to integers and apply algorithms on the
> integer graph? And construct your new CFG.
>
>
> On Wed, Jun 5, 2013 at 10:27 PM, Rasha Omar <rasha.sala7 at gmail.com> wrote:
>
>> How
2013 Jun 06
0
[LLVMdev] CFG of a function
I don't use a function for do the mapping, it may be MapValue(). If it does
not work, alias an int identifier for each basic block. Be aware because
basic block cannot have the same name (getName) in the same function, but
they might have the same name being in different functions. Therefore, take
into account the function name as well.
Good luck
On Thu, Jun 6, 2013 at 10:55 AM, Rasha Omar
2013 Jun 07
1
[LLVMdev] CFG of a function
But I don't want to map only basic blocks, I need too to map the edges "the
whole CFG of the function"
Save the CFG of the function in another memory address and call it for
example orgCFG and change the CFG by referencing to the orgCFG
Thank you for help and patience
On 6 June 2013 10:59, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> I
2012 Dec 20
0
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
getPrevNode<http://llvm.org/docs/doxygen/html/classllvm_1_1ilist__node.html#a77b897207ef0a1ae95c404695aed9a4b>()
Get the previous node, or 0 for the list head. I don't see any method like
hasPrevNode.
It can be a weird problem because "current->getPrevNode()" is indicating to
"current" itself (the problem appears for the BB with only one element)?
On Thu, Dec
2013 Mar 05
5
[LLVMdev] LLVM load instruction query
HI,
I am creating a pass that will pass loaded value by load instruction to an
external function.
I don't know how to do it.Please Help.
2013 Feb 27
3
[LLVMdev] llvm get annotations
Hello everyone !
I followed
http://stackoverflow.com/questions/4976298/modern-equivalent-of-llvm-annotationmanagerin
order to get annotations from my target bytecode. All the examples
that
I give in the following is related to the code from that link. I have
`__attribute__((annotate("DS"))) int f=0;` into the target C++ program and
the related IR code:
@.str = private unnamed_addr