Example of Unreachable Code Elimination

Consider the below C++ code snippet as an Example of Unreachable Code Elimination.

Before Optimization

C++




#include <iostream>
void exampleFunction(int x)
{
    if (x > 10) {
        std::cout <<"x is greater than 10" << std::endl;
    }
    else {
        std::cout <<"x is less than or equal to 10" << std::endl;
        return;
        std::cout<<"This line is unreachable" << std::endl;
    }
}
int main()
{
    exampleFunction(15);
    return 0;
}


In the above code, there is a function called the example function that takes an integer x as input. It checks if x is greater than 10. If it is, it prints ” x is greater than 10 ” to the console. Otherwise, it prints “x is less than or equal to 10” and has an extra line that will never be executed due to the return statement before it.

After Optimization

C++




#include <iostream>;
void exampleFunction(int x)
{
    if (x > 10) {
        std::cout << "x is greater than 10" << std::endl;
    }
    else {
        std::cout << "x is less than or equal to 10"
                  << std::endl;
        return;
    }
}
int main()
{
    exampleFunction(15);
    return 0;
}


After optimization, the unreachable line of code std::cout << “This line is unreachable” << std::endl; is removed. The resulting optimized code still prints the appropriate message based on the value of x , but it eliminates the unnecessary and unreachable line.

Unreachable Code Elimination

Unreachable Code is also known as dead code in Compiler Design that points to the portion of a program that is never executed under any condition or scenario. This dead code doesn’t do any functionality in the program but unnecessarily occupies the space in the application memory, and also due to this there are different problems of unnecessary computation, that describe the program’s performance. So, to avoid this issue in Compiler Design, we can use the technique of Unreachable Code Elimination. In this Compiler Design article, we will see Unreachable Code Elimination with its techniques, practical examples, and advantages.

Similar Reads

Techniques for Unreachable Code Detection

Below mentioned are the techniques for Unreachable Code Detection....

Example of Unreachable Code Elimination

Consider the below C++ code snippet as an Example of Unreachable Code Elimination....

Advantages/Benefits of Unreachable Code Elimination

...

FAQs on Unreachable Code Elimination

...

Contact Us