[LLVMdev] Mutating the elements of a ConstantArray
Nick Johnson
nicholas.paul.johnson at gmail.com
Tue Mar 31 17:07:17 PDT 2009
Thanks,
Just one question more: why does Constant::getVectorElements()
operate on a SmallVector<T>, while ConstantArray::get() operate on a
std::vector<T> ? What is the distinction between these uses?
Thanks!
Nick
On Tue, Mar 31, 2009 at 7:49 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Mar 31, 2009, at 4:42 PM, Nick Johnson wrote:
>
>> Hello,
>>
>> I need to append something to the global "llvm.global_ctors". This
>> variable may or may not already be declared within the current module.
>>
>> If I lookup the global variable, I see that it supports a
>> getOperand(i) and setOperand(i,c), but does not support any way that I
>> can enlarge that array to add a new record.
>
> Hi Nick,
>
> You actually have to create a new ConstantArray with the desired
> elements, then remove the existing llvm.global_ctors constand and
> create a new one to replace it.
>
> Take a look at the GlobalOpt pass for examples of how to do this sort
> of thing.
>
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
--
Nick Johnson
More information about the llvm-dev
mailing list