[llvm-commits] [llvm] r89530 - in /llvm/trunk: include/llvm/CodeGen/LiveVariables.h lib/CodeGen/LiveVariables.cpp lib/CodeGen/PHIElimination.cpp lib/CodeGen/PHIElimination.h

Anton Korobeynikov anton at korobeynikov.info
Sun Nov 22 11:06:23 PST 2009


Hello, Jakob

> At the machine code level, switches become either branching trees or jumptable branches.
No :) There are 4 different "patterns" used currently for switch lowering:

1. Direct comparison (used for small switches)
2. Jumpt tables (used for dense switches)
3. Bit-tests (used for switches with not so big range span and going
into few destinations)
4. Branch trees combining 1 / 2 / 3

-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University



More information about the llvm-commits mailing list