Displaying 20 results from an estimated 60000 matches similar to: "Integrating Polly LLVM Passes in new LLVM Pass"
2018 Jan 29
1
Polly loop offloading to Accelerator
Thank You.
i used -polly-ast-detect-parallel but there is no coincident info generated;
my c code is simple vec-sum as follows;
#include <stdio.h>
int a[2048], b[2048], c[2048];
foo () {
int i;
for (i=0; i<2048; i++) {
a[i]=b[5] + c[i];
}
}
i executed following commands;
$clang -S -emit-llvm vec-sum.cpp -march=native -O3 -mllvm
-disable-llvm-optzns -o vec-sum.s
$opt -S
2018 Jan 29
2
Polly Dependency Analysis in MyPass
i put following line in CMakeLists.txt;
add_subdirectory(mypass)
then used make -j9
then i used following and run on canonicalize IR
$ opt -load lib/LLVMmypass.so -mypass vec-sum.preopt.ll
On Mon, Jan 29, 2018 at 9:39 PM, Michael Kruse <llvmdev at meinersbur.de>
wrote:
> 2018-01-29 10:18 GMT-06:00 hameeza ahmed <hahmed2305 at gmail.com>:
> > I tried writing
2016 Feb 03
4
opt with Polly doesn't find the passes
Hi Tobias,
I tried to invoke other passes and none of them are available, e.g.:
~/toolchain/install/llvm-3.8/bin/opt -load
~/toolchain/install/llvm-3.8/lib/libPolly.so -polly-cleanup
opt: Unknown command line argument '-polly-cleanup'. Try:
'/home/fwinter/toolchain/install/llvm-3.8/bin/opt -help'
opt: Did you mean '-polly-tiling'?
I am just shooting around hoping to
2018 Jan 28
1
Polly Dependency Analysis in MyPass
HI Hameeza,
what do mean by link is still missing?
Currently it is not possible to use polyhedral information from within
in-tree LLVM passes. This is because Polly is not currently part of the
LLVM tree, and is only linked into the tools as an external project. I.e.,
you can't depend on Polly passes in an in-tree pass. What you can do,
though, is use Polly from an out-of-tree context. If
2018 Jan 29
1
Polly Dependency Analysis in MyPass
Thank You.
Actually i pass polly canonaclize IR to my new created polly pass called
"mypass". Mypass should first detect scops then find depedndencies as the
mechanism conventional approach.
Now i know how to write llvm pass here i am writing pass as loadable module
first afterwards i will integrate it with opt in the end.
I tried writing following code. Could you please help me on
2018 Jan 28
0
Polly Dependency Analysis in MyPass
I have modified the code as follows; now i am using both scopdetection and
scopinformation before dependency check but i think link is missing...
virtual bool runOnFunction(Function &F)
{
std::unique_ptr<ScopInfo> Result;
std::unique_ptr<ScopDetection> Result2;
//polly::ScopDetection pl;
auto &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
auto
2016 Feb 03
3
opt with Polly doesn't find the passes
I just checkout release_38 branches of llvm, clang and polly and built
it on and x86 Ubuntu with cmake:
CMAKE_BUILD_TYPE="Debug"
CMAKE_INSTALL_PREFIX="$HOME/toolchain/install/llvm-3.8"
LLVM_TARGETS_TO_BUILD="X86"
cmake -G "Unix Makefiles" \
-DBUILD_SHARED_LIBS="ON" \
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
2018 Jan 28
4
Polly Dependency Analysis in MyPass
Hello,
I need to analyze dependencies in my llvm ir by using polly. i created a
new pass called mypass there i added polly dependency analysis pass but
when i execute this pass in gdb i get no data.
Why is that so?
My code is follows;
namespace {
struct mypass : public FunctionPass {
static char ID;
mypass() : FunctionPass(ID) {
}
virtual bool runOnFunction(Function &F)
{
2018 Jan 29
0
Polly Dependency Analysis in MyPass
How do you compile the code? Within the Polly subdirectory using CMake?
How do you run your pass. Using "opt -mypass inputfile.ll"?
Michael
2018-01-28 9:30 GMT-06:00 hameeza ahmed via llvm-dev <llvm-dev at lists.llvm.org>:
> Hello,
>
> I need to analyze dependencies in my llvm ir by using polly. i created a new
> pass called mypass there i added polly dependency
2013 Apr 17
1
[LLVMdev] [polly] pass ordering
----- Original Message -----
> From: "Tobias Grosser" <tobias at grosser.es>
> To: "Sebastian Pop" <spop at codeaurora.org>
> Cc: llvmdev at cs.uiuc.edu
> Sent: Wednesday, April 17, 2013 12:45:26 PM
> Subject: Re: [LLVMdev] [polly] pass ordering
>
> On 04/17/2013 05:53 PM, Sebastian Pop wrote:
> > Hi,
> >
> > polly is run very
2013 May 02
0
[LLVMdev] [Polly] GSoC Proposal: Reducing LLVM-Polly Compiling overhead
On 04/26/2013 05:08 AM, tanmx_star wrote:
> Hi all,
Hi,
thanks for the update and sorry for the delay in reviewing. I just had a
look at your proposal.
> I have updated my GSoS proposal: "FastPolly: Reducing LLVM-Polly Compiling overhead" (https://gist.github.com/tanstar/5441808). I think the pass ordering problem you discussed early can be also investigated in this project!
2017 Sep 29
0
[RFC] Polly Status and Integration
Hi,
On Thu, Sep 28, 2017 at 6:15 PM, Johannes Doerfert via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
> Actually, I started to copy parts of the ScalarEvolution interface in
> order to integrate the analysis passes this way into LLVM
> transformations. While it is obviously hard (and probably not useful) to
> provide "exactly" the same interface as
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
On 04/17/2013 08:37 PM, Sebastian Pop wrote:
> Tobias Grosser wrote:
>> On 04/17/2013 05:53 PM, Sebastian Pop wrote:
>>> Hi,
>>>
>>> polly is run very early and schedules the following passes before it runs:
>>>
>>> /// @brief Schedule a set of canonicalization passes to prepare for Polly
>>> ///
>>> /// The set of
2016 Mar 25
0
Polly as an Analysis pass in LLVM
In the design the LLVM passes always directly communicate with PolyhedralInfo,
this requires Polly tightly integrate in to LLVM.
If we do not want a tight integration, we can do the following:
1. Introduce an abstract memory dependency query interface, like
AliasAnalysis
2. I remember LLVM had already have dependency analysis, this can be the
default implementation of the memory dependency query
2013 Apr 17
2
[LLVMdev] [polly] pass ordering
Tobias Grosser wrote:
> On 04/17/2013 05:53 PM, Sebastian Pop wrote:
> >Hi,
> >
> >polly is run very early and schedules the following passes before it runs:
> >
> >/// @brief Schedule a set of canonicalization passes to prepare for Polly
> >///
> >/// The set of optimization passes was partially taken/copied from the
> >/// set of default
2016 Mar 25
1
Polly as an Analysis pass in LLVM
Hi ether,
Your suggestion is appropriate with respect to LLVM framework.
However, I am not aware of such a common interface for Dependence Analysis
as there is one for AliasAnalysis.
The current plan is to provide the new Dependence Analysis interface that
can be used when the other analysis engines fail to provide a concrete
result. I do not want to overestimate things by proposing such a common
2013 Sep 25
0
[LLVMdev] [Polly] Move Polly's execution later
Here is an update about moving Polly later.
1. Why does Polly generate incorrect code when we move Polly immediately after the loop rotating pass?
It is mainly caused by a wrong polly merge block. When Polly detects a valid loop for Polyhedral transformations, it usually introduces a new basic block "polly.merge_new_and_old" after the original loop exit block. This new basic block
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
On 04/17/2013 05:53 PM, Sebastian Pop wrote:
> Hi,
>
> polly is run very early and schedules the following passes before it runs:
>
> /// @brief Schedule a set of canonicalization passes to prepare for Polly
> ///
> /// The set of optimization passes was partially taken/copied from the
> /// set of default optimization passes in LLVM. It is used to bring the code
> ///
2013 Sep 25
3
[LLVMdev] [Polly] Move Polly's execution later
On 09/25/2013 04:55 AM, Star Tan wrote:
> Here is an update about moving Polly later.
Hi star tan,
thanks for your report.
>
> 1. Why does Polly generate incorrect code when we move Polly immediately after the loop rotating pass?
>
> It is mainly caused by a wrong polly merge block. When Polly detects a valid loop for Polyhedral transformations, it usually introduces a new basic
2017 Sep 23
2
Process of integrating Polly into LLVM
Dear all,
The proposal to move Polly into core-LLVM has generated an interesting
conversation and I’d like to supplement the discussion with a proposal
for initial, concrete integration steps. Please provide feedback both on
the goals and also on the process proposed to reach these goals.
First, I propose a set of goals a good integration process should
achieve:
- Start off from a well-tested