ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
MUST_ITERATE pragma 為編譯器指定循環(huán)的某些屬性。使用此 pragma,即表示向編譯器保證循環(huán)會執(zhí)行特定的次數(shù)或在指定范圍內執(zhí)行多次。
只要向循環(huán)應用 UNROLL pragma,則應向同一循環(huán)應用 MUST_ITERATE。對于循環(huán),MUST_ITERATE pragma 的第三個參數(shù) multiple 最為重要,并且始終應該指定。
另外,應當盡可能多地向任何其他循環(huán)應用 MUST_ITERATE pragma。這是因為通過該 pragma 提供的信息(尤其是最小迭代次數(shù))能夠幫助編譯器選擇最優(yōu)循環(huán)和循環(huán)變換(即嵌套循環(huán)變換)。此外,該 pragma 還可幫助編譯器縮減代碼大小。
MUST_ITERATE pragma 與其適用的 for、while 或 do-while 循環(huán)之間不能包含任何語句。不過,MUST_ITERATE pragma 與相應循環(huán)之間可以存在 UNROLL 等其他 pragma。