Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] SSA for memory objects"
2016 May 25
1
Live interval analysis on LLVM IR (not on Machine instructions)
Hello.
Thank you very much for the research paper. I will try to make use of the algorithms
it presents.
I just want to add that I found a 3rd party project doing dataflow analysis for LLVM
IR at https://github.com/rohitjha/cse231-proj2. As written at
http://cseweb.ucsd.edu/~r1jha/#five , the project's description is:
"Dataflow Analysis Framework for LLVM
This is an
2010 May 31
2
[LLVMdev] Finding Merge nodes in CFG
Actually I have collected some pointer information in the form [ p -> a,c
]. Now suppose at some node I have information as [p->a,c]. Now i want to
find a merge node above this node where this information is actually
geting merged.
So if I get a merge node above this, I can check in its predecessors if
their out has only [p->a] or [p->c] and if not so then I will look for the
next
2010 Jun 01
0
[LLVMdev] Finding Merge nodes in CFG
ambika at cse.iitb.ac.in wrote:
> Actually I have collected some pointer information in the form [ p -> a,c
> ]. Now suppose at some node I have information as [p->a,c]. Now i want to
> find a merge node above this node where this information is actually
> geting merged.
> So if I get a merge node above this, I can check in its predecessors if
> their out has only [p->a]
2010 Jun 02
1
[LLVMdev] Finding Merge nodes in CFG
Actually I am interested only if the information merges at join node,
otherwise not... So just getting a node with more than one predecessor
might help.
But can I figure out if there is a function call in between, in any of
these nodes?
Thanks a lot for helping out...
John Criswell wrote:
> ambika at cse.iitb.ac.in wrote:
>> Actually I have collected some pointer information in the
2011 Jan 21
4
[LLVMdev] all LLVM Instructions that may write to memory -- other than StoreInst?
I need to figure out all LLVM Instructions that may write to memory.
In http://llvm.org/docs/tutorial/OCamlLangImpl7.html, it mentions that
"In LLVM, all memory accesses are explicit with load/store instructions,
and it is carefully designed not to have (or need) an "address-of"
operator."
I take this as "StoreInst is the only one that writes to memory".
However,
2015 Apr 24
4
[LLVMdev] Floating point atomic load and add
Hello,
I'm wondering how I can create an atomic load and add instruction for
floating point values. If I use IRBuilder::CreateAtomicRMW() I
get the error message: "atomicrmw operand must have integer type".
I am using LLVM 3.4 and the only system I need to support is x86.
2014 Oct 02
2
[LLVMdev] Use list preservation when using Instruction::clone
I'm trying to create a clone of a function using Function::Create()
and CloneFunctionInto. However, I'm running into an issue. I believe
that the instructions in the function clone still have Use edges to
values in the original function. This is a problem for my purposes.
For example, consider an original function F. I create a new function
G belonging to the same module and call
2011 Jan 21
0
[LLVMdev] all LLVM Instructions that may write to memory -- other than StoreInst?
On 1/21/11 2:50 PM, Chuck Zhao wrote:
> I need to figure out all LLVM Instructions that may write to memory.
>
> In http://llvm.org/docs/tutorial/OCamlLangImpl7.html, it mentions that
> "In LLVM, all memory accesses are explicit with load/store
> instructions, and it is carefully designed not to have (or need) an
> "address-of" operator."
>
> I take
2014 Jul 07
4
[LLVMdev] Splitting basic block results in unknown instruction type assertion
Hello,
I would like to see if this issue is a result of a misunderstanding on
my part before I file a bug. I am using LLVM 3.4, built from the
source tarballs. My system's uname is "Darwin tyler-air 12.5.0 Darwin
Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013;
root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64".
All I'm trying to do is add a runtime check after all call
2008 Jul 17
0
[LLVMdev] SSA or not SSA?
On Thu, Jul 17, 2008 at 6:34 AM, Matthieu Moy <Matthieu.Moy at imag.fr> wrote:
> Patrick Meredith <pmeredit at uiuc.edu> writes:
>
>> Memory is what the i32* points too. The i32* itself is in a
>> register. You can store to it as many times as you want, but you
>> can't change the address, because that would violate SSA.
>
> Thanks,
>
> For the
2008 Jul 17
2
[LLVMdev] SSA or not SSA?
Patrick Meredith <pmeredit at uiuc.edu> writes:
> Memory is what the i32* points too. The i32* itself is in a
> register. You can store to it as many times as you want, but you
> can't change the address, because that would violate SSA.
Thanks,
For the record, I finally understood by making a few experiments:
This is (obviously) valid:
define i32 @main() {
2011 Jan 21
1
[LLVMdev] all LLVM Instructions that may write to memory -- other than StoreInst?
John,
Thanks for the reply.
I agree with your comments that the "Memory" LLVM Spec refers to doesn't
include stack.
Let me leverage a bit further:
If I need to work on high-level IRs (not machine dependent, not in the
code-gen stage), is it reasonable to assume that
ALL LLVM IRs that have a result field will have potential to write stack?
E.g.
<result> =
2008 Jul 17
3
[LLVMdev] SSA or not SSA?
[ sorry for the late reply ]
Patrick Meredith <pmeredit at uiuc.edu> wrote:
> All register uses are SSA. Memory is not in SSA. The mem2reg pass
> which promotes stack variables to registers effectively converts non-
> SSA to SSA. There was a reg2mem pass, written by Andrew Lenharth, I'm
> not sure if it's still being maintained.
What is the difference between
2016 Aug 23
2
Help in understanding physreg LiveVariables
So if I first create the value in an entry BB and then build a CopyToReg
but then I have to read it in a BB that loops back to itself, with it's own
CopyToReg at the end, then I have two CopyToReg nodes for the same value.
In this case, I need to create 3 virt regs, 1 for each CopyToReg and a
third for the CopyFromReg in the beginning of the loop BB, right? And then
I need to build a PHI
2010 Apr 05
3
[LLVMdev] Linking with C Library
>> You need to figure out how to pass -rdynamic to the linker, like I
said before. http://llvm.org/docs/tutorial/OCamlLangImpl7.html
mentions it, but I don't know enough about the ocaml build process to
say whether that'll work.
I believe I'm already doing that, properly by passing -ccopt -rdynamic to
ocamlopt:
ocamlopt -cc g++ -ccopt -rdynamic -linkall $(LIBFILES) -o alpha
2013 Nov 11
1
[LLVMdev] Which is suited for Analysis of non-SSA code : gcc or LLVM
Hi,
We are planning to implement an analysis and optimization specifically
meant for non-SSA code. We would like to know whether LLVM supports non-SSA
IR? The other choice we have is to work with the GIMPLE code of GCC. We
need your help in choosing the appropriate framework.
thanks
Saleena N
National Institute of Technology Calicut
India
-------------- next part --------------
An HTML attachment
2016 Jan 23
2
Decompilation and the SSA form
Hi,
Is decompilation possible in general to the SSA form for binaries? I assume
one has to make certain assumptions about code in general to get tools like
these to work. For example if code like with dlsym or jit heap allocated
functions can be incorporated at runtime it would seem that in general it
is quite difficult to ascertain the boundaries of a basic block and insert
the correct phi
2016 Mar 22
2
GSoC and SAFECode
Hi, everyone.
I'm a senior at Swarthmore College and would love to work with LLVM this
summer. I'm interested in systems languages and security, and I'll start
a PhD on these topics this fall. I also do a good deal of open source
development and auditing with OpenBSD and a variety of other projects.
I spent last year's GSoC doing security auditing for Pidgin/libpurple.
GSoC seems
2016 Aug 23
2
Help in understanding physreg LiveVariables
So if I create a value with a DAG.getUndef(myVT); call during instruction
legalization, how can I access that value as input in another BB/DAG (also
during instruction legalization) without worrying about live-ins and/or phi
nodes?
Can I create a single virtual register and build both a CopyToReg and a
CopyFromReg node with it? I assumed that would break SSA.
Perhaps I should have said that what
2015 Apr 24
2
[LLVMdev] Floating point atomic load and add
> } while (__c11_atomic_compare_exchange_weak(
> addr, &oldval, newval, memory_order_seq_cst, memory_order_relaxed));
Actually, I think this condition is inverted. Should be "while
(!_c11...". Sorry about that.
Tim.