Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] Memory Dependence Analysis"
2013 Jan 16
1
[LLVMdev] llvm print-memdeps segfault
I used LLVM already existent passes with no problems till I tried to use
MemDepPrinter.cpp :
http://llvm.org/doxygen/MemDepPrinter_8cpp_source.html. I got the
following segfault:
llvm[0]: Compiling MyMemDepPrinter.cpp for Release+Asserts build (PIC)
llvm[0]: Linking Release+Asserts Loadable Module MyMemDepPrinter.so
WARNING: You're attempting to print out a bitcode file.
This
2010 Sep 23
2
[LLVMdev] Finding all values derived from a function argument
Hello!
I am trying to retrieve all instructions from a function's body that
are dependent on a specific argument. The strategy I am currently
using for that is to follow all uses of the argument and record them.
Also, whenever I encounter a store of a dependent value, I try to find
loads in the function that are dependent on that store and resume
use-tracking from there. For this purpose I am
2009 Sep 02
0
[LLVMdev] [PATCH] PR2218
On Sep 2, 2009, at 1:07 AM, Jakub Staszak wrote:
> Hello,
>
> I fixed my patch as you asked. Sorry for the delay, I'd been working
> on my SSU patch (http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-August/025347.html
> )
>
> I hope that everything is fine now.
Hey Jakub,
Thanks for working on this again, one more round :)
Please merge the three testcases into one
2009 Sep 02
1
[LLVMdev] [PATCH] PR2218
On Sep 2, 2009, at 3:15 PM, Chris Lattner wrote:
> Please merge the three testcases into one file. We added a new
> FileCheck tool which allows you to check for the exact sequence of
> instructions expected, which also allows the tests to be merged into
> one file.
>
> +/// MemCpyOpt::pointerIsParameter - returns true iff pointer is a
> parameter of
> +/// C call
2009 Jul 23
0
[LLVMdev] [PATCH] PR2218
On Jul 22, 2009, at 1:37 PM, Jakub Staszak wrote:
> Hello,
>
> This patch fixes PR2218.
Very nice. Are you sure this fixes PR2218? The example there doesn't
have any loads in it.
> However, I'm not pretty sure that this optimization should be in
> MemCpyOpt. I think that GVN is good place as well.
Yes, you're right. My long term goal is to merge the relevant
2018 Apr 18
1
[RFC] Making GVN able to visit the same block more than once
Introduction
============
I'm currently in the middle of what initially looked to be a simple change in
GVN but is turning out to have unexpected consequences that are turning out to
be quite difficult to resolve, so I thought I'd send out an RFC to make sure
that I'm not barking up the wrong tree with how I'm trying to do this.
Motivation and current behaviour
2013 Apr 26
0
[LLVMdev] Inconsistent use of is_stmt flag in .debug_line
Hello,
A recent series of commits, ending with r169304 and relating to PR13303, add is_stmt to line entries for functions. This appears to be to work around problems with gdb.
However, I observe is_stmt is not always applied to line entries for functions. This may only affect the arm backend. Compiling the same code with the aarch64 backend does not demonstrate this problem.
It seems that
2015 Aug 07
2
load instruction erroneously removed by GVN
Hi,
I'm having a problem with GVN removing a load instruction that I think
is needed.
Dump before GVN:
*** IR Dump Before Global Value Numbering ***
; Function Attrs: minsize optsize
define i16 @TEST__MAIN(i16 %argc.13.par, i16** %argv.14.par) #0 {
%buf.17 = alloca [10 x i16], align 1
%_tmp30 = getelementptr inbounds [10 x i16], [10 x i16]* %buf.17, i16
0, i16 0, !dbg !22
call
2012 Feb 23
2
[LLVMdev] [RFC] Remat Enhancements
I have a set of changes that enhances rematerialization to handle more
kinds of loads, specifically loads with multiple address registers.
This is a big win for some codes on x86.
I plan to send these up ASAP but I want to solicit a bit of guidance
first.
The change requires that live interval analysis be able to determine
whether and instruction is a load and whether an instruction writes to
2010 Jul 18
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Sorry, I misunderstood the question.
The difference between a load and a read-only call is that load can be
used as the value of the memory location. E.g. DeadStoreElimination
pass removes a store that stores a just loaded value back into the
same location. To do this it checks if the stored value is the value
of load. Read-only call cannot be used like this.
This being said, I don't know if
2010 Jul 17
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Since isLoad == false means we're looking at a store, what this does
is making the store *p depend on the load *p. This is correct -- you
can't move store before load, otherwise load will start returning a
different value.
Eugene
On Fri, Jul 16, 2010 at 5:43 PM, Marc de Kruijf <dekruijf at cs.wisc.edu> wrote:
> Hello,
>
> I'm taking a really good look at the
2009 Jul 25
2
[LLVMdev] [PATCH] PR2218
Hello,
Sorry for my stupid mistakes. I hope that everything is fine now. This
patch fixes PR2218. There are no loads in example, however
"instcombine" changes memcpy() into store/load.
Regards,
Jakub Staszak
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr2218-2.patch
Type: application/octet-stream
Size: 6525 bytes
Desc: not available
URL:
2010 Jul 18
2
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Yes, I'm not arguing that there is a dependence, just that it's not a
clobber dependence. The case of a load is already considered earlier in
that function and with isLoad == false it returns MemDepResult::getDef().
My question is: why should a read-only call (which yields
AliasAnalysis::Ref and is handled in this code fragment) be any different
from e.g. a load. Isn't a read-only
2010 Nov 09
0
[LLVMdev] Interesting test-suite results
In the MemoryDependenceAnalysis::getNonLocalPointerDependency overload
that takes a pointer value, it is currently creating an
AliasAnalysis::Location from just the pointer, which pessimistically
assumes unknown size. I added code to use
AliasAnalysis::getTypeStoreSize to create an AliasAnalysis::Location
with a more accurate size (when target data is available) and ran it
through the nightly
2009 Apr 25
0
[LLVMdev] MemoryDependenceAnalysis
On Apr 13, 2009, at 12:01 PM, Anthony Danalis wrote:
> I'm attaching the .bc file. Note that my analysis pass is invoked
> after "-O1" and that's why the IR I included in the original email
> is optimized.
Hi Anthony,
Sorry for the delay, things have been crazy lately.
The MemDep API assumes that you will call getDependency() first, and
then only call
2016 Dec 28
1
Help for DeadStoreElimination cross-block dependence
Hi all,
I am working on a project that requires LLVM DeadStoreElimination
However, when I look through the code in Transforms/Scalar/DeadStoreElimination.cpp, I see the following:
// Ignore any store where we can't find a local dependence.
// FIXME: cross-block DSE would be fun. :)
if (!InstDep.isDef() && !InstDep.isClobber())
continue;
I have two questions on this
2009 Apr 25
1
[LLVMdev] MemoryDependenceAnalysis
On Apr 25, 2009, at 5:05 PM, Chris Lattner wrote:
>
> On Apr 13, 2009, at 12:01 PM, Anthony Danalis wrote:
>
>> I'm attaching the .bc file. Note that my analysis pass is invoked
>> after "-O1" and that's why the IR I included in the original email
>> is optimized.
>
> Hi Anthony,
>
> Sorry for the delay, things have been crazy lately.
>
2009 Apr 13
5
[LLVMdev] MemoryDependenceAnalysis
Hello,
I have a code similar to the following:
program test
integer i, j, N
real B(10)
call bar(N, 8)
N = N+1
do i = 1, N
B(i) = (i+5)/(i+3)
enddo
j = N/2
N = N+7
call IMPORTANT_F(B, N, i, j)
end program
and I am trying to use dependence
2011 Apr 27
1
[LLVMdev] LLVM internal getDirectory() for LexicalBlock debug information returns filename?
Hi,
For my project, I am using internal llvm class functions to print the
filename and directory associated with an instruction from the debug
information.
With a recent checkout of llvm and clang (svn revision 129445), the
following custom code (e.g. in a pass that prints directory info for
all instructions) returns the filename iso. directory whenever Scope
refers to a lexical block:
if (const
2015 Jul 21
6
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Based on function names and structures, this is some version of GCC :)
Any way you can post the entire .ll file?
Because it's globalsmodref, it's hard to debug without the other
functions, since it goes over all the functions to determine address
takenness, etc :)
On Tue, Jul 21, 2015 at 3:23 PM, Michael Zolotukhin
<mzolotukhin at apple.com> wrote:
> Hi Chandler,
>
> We