Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Memory Dependence Analysis: getNonLocalDependency()"
2008 Jul 28
0
[LLVMdev] Memory Dependence Analysis: getNonLocalDependency()
On Jul 28, 2008, at 3:47 PM, Prakash Prabhu wrote:
> Hi,
>
> I have a question about the memory dependence analysis. I am trying
> to use it to selectively enumerate a set of pairs of (load, store)
> instructions for every function by calling getNonLocalDependency()
> on the MemoryDependenceAnalysis. This populates a
> DenseMap<BasicBlock*, Value*>. I just
2008 Jul 29
1
[LLVMdev] Memory Dependence Analysis: getNonLocalDependency()
Thanks for the quick reply, Owen. I went through the code in
MemoryDependenceAnalysis.cpp again. Since DenseMap<BasicBlock*, Value*> maps
a BasicBlock to a single Value (Instruction) and it is populated by a DFS on
the reverse Control Flow Graph starting at the query instruction's block, is
it correct to say that the last dependent instruction in each visited basic
block is what is
2011 Dec 13
1
[LLVMdev] Memory Dependence Analysis
Howdy,
I'm working on writing a dependence analyzer (rather like what
LoopDependenceAnalysis wants to be, except a bit more general). While this
is a problem of many parts, I'm currently focusing on finding pairs of
memory references to test for dependence. Consider this contrived C code:
double test2(int n, double *restrict A, double *restrict B, bool flag) {
if (flag) {
A[0] =
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 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
2003 Oct 28
1
stacking histograms
Hi,
I have a set of observations which are divided into two sets A and B.
I have some code that bins the dataset into 10 bins based on the max and
min of the observed values.
I would like to make a histogram of A & B using my calculated bins but
plot the distribution of B on top of A (like a stacked barplot). This is
possible since both sets A & B are binned using the same bin ranges.
2018 May 21
2
DSE: Remove useless stores between malloc & memset
memoryIsNotModifiedBetween is precisely the sort of expensive walk we
shouldn't be doing... I'm surprised it hasn't caused any serious issues
yet. Ideally, what we should be doing is using MemorySSA to find a
dependency from the memset: if the closest dependency is the malloc,
there aren't any stores between the memset and the malloc. (But we
aren't using MemorySSA in
2018 Jan 26
1
MemDep: Invalidating NonLocal result cache entries?
Hi,
MemDep caches results for local queries and provides means to
invalidate them by keeping reverse maps. Unfortunately, it also caches
results that represent non-local dependencies, for which there are no
reverse map entries, and thus those entries can not be invalidated.
This is a problem when an optimization turns a non-local dependency
into a local one.
2009 Sep 02
2
[LLVMdev] [PATCH] PR2218
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.
-Jakub
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr2218-3.patch
Type: application/octet-stream
Size: 7511 bytes
Desc: not available
URL:
2011 Oct 15
1
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
This gives me: Assertion failed: (0 && "Unable to find on the fly
pass"), function getOnTheFlyPass, file PassManager.cpp
#include "llvm/Module.h"
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
struct Hello: public FunctionPass {
public:
static char ID;
Hello(): FunctionPass(ID) {
2011 Oct 14
2
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
#include "llvm/Module.h"
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
struct Hello: public ModulePass {
public:
static char ID;
MemoryDependenceAnalysis *MD;
Hello(): ModulePass(ID) {
;;
}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
2011 Oct 14
0
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
In runOnFunction(), you should check to see if the function F is a
declaration before calling getAnalysis(F). Calling
getAnalysis<FunctionPass>() on a function that is a declaration will
trigger an assertion if the function is just a declaration.
To see if a function is a declaration, call its isDeclaration() method
(i.e. if (F->isDeclaration()) ... )
-- John T.
On 10/13/11 8:09
2018 May 22
2
DSE: Remove useless stores between malloc & memset
* if (isStringFromCalloc(Dst, TLI)) should be if (!isStringFromCalloc(Dst,
TLI))
but still asserting...
2018-05-22 23:06 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
> Can you help a bit?
>
> I try to work with DSE but I got the following assert:
> opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T*
> llvm::Optional<T>::getPointer() [with T
2009 Mar 20
2
[LLVMdev] Problem with MemoryDependenceAnalysis
Dear all,
I am having a problem adding a MemoryDependenceAnalysis pass to a Module
Pass i created, it gives me the following error when i add
(Info.addRequired<MemoryDependenceAnalysis>();) it in the
getAnalysisUsage(AnalysisUsage &Info) function.
adding callgraph pass ... done
opt: /net/home/yehia/llvm/llvm-2.4/include/llvm/Target/TargetData.h:114:
2011 Oct 13
0
[LLVMdev] pass utilizing MemoryDependenceAnalysis?
My pass(that I want to use MemoryDependenceAnalysis) is a ModulePass.
When I changed my assignment to:
MD = &getAnalysis<MemoryDependenceAnalysis>(F);
It fixed my initial problem but left me with:
Assertion failed: (ResultPass && "Unable to find requested
analysis info"), function getAnalysisID
On Thu, Oct 13, 2011 at 1:43 PM, ret val <retval386 at
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
2008 May 04
0
[LLVMdev] nonlocal go to -- how?
On Sun, 04 May 2008 16:05:44 +0000, Hendrik Boom wrote:
> The languages I'm faced with compiling in the near future have nonlocal
> go to statements and nested procedures.
>
> A procedure gets implemented as a structure containing its entry point
> and an environment pointer. It is easy enough to call its entry point
> and pass the environment pointer as an extra argument
2018 May 22
0
DSE: Remove useless stores between malloc & memset
Can you help a bit?
I try to work with DSE but I got the following assert:
opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T*
llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: Assertion
`Storage.hasVal' failed.
static bool eliminateStrlen(CallInst *CI, BasicBlock::iterator &BBI,
AliasAnalysis *AA, MemoryDependenceResults
2018 May 22
2
DSE: Remove useless stores between malloc & memset
It works with
MemoryLocation MemoryLocation::get(const CallInst *CI) {
AAMDNodes AATags;
CI->getAAMetadata(AATags);
const auto &DL = CI->getModule()->getDataLayout();
return MemoryLocation(CI, DL.getTypeStoreSize(CI->getType()), AATags);
}
Is it fine? :)
2018-05-22 23:56 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
> Looks like there are many overloads
2009 Mar 20
0
[LLVMdev] Problem with MemoryDependenceAnalysis
On Mar 20, 2009, at 8:13 AM, Amr Yehia wrote:
> Dear all,
>
> I am having a problem adding a MemoryDependenceAnalysis pass to a
> Module
> Pass i created, it gives me the following error when i add
> (Info.addRequired<MemoryDependenceAnalysis>();) it in the
> getAnalysisUsage(AnalysisUsage &Info) function.
>
If MemoryDependenceAnalysis requires any module