[LLVMdev] Implementing customized intrinsic

Haohui Mai haohui.mai at gmail.com
Wed Jan 21 17:26:19 PST 2009


Thanks for your reply. Probably I did not explain clearly. Here is an  
example:

call @check(%foo)
%1 = load %foo

Now I want to write optimization only focus on the function call  
@check, and it might have some additional information which does not  
need to  appear at LLVM IR.

So it seems that the annotation intrinsic does not fit the scenario.

Haohui

On Jan 21, 2009, at 8:01 PM, Tanya M. Lattner wrote:

>
> Does the llvm annotation intrinsic not work for what you are trying  
> to do?
>
> http://llvm.org/docs/LangRef.html#int_var_annotation
> http://llvm.org/docs/LangRef.html#int_annotation
>
> -Tanya
>
> On Wed, 21 Jan 2009, Haohui Mai wrote:
>
>> Dear all,
>>
>> Currently I'm working on a project that add various checks into the
>> LLVM bitcode. For example,  I insert function calls before every
>> load / store instructions to guarantee that these instructions are
>> safe. I really want to implement them as LLVM intrinsics or ``special
>> function calls'' so that I am able to leverage the power of things
>> like InstVisitor. However, it seems it is difficult to do it without
>> changing LLVM's source codes, cause
>>
>> i) all constructors of CallInst are private
>> ii) There's no interfaces for implementing customized intrinsics
>> (without changing intrinsics*.td)
>>
>> It is very helpful to mark these checks as special calls (like
>> intrinsics), it would ease the implementation of optimizations since
>> they only work on these special calls, say, I could save some
>> information in the subclass of CallInst.
>>
>> I also notice that the access identifier of CallInst are changed  
>> after
>> LLVM 2.0. I would be appreciated if you guys could explain the
>> rationale behind the changes.
>>
>> Thank you very much.
>>
>> Best,
>>
>> Haohui
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list