[llvm-dev] Way to guarantee generated indirect call is via memory?
Eugene Rozenfeld via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 17 16:41:15 PDT 2015
I'd like to generate an indirect call instruction that will end up as a call via memory and not register.
The address of the target is a constant.
For example, something like
%25 = load i64, i64* @get_Now
%26 = inttoptr i64 %25 to i64 ()*
%27 = call i64 %26()
may end up as
mov rsi,qword ptr [00007FF658381070]
call rsi
or as
call qword ptr [00007FF658381070]
If I want to guarantee that the second form is always used, how would I go about that?
One possibility is to use patchpoints (http://llvm.org/docs/StackMaps.html#id9). Are there any other alternatives?
Eugene
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150817/09ead439/attachment-0001.html>
More information about the llvm-dev
mailing list