re PR tree-optimization/83221 (qsort comparator not anti-commutative: -2147483648, -2147483648)

PR tree-optimization/83221
	* tree-ssa-reassoc.c (sort_by_operand_rank): Shift bb_rank
	down by 16.
	(init_reassoc): Formatting fix.

From-SVN: r255297
This commit is contained in:
Jakub Jelinek 2017-12-01 09:14:21 +01:00 committed by Jakub Jelinek
parent 9ede7b1bf0
commit 5ac4b05631
2 changed files with 7 additions and 2 deletions

View File

@ -1,5 +1,10 @@
2017-12-01 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/83221
* tree-ssa-reassoc.c (sort_by_operand_rank): Shift bb_rank
down by 16.
(init_reassoc): Formatting fix.
PR sanitizer/81275
* tree-cfg.c (group_case_labels_stmt): Don't optimize away
C++ FE implicitly added __builtin_unreachable () until -Wreturn-type

View File

@ -543,7 +543,7 @@ sort_by_operand_rank (const void *pa, const void *pb)
return -1;
/* If neither is, compare bb_rank. */
if (bb_rank[bbb->index] != bb_rank[bba->index])
return bb_rank[bbb->index] - bb_rank[bba->index];
return (bb_rank[bbb->index] >> 16) - (bb_rank[bba->index] >> 16);
}
bool da = reassoc_stmt_dominates_stmt_p (stmta, stmtb);
@ -6131,7 +6131,7 @@ init_reassoc (void)
/* Set up rank for each BB */
for (i = 0; i < n_basic_blocks_for_fn (cfun) - NUM_FIXED_BLOCKS; i++)
bb_rank[bbs[i]] = ++rank << 16;
bb_rank[bbs[i]] = ++rank << 16;
free (bbs);
calculate_dominance_info (CDI_POST_DOMINATORS);