Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] could you give me some advice ?"
2006 Mar 27
1
[LLVMdev] could you give me some advice ?
excuse me for bother you again .
a little supplement
Constant* c = findValue(m,"E1$entry");
Constant* c2 = findValue(m,"E1$str");
I can get string object from c2
string s = cast<ConstantArray>(c2)->getAsString();
but it is not applicable for c
string s= cast<ConstantArray>(c)->getAsString(); // Assert Fail
because c is ConstantExpr::GetElementPtr
2006 Mar 27
0
[LLVMdev] could you give me some advice ?
for example , I have a LLVM bc file generated from c program like this
...
char E1$str[3] = "E1";
char* E1$entry = (char*)E1$str;
struct { char* name_list[16]; } table = { E1$entry, E2$entry, ... };
...
now I need load the bc file , get all names ("E1","E2"...) , then print and save it.
of course, i only know the global variable table name . I can get
2006 Mar 26
0
[LLVMdev] could you give me some advice ?
lizhuo,您好!
不是很明白你的意思,好像你想从一个ConstantExpr::getPtrPtrFromArrayPtr 指针得到这个ConstantExpr 的内容,
但你的困难在哪里?
======= 2006-03-25 22:04:14 您在来信中写道:=======
>hi
>I have one llvm program like this :
>..
>; define ConstantArray
>"E1$str" = internal constant [3 x sbyte] c"E1\00"
>
>; use getPtrPtrFromArrayPtr to define SByte* from ConstantArray
2004 Dec 09
1
[LLVMdev] Question about insert call func with pionter parameter
Hi,
I got a problem when I am trying to insert a call function with pointer arguments.
The function C proto-type is the following,
void stat_func(char *);
>ConstantArray *Cstr = dyn_cast<ConstantArray>(gI->getInitializer());
......
>Function *exFunc = M->getOrInsertFunction("stat_func", Type::VoidTy, PointerType::get(Type::SByteTy),0);
>std::vector<Value*>
2010 Jul 16
2
[LLVMdev] Strange behavior when converting arrays to strings
Hello,
I found saw some strange behavior (to me) when converting constant arrays to strings. Consider the following example:
std::string Text = "HelloWorld";
unsigned TextLengthBefore = Text.length();
ConstantArray *pArray = dyn_cast<ConstantArray>(llvm::ConstantArray::get(pModule->getContext(), Text, true));
unsigned NumElements = pArray->getNumOperands();
Text =
2010 Jul 28
1
[LLVMdev] Strange behavior when converting arrays to strings
Hi Javier,
> I found saw some strange behavior (to me) when converting constant
> arrays to strings. Consider the following example:
>
> std::string Text = "HelloWorld";
>
> unsigned TextLengthBefore = Text.length();
>
> ConstantArray *pArray =
> dyn_cast<ConstantArray>(llvm::ConstantArray::get(pModule->getContext(),
> Text, true));
from
2010 Jul 28
0
[LLVMdev] Strange behavior when converting arrays to strings
Hi,
I haven't seen a response and I'm curious if I should submit a patch for this.
Thanks,
Javier
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Martinez, Javier E
Sent: Friday, July 16, 2010 3:20 PM
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] Strange behavior when converting arrays to strings
Hello,
I found saw some strange behavior (to
2005 Apr 07
0
[LLVMdev] arguments to standard library functions
Right now I am trying to capture the function name and the number of
arguments ,
so this following is the pass I wrote .
-------------------------------------------------------------
struct pass06a : public ModulePass {
virtual bool runOnModule(Module &M) {
std::vector<const Type*> pList;
pList.push_back( PointerType::get(Type::SByteTy) );
pList.push_back(
2006 May 01
0
[LLVMdev] printf decleration
Ok, I think I figured it out. I talked to someone, and we figured out
that when I make a call to printf with a constant string, I need to make
a global variable and use getElementPtr to reference it. The modified
call for accessing the printf is:
/* m is Module*, f is Function*, i is Instruction* */
Constant* constStr = ConstantArray::get("test\n");
GlobalVariable* gv =
2006 May 01
2
[LLVMdev] printf decleration
I am writing a pass where I need to make a function deceleration for
printf. Below is the code I'm trying to use.
-----
bool MyPass::runOnModule(Module &m) {
vector<const Type*> args;
args.push_back(PointerType::get(Type::SByteTy));
Function* f = m.getOrInsertFunction("printf",
FunctionType::get(Type::IntTy, args, true));
-----
When I insert a call
2007 Jun 15
1
[LLVMdev] EquivalenceClasses: findValue vs. findLeader
Given an object o of ElemType in an instance of EquivalenceClasses, I need
to get a list of all members of the equivalence class that o is in. For
various reasons, it is easiest if I could get an EquivalenceClasses::iterator
that I can pass to member_begin and member_end.
So naturally, I did something like this (pseudo-C++):
EquivalenceClasses::iterator i = equiv.findValue(o);
2012 Feb 17
4
[LLVMdev] llvm-gcc compilation and ConstantArray::getAsString
Hello there
I'm trying to compile llvm-gcc, but the compilation fails. This is due to
the fact that the ConstantArray class does no longer have the getAsString
method.
It has been actually removed on Jan 31 (commit
6a89228faca4b30c4abc29b5dec98bdac011ea4c).
Is there a patch for llvm-gcc which overcomes this problem? I've just
svn-updated my working copy but it didn't change
2012 Nov 29
1
[LLVMdev] ConstantArray::getAsString in LLVM 3.1
Hello,
I'm working on porting a project to LLVM 3.1. Unfortunately, my project makes very heavy use of ContantArray::getAsString() -- which was removed in LLVM 3.1. Is there an equivalent in 3.1? In other words, what is the best way to get the value of a string that was stored in a ConstantArray?
Thanks,
David
-------------- next part --------------
An HTML attachment was scrubbed...
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
2005 Jan 31
1
[LLVMdev] Question about Global Variable
Hi,
Sorry for bothering you guys again.
I got problem when I am trying to recover the Global Variable Initial value. What I did is like the following
ConstantArray *Cstr = dyn_cast<ConstantArray>(gI->getInitializer());
// the above instruction enable me to get the content of initial string of global variable, like char a[10] ="test global";
And then I make some change for
2012 Nov 16
2
[LLVMdev] porting to 3.1: ConstantDataArray
Hi,
In llvm 3.0 llvm::ConstantArray had a ::getAsCString() method that
returned the buffer as a std::string. Now it seems that 3.1 this
method dissapeared.
I found that llvm::ConstantDataArray has a method called
getAsString(), but it returns a Constant*.
What is the safe way to retrieve the pointer of the Constant array as
a C string?
2005 Mar 21
3
[LLVMdev] arguments to standard library functions
HI ,
I understand that the standard C library functions are executed using the
native library of the host machine. ( for example when we execute a bytecode
to extract the profile info )
Is it possible to extract for each standard library function that is
executed , the arguments that the function is called with.
For example if printf ("%d", some_int ) when called during runtime
2006 Jun 25
1
[LLVMdev] adding args to func call
This question is similar to Ryan Lefever's post on May 1, 2006 about
printf declaration. In my case, I want to insert fprintf(stderr,
...) calls. I'm new to LLVM, and I don't know what's the recipe for
putting together the arguments. Can someone give me basic
instructions or point me in the direction on what to do? I can't find
any more documentation on this. Thanks!
2012 Jan 28
1
[LLVMdev] How to get the string value?
Hey Duncan,
Thanks! I figured out this piece of code finally:
Value *gep = call->getArgOperand(0);
if ( ConstantExpr *pCE = dyn_cast<ConstantExpr>(gep) ) {
Value *firstop = pCE->getOperand(0);
if (GlobalVariable *GV = dyn_cast<GlobalVariable>(firstop)){
Constant *v = GV->getInitializer();
if
2004 Jun 17
4
[LLVMdev] generating instructions with embedded ConstantExprs from within LLVM
How is this done? Everything logical I have tried has failed, here was one attempt:
Constant *C = (Constant*) ConstantArray::get(inst2string(I)); //fucnction defined elsewhere
//generates a correct Global string
GlobalVariable *str = new GlobalVariable(C->getType(), true,
GlobalValue::InternalLinkage,
C, mkStrName( strNumber++ ), &M);
std::vector<Value*>