| Electronic Components Datasheet Search |
|
AN3350 Datasheet(PDF) 111 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
AN3350 Datasheet(HTML) 111 Page - STMicroelectronics |
|
111 / 185 page ![]() AN3350 Intermediate optimizations Doc ID 018512 Rev 2 111/185 For example, in Example 65, the for loop’s body is a single call to a function, otherfunc() . For each time the loop’s completion test executes for (i = 0; i < MAX; ++i) the function executes the loop body only once. In Example 66, the compiler has inserted another copy of the loop body and rearranged the loop to ensure that variable i is incremented properly. With this arrangement, the loop’s completion test executes once for every 2 times that the loop body executes. Example 65 Before loop unrolling const int MAX = 100; void func_from(int* vec) { int i; for (i = 0; i < MAX; ++i) { otherfunc(vec[i]); } } Example 66 After loop unrolling const int MAX = 100; void func_to(int* vec) { int i; for (i = 0; i < MAX;) { otherfunc(vec[i]); ++i; otherfunc(vec[i]); ++i; } } 13.2 Inlining Inlining replaces instructions that call a function and return from it with the actual instructions of the function being called. Inlining functions makes your program faster because it executes the function code immediately without the overhead of a function call and return. However, inlining can also make your program larger because the compiler may insert the function’s instructions many times throughout your program. Table 25. Controlling loop unrolling Turn control this option from here... use this setting Source code #pragma opt_unroll_loops on | off | reset Command line -opt level=3, -opt level=4 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |