How should LLVM interpreter handle llvm.objectsize.i64

Hello LLVMer,

I use dragonegg to generate LLVM bitcode. Then I use LLVM interpreter to
execute what I get from compilation. However an error occurred and the error
message is:
“LLVM ERROR: Code generator does not support intrinsic function ‘llvm.objectsize.i64’!.”
As far as I know, objectsize intrinsic is equivalent to gcc built-in function
__builtin_object_size. But I don’t call __builtin_object_size explicitly in my
source code. Maybe headers what I include call the built-in somewhere. How do
I eliminate such built-in function call in LLVM bitcode, or what code should I
add into IntrinsicLowering.cpp to handle this problem.

Any suggestion or comment is welcomed.


My suggestion would be to always lower to "unknown". See the code in,
IIRC, codegenprepare (or fast-isel) that does this.