[cfe-dev] How to increment a Global Variable in a LLVM module?
rnk at google.com
Thu May 14 10:33:43 PDT 2015
Load it, add it, store it, and then for good measure, plug it, play it,
burn it, and rip it. :)
You just need to add a store to your IR:
%cell_index = load i32* %cell_index_ptr
%new_cell_index = add i32 1, %cell_index
store i32 %new_cell_index, i32* %cell_index_ptr
On Wed, May 13, 2015 at 9:23 PM, Kolmogorov <e-link at msn.com> wrote:
> I want to add an instruction at the end of a basic block to increment a
> GlobalVariable (using the LLVM C++ library). I am pretty new to to the
> can I do this directly or does this require loading the global variable,
> incrementing it by the desired value and writing back to the global
> Even if I load the variable (with LoadInst constructor), How will the "Add"
> instruction know where is the variable ?
> For example, look at this IR ocde : %cell_index = load i32* %cell_index_ptr
> %new_cell_index = add i32 1, %cell_index
> the add instruction knows on which variable to operate (cell_index). But
> since I will create the load instruction from the C++ I don't know where
> variable will be created. (I do not operate the IR code directly but using
> the C++ it was just for the example
> View this message in context:
> Sent from the Clang Developers mailing list archive at Nabble.com.
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev