Displaying 3 results from an estimated 3 matches for "i_indirectbr".
2012 Nov 10
0
[LLVMdev] Saving a reference to a Basic Block?
...Basic Block that gets all fixed
> up in the linker, so that you can branch to it during execution?
We use the blockaddress() constant generator, coupled with the indirectbr instruction:
http://llvm.org/releases/3.1/docs/LangRef.html#blockaddress
http://llvm.org/releases/3.1/docs/LangRef.html#i_indirectbr
Note that all target basic blocks of indirectbr must be provided to the instruction as part of the IR construction.
Also, at least the x86_64 target for the legacy JIT is missing some required functionality for handling blockaddress(); we've fixed that locally, but need to check what the MCJI...
2012 Nov 10
2
[LLVMdev] Saving a reference to a Basic Block?
Is there a way to save a reference to a Basic Block that gets all fixed up
in the linker, so that you can branch to it during execution? (Or maybe
just a better way to do what I'm trying to do?)
In my old-school BASIC compiler that I'm writing with LLVM, for each GOSUB,
I keep a map of an integer ID and a pointer to the basic block following
the GOSUB to return to.
Then, when a BASIC
2013 Apr 10
1
[LLVMdev] Saving a reference to a Basic Block?
...> > up in the linker, so that you can branch to it during execution?
>
> We use the blockaddress() constant generator, coupled with the indirectbr
> instruction:
>
> http://llvm.org/releases/3.1/docs/LangRef.html#blockaddress
> http://llvm.org/releases/3.1/docs/LangRef.html#i_indirectbr
>
> Note that all target basic blocks of indirectbr must be provided to the
> instruction as part of the IR construction.
>
> Also, at least the x86_64 target for the legacy JIT is missing some
> required functionality for handling blockaddress(); we've fixed that
> locally...