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
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
include | Loading commit data... | |
.cvsignore | Loading commit data... | |
bugreport.texi | Loading commit data... | |
c-tree.texi | Loading commit data... | |
collect2.texi | Loading commit data... | |
compat.texi | Loading commit data... | |
configfiles.texi | Loading commit data... | |
configterms.texi | Loading commit data... | |
contrib.texi | Loading commit data... | |
contribute.texi | Loading commit data... | |
cpp.texi | Loading commit data... | |
cppenv.texi | Loading commit data... | |
cppinternals.texi | Loading commit data... | |
cppopts.texi | Loading commit data... | |
extend.texi | Loading commit data... | |
fragments.texi | Loading commit data... | |
frontends.texi | Loading commit data... | |
gcc.texi | Loading commit data... | |
gccint.texi | Loading commit data... | |
gcov.texi | Loading commit data... | |
gnu.texi | Loading commit data... | |
gty.texi | Loading commit data... | |
headerdirs.texi | Loading commit data... | |
hostconfig.texi | Loading commit data... | |
install-old.texi | Loading commit data... | |
install.texi | Loading commit data... | |
install.texi2html | Loading commit data... | |
interface.texi | Loading commit data... | |
invoke.texi | Loading commit data... | |
languages.texi | Loading commit data... | |
makefile.texi | Loading commit data... | |
md.texi | Loading commit data... | |
objc.texi | Loading commit data... | |
passes.texi | Loading commit data... | |
portability.texi | Loading commit data... | |
rtl.texi | Loading commit data... | |
service.texi | Loading commit data... | |
sourcebuild.texi | Loading commit data... | |
standards.texi | Loading commit data... | |
tm.texi | Loading commit data... | |
trouble.texi | Loading commit data... | |
vms.texi | Loading commit data... |