[LLVMdev] copy value of a global's data field to another global

David Blaikie dblaikie at gmail.com
Sun May 17 05:58:55 PDT 2015


On Sat, May 16, 2015 at 10:28 PM, Alexander Poddey <alexander.poddey at gmx.net
> wrote:

> Hi all,
>
> I can get access to the data stored in globals as follows:
>
> GlobalVariable* pGvarAct=_set_a_valid_global_;
> const_ptr_indicesVec=_the_indexes_
>
> llvm::Constant* pConst;
> pConst=ConstantExpr::getGetElementPtr(pGvarAct, const_ptr_indicesVec);
>
> and e.g. use this to repalece an argumrnt of an instruction like:
>
> I->setOperand(someArgumentIndex,pConst);
>
> However, getGetElementPtr returns a pointerType, which holds the actual
> type
> as sub_type.
> This is a problem when I want to use the data from one global for the
> initializer of another
>
>     pGvar->setInitializer(__NeedsAFloatTy_here__); //not pointerTy
>
> So what I'm trying to do is copy some data-fields of one global to another.
> I know the 'index-trace' used in getGetElementPtr, but I need the actual
> type, not 'covered' by a pointerType.
>

Perhaps you want getInitializer on the other GlobalVariable?


>
>
> Thank You!
> Alexander
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150517/a5548efc/attachment.html>


More information about the llvm-dev mailing list