match.pd: fold (X - (X<0)) ^ -(X<0) into ABS_EXPR<X>.
A new match.pd pattern folds (X - (X<0)) ^ -(X<0) into ABS_EXPR<X>.
A new pattern has been added to match.pd to fold the expression (x - (x<0)) ^ -(x<0) into ABS_EXPR
In Details
This commit introduces a new pattern in match.pd that transforms the expression (x - (x<0)) ^ -(x<0) into ABS_EXPR<x>. match.pd is used during the tree-ssa optimization phase. The change directly manipulates the tree representation of the code, which might affect subsequent optimization passes.
For Context
The GCC compiler uses pattern matching to recognize opportunities for optimization. The match.pd file contains patterns that the compiler uses to simplify expressions during the optimization process. This commit introduces a pattern that recognizes a specific way to calculate the absolute value of a number and replaces it with a more direct representation, which can lead to performance improvements.