[llvm-dev] Preserving Call to Intrinsic function
Kumail Ahmed via llvm-dev
llvm-dev at lists.llvm.org
Fri Jan 27 08:33:54 PST 2017
Hello everyone,
Consider we have this following set of code:
int foo() {
int a,b;
a = __builtin_XX(0x11);
b = __builtin_XX(0x11);
return a+b;
}
The problem currently is that LLVM eliminated the second call and copied
the result from the first call into a new set of registers. Is there is a
way to force LLVM to generate two explicit calls to a builtin function. The
builtin takes in an integer type, and also returns back an integer type:
def int_XX : GCCBuiltin<"__builtin_XX">, Intrinsic<[llvm_i32_ty],
[llvm_i32_ty]>;
Is there some flag that I'm missing? Your help will be really appreciated.
Best Regards,
Kumail Ahmed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170127/4335399b/attachment.html>
More information about the llvm-dev
mailing list