Here's a patch that implements the version of jump-instruction tables that I have been discussing on llvmdev.
It adds:
- a jumptable function attribute that maps to a jumptable entry in a special section
- an intrinsic llvm.jumptable_jump that can only occur as the sole instruction in a jumptable function
- a JumpInstrTables pass that converts address-taken functions to pass through a jump-instruction table
- codegen support + X86 backend support for lowering the intrinsic to a simple jmp f@PLT instruction
- some basic tests of the functionality