Displaying 20 results from an estimated 1100 matches similar to: "[LLVMdev] Question about use-def chain"
2012 Apr 19
3
[LLVMdev] def-use chains and use-def chains
Hi,
I need to find out all the places where the value of a variable is being
used. For this I have to implement reaching definitions(def-use chains).
When I searched for its implementation I found Iterating over def-use &
use-def chains <http://llvm.org/docs/ProgrammersManual.html#iterate_chains>.
will this work for finding the places where a variable is reaching?
I tried to use
2012 Apr 20
0
[LLVMdev] def-use chains and use-def chains
Hi Duncan Sands,
I frankly don't know what a variable gets converted to (SSA register or
memory chunk). What I meant is, for example
I1: int i, j=10; I2: scanf("%d", &j); I3: i = j + 1;
Here I want to know whether the value of j in I1 reaches I3 or not.
Best Regards,
Srikanth Vaindam
you didn't define what you mean by a variable. LLVM has virtual registers
which
are
2005 Oct 16
2
[LLVMdev] Help on LLVM Instrumentation
Hi ,
I am using LLVM for my Post Graduate course project on Optimization. I am trying to do some insrtumentation to the bytecode.I 've been going through your Instrumentation code for the past few days in /llvm/lib/Transforms/Instrumentation folder and finally found two ways of instrumentation :
1) injecting LLVM bytecode instructions
2) calling an external C function.
I am trying both and
2007 Oct 31
2
[LLVMdev] how to get the address of operand
Hi,
I tried to write code transformation pass using LLVM.
But I couldn't find how to get the address of some operand (i.e. '&'
operation in C).
If an integer type variable is generated by AllocaInst(), is there any
method to get the address of that variable?
Thanks,
Keoncheol
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2005 Jul 11
2
[LLVMdev] Getting started with LLVM Passes
... here is some generally useful information I should have cc'd to
llvmdev in the first place ...
-Chris
--
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/
---------- Forwarded message ----------
Date: Sun, 10 Jul 2005 21:41:55 -0500 (CDT)
From: Chris Lattner <sabre at nondot.org>
To: Sean Peisert <peisert at gmail.com>
Subject: Re: [LLVMdev] Getting started with LLVM
2005 Jul 12
0
[LLVMdev] Getting started with LLVM Passes
Chris,
I've now figured out how to track and single out specific
instructions, which was ridiculously easy. Thanks!
I'm now on to trying to find more detail about those instructions,
such as the values and addresses of the operands in memory (or, in
the case of operands which are pointers, trying to get the pointer
values, addresses, and values stored at location specified by
2011 Nov 16
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, et al.,
Attached is the my autovectorization pass. I've fixed a bug that appears
when using -bb-vectorize-aligned-only, fixed some 80-col violations,
etc., and at least on x86_64, all test cases pass except for a few; and
all of these failures look like instruction-selection bugs. For example:
MultiSource/Applications/ClamAV - fails to compile shared_sha256.c with
an error: error in
2012 May 09
4
[LLVMdev] How can I get the destination operand of an instruction?
I am able to access the source operands of an instruction using either
getOperand() or op_iterator, However, I can't find any method available for
destination operand. Someone suggests that instruction itself can represent
the destination operand.
http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-January/037518.html
The getOperand() returns an unsigned value like 0x9063498, while I can't
2013 Apr 12
1
[LLVMdev] Problem with Store of i8 in a global address
Hi,
I am creating a new backend for a custom microcontroller.
In order to create the backend I am modifying from Mips backend.
My architecture has a store instruction with direct address mode. It
accepts two arguments: source register and address (immediate). This
instruction is not available in Mips, but it is in Hexagon, so I copied
from Hexagon the following, adapting it to my registers:
-
2011 Nov 15
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias,
I've attached the latest version of my autovectorization patch. I was
able to add support for using the ScalarEvolution analysis for
load/store pairing (thanks for your help!). This led to a modest
performance increase and a modest compile-time increase. This version
also has a cutoff as you suggested (although the default value is set
high (4000 instructions between pairs) because
2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On 11/17/2011 12:38 AM, Hal Finkel wrote:
> Tobias, et al.,
>
> Attached is the my autovectorization pass.
Very nice. Will you be at the developer summit? Maybe we could discuss
the integration there?
Here a first review of the source code.
> diff --git a/docs/Passes.html b/docs/Passes.html
> index 5c42f3f..076effa 100644
> --- a/docs/Passes.html
> +++ b/docs/Passes.html
2009 Sep 28
4
[LLVMdev] Printing Function Arguments
ivtm wrote:
> Hey Oscar,
>
> I want to extract information from the instruction.
>
> Think writing a simple interpreter.
>
> I already have the CallInst instance (described above in the message).
>
> Via ci->getOperand(1) say I can get the 'i32 8' parameter and I can get the
> 'i32' and '8' separately as Nick described.
>
> But I
2009 Sep 28
0
[LLVMdev] Printing Function Arguments
Hi Nick,
I parsed your message again carefully and did some experiments.
I guess the:
for (User::op_iterator i = I->op_begin(), e = I->op_end(); i != e; ++i)
{
}
iterates over the operands of the instruction "I", which are as you said,
*other* instructions.
But if I want to get other information about the instruction, say the type
of the operands,
then I still need to figure
2013 Apr 09
2
[LLVMdev] get the identifies of the unnamed temporaries from the instruction of LLVM IR
hello guys:
I am in trouble with get the identifies of the unnamed temporaries from the
instruction of LLVM IR.
for example:
instruction: %4 = mul nsw i32 %1, %width
unnamed temporaries: %4, %1
how to get them?
I have tried several iterators(op_iterator,value_op_iterator) and
getOperand(int) function,but none of them works.
does anyone know how to get it? thanks very much
--
View this message
2008 Jul 23
2
[LLVMdev] GEP::getIndexValid() with other iterators
On Jul 22, 2008, at 11:54 PM, Matthijs Kooijman wrote:
> Hi Chris,
>
>
>> I'd prefer to not turn this into a template. Why not just define a
>> version that takes an array of uint64_t's or something like that?
> because I want to be able to pass in iterators. I could define a
> version that
> takes std<uint64_t>::iterators, but next thing we know, we
2012 May 09
0
[LLVMdev] How can I get the destination operand of an instruction?
Launcher <st.liucheng at gmail.com> writes:
> I am able to access the source operands of an instruction using either
> getOperand() or op_iterator, However, I can't find any method available for
> destination operand. Someone suggests that instruction itself can represent
> the destination operand.
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-January/037518.html
2015 Sep 13
3
RFC: faster simplifyInstructionsInBlock/SimplifyInstructions pass
LLVM has two similar bits of infrastructure: a simplifyInstructionsInBlock function and a SimplifyInstructions pass, both intended to be lightweight “fix up this code without doing serious optimizations” functions, as far as I can tell. I don’t think either is used in a performance-sensitive place in-tree; the former is mostly called in minor places when doing CFG twiddling, and the latter seems
2008 Jul 23
0
[LLVMdev] GEP::getIndexValid() with other iterators
Hi Chris,
> What flavor of iterators do you want to pass in? vector or
> smallvector? If so, a pointer to the first element + extents is fine.
I was passing a std::vector in. And you are quite right, first element + size
works like a charm.
Since I am using a vector of uint64_t's instead of Value*, I did need to add
an extra version of getIndexedType(), taking a uint64_t* instead
2010 Jan 09
0
[LLVMdev] [PATCH] Fix nondeterministic behaviour in the CodeExtractor
On Jan 8, 2010, at 5:01 PM, Julien Lerouge wrote:
> Hello,
>
> The CodeExtractor contains a std::set<BasicBlock*> to keep track of
> the
> blocks to extract. Iterators on this set are not deterministic, and so
> the functions that are generated are not (the order of the
> inputs/outputs can change).
>
> The attached patch uses a SetVector instead. Ok to apply ?
2011 May 03
0
[LLVMdev] Trace Use-Def chain
HI
I know it is a very simple question not worth asking here but I am really
struggling pls help me out..
On Tue, May 3, 2011 at 10:10 PM, tarun agrawal <tarun at cse.iitb.ac.in> wrote:
> Hi,
>
> I need to get all the basic blocks that are there, in the path from
> definition of an instruction to use of that instruction.
>
>
> Regards
> Tarun
>
--------------