This is the mail archive of the
mailing list for the GCC project.
Selective criteria and Heuristics for Loop Unrolling.
- From: Ajit Kumar Agarwal <ajit dot kumar dot agarwal at xilinx dot com>
- To: Jeff Law <law at redhat dot com>, Richard Biener <richard dot guenther at gmail dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Cc: Vinod Kathail <vinodk at xilinx dot com>, Shail Aditya Gupta <shailadi at xilinx dot com>, Vidhumouli Hunsigida <vidhum at xilinx dot com>, "Nagaraju Mekala" <nmekala at xilinx dot com>
- Date: Sat, 12 Sep 2015 08:36:49 +0000
- Subject: Selective criteria and Heuristics for Loop Unrolling.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=pass (sender IP is 188.8.131.52) smtp.mailfrom=xilinx.com; gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=bestguesspass action=none header.from=xilinx.com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:23
The Loop unrolling and the decisions on unrolling factor is an important criteria for loop Unrolling optimization.
The decision on unrolling factor for the loops based on the below criteria improves the performance of unrolled loops.
1. Number of operations.
2. Number of operands.
3. Number of floating point operations.
4. Loop nest Level.
5. Number of branches.
6. Number of memory operations.
7. Live range size.
8. Critical Path Length.
9. Known Trip count.
10. Number of parallel computations in the loop.
11. The Max dependence height of the computation.
12. Main memory to memory loop carried dependence.
The best unrolling factor heuristics based on the above criteria improves the performance of the unrolled loop.
Thanks & Regards