<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 16, 2015 at 10:28 PM, Alexander Poddey <span dir="ltr"><<a href="mailto:alexander.poddey@gmx.net" target="_blank">alexander.poddey@gmx.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I can get access to the data stored in globals as follows:<br>
<br>
GlobalVariable* pGvarAct=_set_a_valid_global_;<br>
const_ptr_indicesVec=_the_indexes_<br>
<br>
llvm::Constant* pConst;<br>
pConst=ConstantExpr::getGetElementPtr(pGvarAct, const_ptr_indicesVec);<br>
<br>
and e.g. use this to repalece an argumrnt of an instruction like:<br>
<br>
I->setOperand(someArgumentIndex,pConst);<br>
<br>
However, getGetElementPtr returns a pointerType, which holds the actual type<br>
as sub_type.<br>
This is a problem when I want to use the data from one global for the<br>
initializer of another<br>
<br>
    pGvar->setInitializer(__NeedsAFloatTy_here__); //not pointerTy<br>
<br>
So what I'm trying to do is copy some data-fields of one global to another.<br>
I know the 'index-trace' used in getGetElementPtr, but I need the actual<br>
type, not 'covered' by a pointerType.<br></blockquote><div><br>Perhaps you want getInitializer on the other GlobalVariable?<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
Thank You!<br>
Alexander<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div></div>