search for: delicm

Displaying 9 results from an estimated 9 matches for "delicm".

2017 May 06
2
Build polly-amd64-linux Failure
...tp://lab.llvm.org:8011/ > > Buildslave for this Build: grosser1 > > Build Reason: scheduler > Build Source Stamp: [branch trunk] 302339 > Blamelist: meinersbur Hi Michael, the recent commit caused a failure: /home/grosser/buildslave/polly-amd64-linux/llvm.src/tools/polly/test/DeLICM/reduction_overapproximate.ll:102:16: error: expected string not found in input ; APPROX-NEXT: new: { Stmt_reduction_inc[i0, i1] -> MemRef_A[2] : i0 <= 3 and 0 <= i1 <= -2 + i0 }; ^ <stdin>:62:2: note: scanning from here new: { Stmt_reduction_inc[i0, i1] -> MemRe...
2018 Mar 08
1
[Polly] Reduced code analyzability moving from LLVM 3.9.0 to 5.0.1
...ess functions" [3]. What I have tried: - Moving Polly to different positions in the LLVM pass pipeline (-polly-position=early vs. -polly-position=before-vectorizer). The latter option adds one large basic block, but otherwise doesn't seem to analyze the hot paths. - Setting -polly-delicm-compute-known=true and polly-delicm-overapproximate-writes=true. This doesn't seem to have effect on the hot paths. Can anyone give me some pointers on how to fix this? Or could this be a regression in Polly? Thanks! [1] https://nautilus.bjornweb.nl/files/localcolorcorrection.c [2] https://n...
2018 Mar 09
1
[Polly] Reduced code analyzability moving from LLVM 3.9.0 to 5.0.1
...>> - Moving Polly to different positions in the LLVM pass pipeline >> (-polly-position=early vs. -polly-position=before-vectorizer). The >> latter option adds one large basic block, but otherwise doesn't seem to >> analyze the hot paths. >> - Setting -polly-delicm-compute-known=true and >> polly-delicm-overapproximate-writes=true. This doesn't seem to have >> effect on the hot paths. >> >> Can anyone give me some pointers on how to fix this? Or could this be a >> regression in Polly? >> >> Thanks! >> >&g...
2016 May 16
2
Determination of statements that contain only matrix multiplication
Hi Tobias, could we use information about memory accesses of a SCoP statement and def-use chains to determine statements, which don’t contain matrix multiplication of the following form? for (int i = 0; i < Upper Bound1; i++) for (int j = 0; j < Upper Bound2; j++) for (int k = 0; k < Upper Bound3; j++) C[i][j] += A[i][k] * B[k][j] We could probably check that memory access
2016 May 17
4
Determination of statements that contain only matrix multiplication
...eck which access are not there. E.g. the value of > C[i][j] might be used in the inner loop for some other purpose as > well, which would make some transformations illegal. > > Also notice that LICM will hoist the C[i][j] reduction out of the > k-loop, i.e. the pattern is different. DeLICM (WIP) is intended to > undo this again. Very right. >> Maybe it could be a temporary solution. I think that if the checks are >> successfully passed and the basic block of the statement has exactly >> 14 instructions, the statement contains matrix multiplication and can >&...
2016 Jun 27
2
[GSoC 2016] Implementation of the packing transformation
Dear community, the next step of the "Improvement of vectorization process in Polly" project is to implement the packing transformation described in http://www.cs.utexas.edu/users/flame/pubs/TOMS-BLIS-Analytical.pdf. I had a discussion with Tobias and we decided that a packing transformation is in many ways a data-layout transformation that will require to introduce a new array, copy
2017 Oct 13
3
[RFC] Polly Status and Integration
...nds) - Value ranges that are forbidden and must be checked at runtime (eg `verbose` must not be true) - Non-aliasing assumptions, checked as runtime. Some violated assumptions may lead to a bail-out, eg. if the pointer of an assumed invariant load is written to. G) Transformations (ForwardOpTree/DeLICM/Simplify/ScheduleOptimizer) To improve schedulability, ForwardOpTree and DeLICM modify the instruction lists of statements (not the IR itself). For instance, it propagates the definition of tmp (a LoadInst) to the statements that use it. In the example this makes the x and y loops perfectly nested...
2017 Sep 01
10
[RFC] Polly Status and Integration
** *Hi everyone,As you may know, stock LLVM does not provide the kind of advanced loop transformations necessary to provide good performance on many applications. LLVM's Polly project provides many of the required capabilities, including loop transformations such as fission, fusion, skewing, blocking/tiling, and interchange, all powered by state-of-the-art dependence analysis. Polly also
2019 Apr 30
6
Disk space and RAM requirements in docs
...uild/tools/remarks-shlib/CMakeFiles/Remarks.dir 16K build/tools/polly/unittests/Support 16K build/tools/polly/unittests/ScopPassManager 16K build/tools/polly/unittests/ScheduleOptimizer 16K build/tools/polly/unittests/Isl 16K build/tools/polly/unittests/Flatten 16K build/tools/polly/unittests/DeLICM 16K build/tools/polly/lib/External/isl/include 16K build/tools/polly/include 16K build/tools/lld/unittests/MachOTests 16K build/tools/lld/unittests/DriverTests 16K build/tools/lld/include 16K build/tools/clang/tools/c-arcmt-test/CMakeFiles/c-arcmt-test.dir 16K build/tools/clang/test/VFS/Outp...