mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
re PR middle-end/23606 (fold does not fold (type)(a == b) into a == b (with type as the type))
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu> PR middle-end/23606 * fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For COMPARISON_CLASS_P and an integral types create create a new expression with the new type and fold that. From-SVN: r107370
This commit is contained in:
parent
1c99189191
commit
d998dd65ec
@ -1,3 +1,10 @@
|
||||
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR middle-end/23606
|
||||
* fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
|
||||
COMPARISON_CLASS_P and an integral types create create a new
|
||||
expression with the new type and fold that.
|
||||
|
||||
2005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
PR target/24988
|
||||
|
@ -6771,6 +6771,12 @@ fold_unary (enum tree_code code, tree type, tree op0)
|
||||
case FIX_ROUND_EXPR:
|
||||
if (TREE_TYPE (op0) == type)
|
||||
return op0;
|
||||
|
||||
/* If we have (type) (a CMP b) and type is an integal type, return
|
||||
new expression involving the new type. */
|
||||
if (COMPARISON_CLASS_P (op0) && INTEGRAL_TYPE_P (type))
|
||||
return fold_build2 (TREE_CODE (op0), type, TREE_OPERAND (op0, 0),
|
||||
TREE_OPERAND (op0, 1));
|
||||
|
||||
/* Handle cases of two conversions in a row. */
|
||||
if (TREE_CODE (op0) == NOP_EXPR
|
||||
|
Loading…
Reference in New Issue
Block a user