[LLVMdev] CodeGen fails for CallInst with label
sabre at nondot.org
Sat Apr 19 12:16:18 PDT 2008
On Apr 19, 2008, at 12:04 PM, Edward Lee wrote:
> On Sat, Apr 19, 2008 at 1:27 PM, Chris Lattner <sabre at nondot.org>
>> On Apr 19, 2008, at 1:30 AM, Edward Lee wrote:
>>> It seems like LLVM happily creates function calls that pass in
>>> but doesn't know how to emit them.
>> Yep, this isn't supported. We can't quite enforce it as invalid at
>> this moment, but don't expect it to work.
> That's a little bit disappointing for me. Is there some way in LLVM to
> get the address of a label and put it in a register for use within
> that function?
No. The reason we don't allow this is because it violates the CFG.
The compiler needs to know where and how control flow happens so that
dataflow analysis and code motion does not corrupt the behavior of the
program being compiled.
We do plan to eventually optimize indirect goto more aggressively, but
this is a big and nasty project.
More information about the llvm-dev