我有以下三個地址碼,其中n是一些外部常數:優化三個地址碼
x = 0
i = 0
L: t1 = i * 4
t2 = a[t1]
t3 = i * 4
t4 = b[t3]
t5 = t2 * t4
x = x + t5
i = i + 1
if i < n goto L
我想就像我可以優化它。這是我到目前爲止:
x = 0
i = 0
t1 = -4
L: t1 = t1+4
t5 = a[t1] * b[t1]
x = x + t5
i = i + 1
if i < n goto L
任何人都可以提供更正/額外的優化?
目標體系結構是否支持複雜的內存尋址,並且是能夠識別簡單模式以映射到該目標的代碼組? – harold
這裏沒有真正的目標架構。這更多的是我正在努力學習編譯器代碼優化的教學示例。 –
好的。太糟糕了。否則,我會建議使用負索引來計算數組末尾的偏移量(然後'i
harold