[llvm-commits] [llvm] r72650 - in /llvm/trunk:include/llvm/CodeGen/JITCodeEmitter.hinclude/llvm/CodeGe n/MachineCodeEmitter.hinclude/llvm/ExecutionEngine/JITMemoryManager. hlib/CodeGen/MachOWriter.cpp lib/CodeGen/MachOWriter.hlib/ExecutionEngi

Frits van Bommel fvbommel at wxs.nl
Fri Jun 5 02:27:35 PDT 2009


Duncan Sands wrote:
> with r72619 a definition is output for getchar:
> 
> define available_externally i32 @getchar() nounwind {
> entry:
> ...
> 
> The code generator has this logic in SelectionDAGISel::runOnFunction:
> 
>    // Do not codegen any 'available_externally' functions at all, they have
>    // definitions outside the translation unit.
>    if (Fn.hasAvailableExternallyLinkage())
>      return false;
> 
> This confuses the JIT because it sees a function that is not a
> declaration, passes it to codegen, but codegen doesn't produce
> any code for it.
> 
> I don't know what the right solution is.

Shouldn't the JIT just treat available_externally functions the same as external 
functions?



More information about the llvm-commits mailing list