Compilers
Wat wordt bij het verwijderen van dode code (dead code elimination) verwijderd?
- ADe code van het meest uitgevoerde, belangrijkste deel van het programma
- BDelen die nooit worden uitgevoerd en berekeningen waarvan het resultaat nergens wordt gebruikt
- CUitvoerinstructies om resultaten op het scherm weer te geven
Antwoord en toelichting tonen
Antwoord: B. Delen die nooit worden uitgevoerd en berekeningen waarvan het resultaat nergens wordt gebruikt
Het verwijderen van dode code is een optimalisatie waarbij onder meer de inhoud van een tak waarvan de voorwaarde altijd onwaar is en die dus nooit wordt uitgevoerd, en toewijzingen waarvan het resultaat nergens wordt gebruikt, worden verwijderd. Na constant propagation en constant folding ontstaan veel toewijzingen die niet meer worden gebruikt, zodat ze in combinatie worden toegepast. Vaak uitgevoerde delen zijn juist belangrijke delen die sneller moeten worden gemaakt en mogen niet worden verwijderd. Instructies met een van buiten zichtbaar effect, zoals uitvoer naar het scherm, zijn deel van het resultaat van het programma en worden niet verwijderd.