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)會(huì)執(zhí)行特定的次數(shù)或在指定范圍內(nèi)執(zhí)行多次。
只要向循環(huán)應(yīng)用 UNROLL pragma,則應(yīng)向同一循環(huán)應(yīng)用 MUST_ITERATE。對(duì)于循環(huán),MUST_ITERATE pragma 的第三個(gè)參數(shù) multiple 最為重要,并且始終應(yīng)該指定。
另外,應(yīng)當(dāng)盡可能多地向任何其他循環(huán)應(yīng)用 MUST_ITERATE pragma。這是因?yàn)橥ㄟ^(guò)該 pragma 提供的信息(尤其是最小迭代次數(shù))能夠幫助編譯器選擇最優(yōu)循環(huán)和循環(huán)變換(即嵌套循環(huán)變換)。此外,該 pragma 還可幫助編譯器縮減代碼大小。
MUST_ITERATE pragma 與其適用的 for、while 或 do-while 循環(huán)之間不能包含任何語(yǔ)句。不過(guò),MUST_ITERATE pragma 與相應(yīng)循環(huán)之間可以存在 UNROLL 等其他 pragma。