getreg dan foydalanish: - uchun := y op z;
- x uchun := y;
- Yagona yuk, registr deskriptori x ham, y ham R da ekanligini bildiradi.
- Blokdan chiqishda jonli qiymatlarni o'z ichiga olgan registrlarni saqlang
Asosiy blokdagi bog'liqliklarni hisoblash: dag - Umumiy pastki ifodalarni aniqlash va ortiqcha to'rtliklarni olib tashlash uchun yo'naltirilgan asiklik grafikdan (dag) foydalaning .
- Oraliq kodni optimallashtirish:
- asosiy blok => dag => takomillashtirilgan blok => yig'ish
- Barglar identifikatorlar va doimiylar bilan belgilanadi.
- Ichki tugunlar operatorlar va identifikatorlar bilan belgilanadi
- Asosiy blokdan oldinga o'tish
- x uchun := y op z;
- Y etiketli tugunni toping yoki bittasini yarating
- z etiketli tugunni toping yoki bittasini yarating
- op uchun yangi tugun yarating yoki y, z avlodlari bilan mavjud tugunni toping ( xesh sxemasi kerak )
- Yangi tugun uchun teglar ro'yxatiga x qo'shing
- X yorlig'i paydo bo'lgan tugundan olib tashlang
- uchun := y;
- Hozirda y ga ega bo'lgan tugun yorliqlari ro'yxatiga x qo'shing
Misol: nuqta mahsuloti mahsulot := 0; j uchun 1 .. 20 tsiklda ishlab chiqarish := ishlab chiqarish + a (j) * b (j); -- 4 baytlik butun sonni qabul qiling end loop ; - To'rtlik:
J := 1;
Do'stlaringiz bilan baham: |