Logo
Pattern

Discover published sets by community

Explore tens of thousands of sets crafted by our community.

Compiler Back-End Processes

15

Flashcards

0/15

Still learning
StarStarStarStar

Instruction Scheduling

StarStarStarStar

Reordering the instructions to avoid pipeline stalls and improve parallelism without changing the outcome of the program.

StarStarStarStar

Strength Reduction

StarStarStarStar

Substitution of expensive operations with equivalent but less costly operations.

StarStarStarStar

Dead Code Elimination

StarStarStarStar

The process of removing code which does not affect the program output (dead code), reducing resource consumption and improving execution time.

StarStarStarStar

Control Flow Graph (CFG) Construction

StarStarStarStar

Creation of a graphical representation of all paths that might be traversed through a program during its execution.

StarStarStarStar

Machine Code Generation

StarStarStarStar

The final step of the back-end that translates an intermediate representation of the source program into machine code specific for a target CPU architecture.

StarStarStarStar

Loop Unrolling

StarStarStarStar

Expanding a loop by repeating the instructions within the loop body to reduce the number of iterations and control overhead.

StarStarStarStar

Peephole Optimization

StarStarStarStar

A local pass over the generated code to improve it by identifying and replacing certain sub-sequences with more efficient ones.

StarStarStarStar

Data Flow Analysis

StarStarStarStar

An analysis technique that gathers information about the possible set of values calculated at various points in a computer program.

StarStarStarStar

Inter-procedural Optimization

StarStarStarStar

Optimizations that analyze and optimize across function boundaries, in contrast to intra-procedural optimizations within a single function.

StarStarStarStar

Inlining

StarStarStarStar

The process of substituting a function call with the actual code of the function, removing the call overhead and enabling other optimizations.

StarStarStarStar

Profile Guided Optimization (PGO)

StarStarStarStar

An optimization technique using data collected from profiling runs of the program (e.g., execution frequency of code paths) to inform and guide compilation strategies.

StarStarStarStar

Register Allocation

StarStarStarStar

The process of assigning a large number of target program variables onto a small number of CPU registers to optimize runtime performance.

StarStarStarStar

Constant Propagation

StarStarStarStar

Simplifying expressions and assignments by replacing variables that have constant values with the actual values.

StarStarStarStar

Alias Analysis

StarStarStarStar

Determining if two pointers or references in a program may refer to the same memory location.

StarStarStarStar

Escape Analysis

StarStarStarStar

Analyzing the scope in which pointers (or references) can be accessed to optimize memory usage and enable stack allocation instead of heap allocation where possible.

Know
0
Still learning
Click to flip
Know
0
Logo

© Hypatia.Tech. 2024 All rights reserved.