Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Extraction of constant operands from the instruction"
2008 Jan 14
0
[LLVMdev] Extraction of constant operands from the instruction
Hi all,
I am trying to extract the operands from an instruction, for that i am
iterating over the operand list as defined by the user class.
for (User::op_iterator O = i->op_begin() ;O != i->op_end(); ++O)
{
Value *v = *O;
llvm::cout << v->getNameStr() ;
}
However, whenever there is a constant operand like a numerical value, it
does not displays any value at all, i checked
2008 Apr 16
0
[LLVMdev] Problems in removing a cloned instruction.
Hi,
I'm gonna try to give some feedback, but I have only been working with LLVM
for a few days, so don't take what I'm saying without verifying :-)
> BasicBlock *ProgSlicer::CloneBasicBlock(const BasicBlock *BB,
> DenseMap<const Value*, Value*> &ValueMap,
> const char *NameSuffix, Function *F) {
>
> BasicBlock
2008 Apr 16
2
[LLVMdev] Problems in removing a cloned instruction.
Hi all,
I am trying to write a pass where i am creating a clone of a
function (the only difference being, the new function returns void ,
instead of any value).
I am creating a new Function Type with a void return type (rest being
the same as original function), and using this i am creating a new
function body. Then, i clone the body of the old function into new
function, but when ever i
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias,
I've attached an updated copy of the patch. I believe that I accounted
for all of your suggestions except for:
1. You said that I could make AA a member of the class and initialize it
for each basic block. I suppose that I'd need to make it a pointer, but
more generally, what is the thread-safely model that I should have in
mind for the analysis passes (will multiple threads
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Fri, 2011-12-02 at 17:07 +0100, Tobias Grosser wrote:
> On 11/23/2011 05:52 PM, Hal Finkel wrote:
> > On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote:
> >> > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
> >>> > > Tobias,
> >>> > >
> >>> > > I've attached an updated patch. It contains a few bug fixes
2011 Sep 16
0
[LLVMdev] How to duplicate a function?
Hi all,
I am a newbie in LLVM and I am trying to replace the function like:
old function || new function
=======================================
int haha(int a) { int haha(int a, char* ID) {
===>
} }
Of course in the newly replaced function "int haha(int,
2013 Feb 16
1
[LLVMdev] A weird problem when try to output operand of instruction involving function pointer in a struct
Hi all,
I just start to learn llvm. I am trying to get the operand's name of some
instruction that invokes a function field of a struct. While, I found in
the result that there is a sequence number attached to the function field
name. Below is an example:
/******source code t2.c*******/
#include <stdio.h>
void F(){printf("F\n");}
void E(){printf("E\n");}
void
2019 Aug 23
2
LLVM-8.0 | Requesting Help : Function->getName() returns empty string
Hello All,
I am creating a Module and getting Function pointer as below in some
function.
Function *fn = module->getFunction(fnName);
printf("func Name: %s.\n", fn->getName().str().c_str());
.
.
return (intptr_t) fn;
This prints : "func Name: main." I convert the ptr to int and return it.
Later I am receiving this as a Func Handler in other function
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On 11/23/2011 05:52 PM, Hal Finkel wrote:
> On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote:
>> > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote:
>>> > > Tobias,
>>> > >
>>> > > I've attached an updated patch. It contains a few bug fixes and many
>>> > > (refactoring and coding-convention) changes inspired
2008 Jan 04
0
[LLVMdev] Extraction of Arguments Passed to a Function
Hi,
I am trying to extract the name of the variables passed as an Argument to a
Function. I am using a runOnFunction Pass.
For example in the following IR respresentation,
define void @foo(i32 %limit) {
entry:
--
--
}
I should be able to walk the IR and get '%limit' as the external variable
passed to the function.
Another question, Is it possible to create a basic symbol table (
2009 Mar 26
2
[LLVMdev] how to get the InvodInst 's Operand Name?
HI all,
here is a llvm IR :
invoke void @__cxa_throw(i8* %7, i8* bitcast
(%struct.__fundamental_type_info_pseudo* @_ZTIi to i8*), void (i8*)*
null)
noreturn to label %invcont unwind label %lpad
say I want to get the Invoke's Operand's name, I use
getOperand(i)->getName(), it can work for that the Operand hasname,
but some Operand hasn't name,
So, My problem is how
2006 Mar 19
1
[LLVMdev] Idioms for retrieving global symbols and inheritance
Hello,
I have a couple of doubts, as listed below:
1. To list all the global variables in the module, I am iterating
using type_iterator and for each Type I get, I am using value_iterator
to iterate over Values . In the second iteration I am getting
unexpected results. For each type obtained from type_iterator->second,
value_iterator->first produces the same list as what
2018 Dec 09
2
Parse LLVM IR
Hello,
I am a newbie to LLVM and right now I am on the hook to parse some IR code
and do some instrumentations. However, my problem is that no matter how I
tweak my parsing code, it simply cannot print out anything.
So here is my C code:
int your_fun(int arg2) {
int x = arg2;
return x+2;
}
And here is my parsing code:
#include <llvm/IR/Module.h>
#include
2016 May 29
1
How to find variable names from LLVM IR?
If I have an operand as a Value from an instruction like: Value* V =
opnd->get(); and I am sure this is a variable, I want to know the variable
name (in source code) for this Value object. I am doing it like this:
const Function* Func;
if (const Argument* Arg = dyn_cast<Argument>(V))
{
Func =
2010 Apr 22
0
[LLVMdev] Operand, instruction
if (ConstantInt *c = (ConstantInt *) dyn_cast<ConstantInt>(index)){
errs() << "And it's a constant!!!!!!1111oneone!! (" <<c->getZExtValue()
<< ")\n";
}
--
"Believe you can, believe you can't; either way you're right." -Henry Ford
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at
2006 Mar 03
1
[LLVMdev] printing constants
Sir,
I am using the op_begin and op_end iterator for
iterating over the operands as mentioned below.
for (User::op_iterator
operand=j->op_begin(),operand_end=j->op_end();operand!=operand_end;++operand){
Value *v=operand->get();
const Type *t=v->getType();
cerr<<endl<<" operand: "<<"[ "<<v->hasName()<<"
2013 Apr 07
1
[LLVMdev] How to get the Instruction where one function use the global variable.
Hi, all
I try to get the Instructions where one function use the global variable.
for (llvm::Module::global_iterator gvar_iter = M.global_begin(); gvar_iter != M.global_end(); gvar_iter++)
{
llvm::GlobalVariable *gvar = &*gvar_iter;
llvm::errs() << "const global var: " << gvar->getName() << "\n";
for (
2008 Sep 21
2
[LLVMdev] OpenBSD port in progress
Hello,
> If anybody has an idea of how to fix this (other than using another
> version of gcc because I am sick of compiling), I would appreciate. I
> can offer backtraces or shell access if anybody is interested, just
> ask me what you need.
This was fixed couple of months ago. Please consider using current svn
top of tree, not 2.3 release.
--
WBR, Anton Korobeynikov
2013 Jun 22
0
[LLVMdev] Outputting constant char array from llvm pass
Hi, all
I want to know how a llvm pass output constant char array defined from the input
source. Here's an example that I want to do.
== test input source ==
char* msg = "hello, world\n";
void msg_out(char * in) {
printf("msg: %s \n", in);
}
main () {
...
msg_out(msg);
...
}
== llvm pass snippet ==
...
const CallInst* ci =
2011 Oct 17
0
[LLVMdev] Variable name from metadata
Closing this, found below links to get variable name.
http://groups.google.com/group/llvm-dev/browse_thread/thread/1a239f0d24db2b5c
http://markmail.org/message/fj5qg44vyjsdde7k#query:+page:1+mid:5zhmyncisenomcga+state:results
I could do following, to get the required information.
const CallInst *CI = dyn_cast<CallInst>(Insn);
int numoperands =