[LLVMdev] jump table ?
Chris Lattner
sabre at nondot.org
Wed Jun 28 09:53:56 PDT 2006
On Wed, 28 Jun 2006, Simon Burton wrote:
> Is it possible to take the address
> of a basic block ?
Nope.
> I'd like to put a whole bunch of these
> addresses into an array, and then select
> one to branch to. Eg. like a switch statement.
> (i'm thinking also of GCC's computed goto's)
llvm-gcc supports gcc's computed goto's. You can see what code it
generates.
> I'm finding the code generated by an llvm switch
> is a big bunch of compares and jump instructions,
> which i'm not sure is the most efficent way of
> doing this.
LLVM does support switch table emission, but only in certain modes. I
think it's only supported in non-pic codegen mode. Patches to improve
this would be welcome :)
-Chris
--
http://nondot.org/sabre/
http://llvm.org/
More information about the llvm-dev
mailing list