This patch introduces ProfitableSet to cache the results of profitability checks.
If a common subexpression machine instruction (CSMI) has been identified as
profitable before, then this CSMI tend to be profitable later on, unless a machine
instruction (MI) is not profitable for common subexpression elimination.
This fixes pr37277
Compile time went down from 32s to 13s.