[PATCH] D20695: Floating Point SCEV Analysis
Elena Demikhovsky via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 11:37:25 PDT 2016
delena created this revision.
delena added reviewers: mzolotukhin, sanjoy, hfinkel, anemet, atrick, spatel.
delena added a subscriber: llvm-commits.
delena set the repository for this revision to rL LLVM.
Herald added subscribers: mzolotukhin, sanjoy.
As we already discussed in llvm-dev forum http://lists.llvm.org/pipermail/llvm-dev/2016-May/099724.html
I'm working on FP SCEV analysis in order to enable loop vectorization with FP induction variables.
Trying to minimize the first patch, I implemented only simple cases. Once this patch is accepted, I continue to fill the gaps between integer and fp scevs.
this is the minimal test case I started from:
float fp_inc;
float x = init;
for (int i=0;i<N;i++){
A[i] = x;
x += fp_inc; // Loop invariant variable or constant
}
All optimizations and SCEV recurrence will come in the next patches.
I ran some tests to be sure that correctness is not broken.
Repository:
rL LLVM
http://reviews.llvm.org/D20695
Files:
../include/llvm/Analysis/ScalarEvolution.h
../include/llvm/Analysis/ScalarEvolutionExpander.h
../include/llvm/Analysis/ScalarEvolutionExpressions.h
../include/llvm/Transforms/Utils/LoopUtils.h
../lib/Analysis/IVUsers.cpp
../lib/Analysis/ScalarEvolution.cpp
../lib/Analysis/ScalarEvolutionExpander.cpp
../lib/Transforms/Scalar/IndVarSimplify.cpp
../lib/Transforms/Utils/LoopUtils.cpp
../lib/Transforms/Utils/SimplifyIndVar.cpp
../lib/Transforms/Vectorize/LoopVectorize.cpp
../test/Transforms/LoopVectorize/float-induction.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20695.58655.patch
Type: text/x-patch
Size: 75735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160526/c8c57d3c/attachment.bin>
More information about the llvm-commits
mailing list