stmt.c
193 KB
-
stmt.c (emit_case_bit_tests): New routine to implement suitable switch… · 9bb231fd
stmt.c (emit_case_bit_tests): New routine to implement suitable switch statements using the equivalent of "if... * stmt.c (emit_case_bit_tests): New routine to implement suitable switch statements using the equivalent of "if ((1<<x) & cst) ... ". (case_bit_test_cmp): New comparison function for "qsort" to order case_bit_tests by decreasing number of destination nodes. (lshift_cheap_p): New function to determine if "1 << x" is cheap. (expand_end_case_type): Use emit_case_bit_tests to implement suitable switch statments. (CASE_USE_BIT_TESTS): New target macro to disable the above. * Makefile.in (stmt.o): Add dependency on optab.h. * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro. * gcc.c-torture/execute/switch-1.c: New test case. From-SVN: r61784
Roger Sayle committed