Roman Gareev
11001e1534
Annotation of SIMD loops
...
Use 'mark' nodes annotate a SIMD loop during ScheduleTransformation and skip
parallelism checks.
The buildbot shows the following compile/execution time changes:
Compile time:
Improvements Δ Previous Current σ
…/gesummv -6.06% 0.2640 0.2480 0.0055
…/gemver -4.46% 0.4480 0.4280 0.0044
…/covariance -4.31% 0.8360 0.8000 0.0065
…/adi -3.23% 0.9920 0.9600 0.0065
…/doitgen -2.53% 0.9480 0.9240 0.0090
…/3mm -2.33% 1.0320 1.0080 0.0087
Execution time:
Regressions Δ Previous Current σ
…/viterbi 1.70% 5.1840 5.2720 0.0074
…/smallpt 1.06% 12.4920 12.6240 0.0040
Reviewed-by: Tobias Grosser <tobias@grosser.es>
Differential Revision: http://reviews.llvm.org/D14491
llvm-svn: 261620
2016-02-23 09:00:13 +00:00
Tobias Grosser
5fd8c0961e
Model fixed-size multi-dimensional arrays if possible multi-dimensional
...
If the GEP instructions give us enough insights, model scalar accesses as
multi-dimensional (and generate the relevant run-time checks to ensure
correctness). This will allow us to simplify the dependence computation in
a subsequent commit.
llvm-svn: 247906
2015-09-17 17:28:15 +00:00
Roman Gareev
f2bd72e00d
Use isl_set_is_subset instead of isl_set_is_equal
...
It helps to detect correct strides in case of parametric constraints of Stride
in MemoryAccess::isStrideX.
Reviewers: grosser
llvm-svn: 245303
2015-08-18 16:12:05 +00:00