Displaying 20 results from an estimated 1000 matches similar to: "A bug in DependenceAnalysis?"
2017 Jun 21
2
A bug in DependenceAnalysis?
Hi Philip,
Thanks for checking!
I'm running my own Foo pass that registers DependenceAnalysisWrapperPass as
a prerequisite and then I run it like so:
opt -load libfoo.so -foo example.bc
This is LLVM 3.9.
Cheers,
- Stan
On Wed, Jun 21, 2017 at 5:40 PM, Philip Pfaffe <philip.pfaffe at gmail.com>
wrote:
> Hi Stan,
>
> in both cases I get a consistent anti result. Can you
2017 Jun 22
2
A bug in DependenceAnalysis?
Hi Philip,
I forgot to mention that I was ignoring loop-independent dependences. If I
don't I get an inconsistent, ordered, anti, loop-independent dependence and
an inconsistent, ordered, flow, loop-carried dependence for example A. At
the same time I get just a consistent, ordered, anti, loop-independent
dependence for example B.
Here's the .ll code for example A:
*; Function Attrs:
2016 Feb 11
2
Writing an LLVM Pass that depends on mem2reg
Oh, I see, that makes a lot of sense.
How do I build the pass pipeline?
On Thu, Feb 11, 2016 at 5:54 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
> > On Feb 11, 2016, at 9:49 AM, Stanislav Manilov via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Hello,
> >
> > I am used to specifying dependence on other LLVM passes in the
>
2016 May 04
2
Is the CppBackend still supported?
On Wed, May 4, 2016 at 3:10 PM, Stanislav Manilov <
stanislav.manilov at gmail.com> wrote:
> As in "look at the source of clang" or as in "look at the -S -emit-llvm"
> output? If you mean the former, then would that be easy for someone who
> hasn't seen the clang source before?
>
Generally the latter - then potentially set some breakpoints & look at
2016 May 04
2
Is the CppBackend still supported?
The usual advice I provide people is "see what Clang does with an
equivalent C construct"
On Wed, May 4, 2016 at 12:18 PM, Stanislav Manilov <
stanislav.manilov at gmail.com> wrote:
> Hi,
>
> There is another benefit to keeping the CppBackend: it's great for
> learning how to use the IR and the C++ API in particular, as can be seen
> from this SO Q&A:
>
2013 Sep 26
0
[LLVMdev] ARM NEON intrinsics in clang
On 26 September 2013 17:52, Stanislav Manilov
<stanislav.manilov at gmail.com>wrote:
> To answer your question I am testing on a pandaboard currently, which has
> an arm cortex-a9 processor, which I think is 64-bit.
>
Cortex-A9 is still 32-bits, so you'll have all support you need. ;)
however it doesn't if I remove the -ffreestanding flag. I need to figure
> this out
2013 Sep 26
2
[LLVMdev] ARM NEON intrinsics in clang
Hello Renato,
It turned out I just didn't do the cross-compilation correctly, and Tim
Northover already pointed me to a guide you have written on it (
http://clang.llvm.org/docs/CrossCompilation.html), so I will read that
before continuing with my efforts.
To answer your question I am testing on a pandaboard currently, which has
an arm cortex-a9 processor, which I think is 64-bit.
I am much
2016 Feb 11
2
Writing an LLVM Pass that depends on mem2reg
Hello,
I am used to specifying dependence on other LLVM passes in the
`getAnalysisUsage(AnalysisUsage &)` method of my pass. However, it doesn't
seem that there is a header file that exposes the `mem2reg` pass - it is
implemented in `Mem2Reg.cpp` as a wrapper.
Is there an easy way to reuse this pass, or should I, in essence, duplicate
`Mem2Reg.cpp` in my project?
Cheers,
- Stan
2016 May 03
4
Is the CppBackend still supported?
Hello,
I was trying to compile a simple program with the CppBackend like so:
$ clang str_arg.c -emit-llvm -S
$ llc -march=cpp str_arg.ll
It produces a file `str_arg.cpp` as expected, however it doesn't seem that
the resulting file is correct. For once, it includes
`<llvm/Analysis/Verifier.h>` which seems to have been moved to
`llvm/IR/Verifier.h` as far back as 2013.
My question is
2013 Oct 01
3
[LLVMdev] Implementing the ARM NEON Intrinsics for PowerPC
Hello LLVM Devs,
Thanks for helping me previously to cross-compile for ARM, I managed to get
a working toolchain and am currently having fun compiling different toy
problems and running them on a pandaboard.
As part of my research I am trying to implement the ARM NEON Intrinsics in
the PowerPC LLVM backend. I am still at the beginning of my efforts and am
not yet familiar with either the ARM or
2012 Nov 02
0
[LLVMdev] DependenceAnalysis and PR14241
----- Original Message -----
> From: "Tobias Grosser" <tobias at grosser.es>
> To: "preston briggs" <preston.briggs at gmail.com>
> Cc: "Benjamin Kramer" <benny.kra at gmail.com>, "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Friday, November 2, 2012 12:56:53 PM
> Subject: Re: [LLVMdev]
2013 Apr 11
0
[LLVMdev] Issues with DependenceAnalysis
Hi there,
I've been playing with some benchmarks for a while, but I'm stuck with a very specific issue, that, I guess, must be some kind of bug.
Well, I wrote a pass that simply counts how many combinations of memory accesses (only stores and loads, on a given loop) has any dependence between them. Curiously, I didn't have any problems until I tried it out on one of the loops in the
2013 Oct 02
5
[LLVMdev] Implementing the ARM NEON Intrinsics for PowerPC
Hello Hal,
I am not very familiar with the DSP capabilities of PowerPC, but I imagine
there will be instructions for simple vector operations like vector
addition, multiplication, etc. so for these I imagine the implementation
would consist of just outputting the correct instruction. However, for NEON
instructions like the reciprocal step (see
2012 Nov 02
2
[LLVMdev] DependenceAnalysis and PR14241
On 11/02/2012 10:21 AM, Preston Briggs wrote:
>
> My initial guess is that a conservative fix is quick and small (make
> sure the underlying pointers are loop invariant, otherwise give up). A
> better approach would be to somehow turn code like the example into
> array references that can be analyzed. I'll need to think about this and
> do some reading.
Hi Preston,
I looked
2012 Nov 02
0
[LLVMdev] DependenceAnalysis and PR14241
Hi Chandler,
Thanks for writing.
Could you give me some C (or C++) for an illustrative example.
I think I understand your concern, but I'd like to be sure.
Thanks,
Preston
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121102/88c02212/attachment.html>
2012 Nov 02
2
[LLVMdev] DependenceAnalysis and PR14241
On 02.11.2012, at 15:53, Preston Briggs <preston.briggs at gmail.com> wrote:
> Hi Chandler,
>
> Thanks for writing.
> Could you give me some C (or C++) for an illustrative example.
> I think I understand your concern, but I'd like to be sure.
Hi Preston,
The bug report at http://llvm.org/bugs/show_bug.cgi?id=14241 has more details, including a C++ test case.
- Ben
2012 Nov 02
0
[LLVMdev] DependenceAnalysis and PR14241
I see, thanks Ben.
So yes, I certainly misunderstood (more likely "misunderstand") how things
work.
My initial guess is that a conservative fix is quick and small (make sure
the underlying pointers are loop invariant, otherwise give up). A better
approach would be to somehow turn code like the example into array
references that can be analyzed. I'll need to think about this and do
2020 May 22
2
Creating a copy Pass of DependenceAnalysis
Hi,
I want to create a copy of DependenceAnalysis downstream.
At first I tried the HelloWorld tutorial. But then I figured, maybe I
should move on
to create my pass by mimicking some other pass in LLVM.
So, I tried copying DependenceAnalysis itself [1]
Although after a lot of time of trying it compiled, I'm pretty sure I have
done it
completely in the wrong way. What is more, I can't
2013 Dec 27
3
[LLVMdev] Using DependenceAnalysis::depends
Hi
I want to analyse the memory dependencies which exist in a loop at an intra
iteration as well as inter iteration (loop carried dependencies). I looked
at the DependenceAnalysis implementation which returns a lot of the
information I require (based on a prior AliasAnalysis pass), however I need
to pass the Src and Dst instructions in program order.
I was wondering how I can collect all the
2012 Nov 02
0
[LLVMdev] DependenceAnalysis and PR14241
Here's the current code (abstracted a bit)
const Instruction *Src,
const Instruction *Dst,
// make sure they are loads and stores, then
const Value *SrcPtr = getPointerOperand(Src); // hides a little
casting, then Src->getPointerOperand
const Value *DstPtr = getPointerOperand(Dst); // ditto
// see how underlying objects alias, then
const GEPOperator *SrcGEP =