fold-const.c (tree_swap_operands_p): Put all constants last...
2014-08-15 Richard Biener <rguenther@suse.de> * fold-const.c (tree_swap_operands_p): Put all constants last, also strip sign-changing NOPs when considering further canonicalization. Canonicalize also when optimizing for size. From-SVN: r214013
This commit is contained in:
parent
5f75acf4a4
commit
09ad9c71aa
@ -1,3 +1,9 @@
|
||||
2014-08-15 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* fold-const.c (tree_swap_operands_p): Put all constants
|
||||
last, also strip sign-changing NOPs when considering further
|
||||
canonicalization. Canonicalize also when optimizing for size.
|
||||
|
||||
2014-08-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Move
|
||||
|
@ -6642,37 +6642,19 @@ reorder_operands_p (const_tree arg0, const_tree arg1)
|
||||
bool
|
||||
tree_swap_operands_p (const_tree arg0, const_tree arg1, bool reorder)
|
||||
{
|
||||
STRIP_SIGN_NOPS (arg0);
|
||||
STRIP_SIGN_NOPS (arg1);
|
||||
|
||||
if (TREE_CODE (arg1) == INTEGER_CST)
|
||||
if (CONSTANT_CLASS_P (arg1))
|
||||
return 0;
|
||||
if (TREE_CODE (arg0) == INTEGER_CST)
|
||||
if (CONSTANT_CLASS_P (arg0))
|
||||
return 1;
|
||||
|
||||
if (TREE_CODE (arg1) == REAL_CST)
|
||||
return 0;
|
||||
if (TREE_CODE (arg0) == REAL_CST)
|
||||
return 1;
|
||||
|
||||
if (TREE_CODE (arg1) == FIXED_CST)
|
||||
return 0;
|
||||
if (TREE_CODE (arg0) == FIXED_CST)
|
||||
return 1;
|
||||
|
||||
if (TREE_CODE (arg1) == COMPLEX_CST)
|
||||
return 0;
|
||||
if (TREE_CODE (arg0) == COMPLEX_CST)
|
||||
return 1;
|
||||
STRIP_NOPS (arg0);
|
||||
STRIP_NOPS (arg1);
|
||||
|
||||
if (TREE_CONSTANT (arg1))
|
||||
return 0;
|
||||
if (TREE_CONSTANT (arg0))
|
||||
return 1;
|
||||
|
||||
if (optimize_function_for_size_p (cfun))
|
||||
return 0;
|
||||
|
||||
if (reorder && flag_evaluation_order
|
||||
&& (TREE_SIDE_EFFECTS (arg0) || TREE_SIDE_EFFECTS (arg1)))
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user