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
當可以通過多種方式訪問單個對象時,例如當兩個指針指向同一個對象或一個指針指向一個命名對象時,便會出現(xiàn)別名。別名會破壞優(yōu)化,這是因為任何間接引用都可以引用另一個對象。優(yōu)化器會分析代碼以確定哪里可以出現(xiàn)別名,哪里或不可以出現(xiàn)別名,然后在保持程序正確性的同時盡可能進行優(yōu)化。優(yōu)化器謹慎執(zhí)行其行為。如果兩個指針有可能指向同一個對象,那么優(yōu)化器就會假設(shè)這兩個指針確實指向同一個對象。
編譯器認為,如果將局部變量的地址傳遞給某個函數(shù),則該函數(shù)會通過指針寫入來更改局部變量。這使得局部變量的地址在返回后無法在其他地方使用。例如,被調(diào)用的函數(shù)不能將局部變量的地址分配給全局變量或返回局部變量的地址。如果此假設(shè)無效,,請使用 --aliased_variables 編譯器選項強制編譯器采用最壞情況下的別名。在最壞情況下的別名中,任何間接引用都可以引用這樣的變量。