[LLVMdev] getCalledFunction
    Chris Lattner 
    sabre at nondot.org
       
    Mon Aug 29 13:37:21 PDT 2005
    
    
  
On Mon, 29 Aug 2005, Umar Janjua wrote:
> The getCalledFunction on CallInst is returning NULL, although it is (directly)
> calling a function, which is defined in the same file.
...
> the output is.
>
> %tmp.10 = call int (...)* cast (int ()* %releaseLock to int (...)*)( )
This is the problem.  This isn't a direct call, it's a call through a 
cast.  If you run the -instcombine pass, I believe it will clean this up. 
Alternatively, you can prototype releaseLock in your source file properly. 
In C, use:
int releaseLock(void);
not:
int releaseLock();
... which in C are different.
-Chris
-- 
http://nondot.org/sabre/
http://llvm.org/
    
    
More information about the llvm-dev
mailing list