[LLVMdev] list of available/valid values near an instruction
Krzysztof Parzyszek
kparzysz at codeaurora.org
Wed Jan 14 11:06:28 PST 2015
For instructions you can simply iterate over the current basic block
from the instruction before the one that you are looking at, up to the
beginning of the block. Then iterate over all instructions in all
blocks dominating the current block. (You can get those from the
dominator tree, following the immediate-dominator chain.)
There is no such iterator that I'm aware of, so you may need to
implement your own, but it should be fairly simple.
-Krzysztof
On 1/14/2015 12:10 PM, Alexander Poddey wrote:
>
> Hi Krzysztof
> yes, they are available. What I want is to have a list of those values I can
> iterate over....
>
> Alex
>> I'm not sure if I understand your question correctly, but all values
>> whose definitions dominate the instruction that you are looking at are
>> available. Globals and function arguments are always available in a
>> given module or function.
>>
>> -Krzysztof
>>
>>
>> On 1/14/2015 9:08 AM, Alexander Poddey wrote:
>>> I wonder if there is a list of available/valid values (globals, constants
>>> arguments,..) in the scope of a given instruction?
>>>
>>> Background:
>>> Iterating over the instructions of a module, i would like to know which
>>> values are accessible in the context of the instruction, possibly
>>> replacing the instructions operand by a valid available other operand.
>>>
>>>
>>> Thx
>>> Alex
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>
>>
>>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-dev
mailing list