Displaying 6 results from an estimated 6 matches for "copyvalu".
Did you mean:
copyvalue
2012 Feb 03
2
[LLVMdev] How to properly use copyValue?
Since there are no constructors for Value, how do you properly insert a new
Value?
If I create a pointer Value *newValue and then call AA.copyValue(oldValue,
newValue), this does not work, since newValue is not allocated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120203/44086cf5/attachment.html>
2012 Feb 05
1
[LLVMdev] How to properly use copyValue?
...want to create an exact
copy of an already exisitng Value, this should be pretty simple to do but
I'm unclear on how to do this?
For example, PHINode::getIncomingValue (unsigned) returns a "Value" and I
want to make a copy of that Value. Is there some other way to do this other
than copyValue() that I'm missing?
On Sat, Feb 4, 2012 at 3:23 PM, Nick Lewycky <nicholas at mxc.ca> wrote:
> Ryan Taylor wrote:
>
>> Since there are no constructors for Value, how do you properly insert a
>> new Value?
>>
>
> Value is a pure base. If you want to constru...
2012 Feb 04
0
[LLVMdev] How to properly use copyValue?
...o constructors for Value, how do you properly insert a
> new Value?
Value is a pure base. If you want to construct a new Value, then you
want to construct a global variable or instruction or argument or
something in particular.
> If I create a pointer Value *newValue and then call
> AA.copyValue(oldValue, newValue), this does not work, since newValue is
> not allocated.
AA.copyValue is used to tell the AliasAnalysis that a transformation is
replacing the instruction in oldValue with newValue, so AA should update
its internal tables. (Note that BasicAA and TBAA don't have interna...
2015 Jul 01
4
[LLVMdev] AliasAnalysis update interface - a tale of sorrow and woe
Greetings folks,
As I'm working on refactoring the AA interfaces in LLVM to prepare for the
new pass manager, I keep hitting issues. Some of the complexity that is
hitting this stems from the update API, which consists of three virtual
functions:
deleteValue(Value *V)
copyValue(Value *From, Value *To)
addEscapingUse(Use &U)
These interfaces are *very* rarely called. Here are the only passes that
ever bother to use these:
- MemoryDependenceAnalysis.cpp
- BasicBlockUtils.cpp
- LoopSimplify.cpp
- MergedLoadStoreMotion.cpp
- GVN.cpp
That's it. This is not a complet...
2015 Jul 02
2
[LLVMdev] AliasAnalysis update interface - a tale of sorrow and woe
...oring the AA interfaces in LLVM to prepare
> > for the new pass manager, I keep hitting issues. Some of the
> > complexity that is hitting this stems from the update API, which
> > consists of three virtual functions:
> >
> >
> > deleteValue(Value *V)
> > copyValue(Value *From, Value *To)
> > addEscapingUse(Use &U)
> >
> >
> > These interfaces are *very* rarely called. Here are the only passes
> > that ever bother to use these:
> > - MemoryDependenceAnalysis.cpp
> > - BasicBlockUtils.cpp
> > - LoopSimplif...
2013 Feb 03
0
[LLVMdev] Merging custom metadata
...R pairs (the `before` code gets
passed through `opt -O3 test.ll | llvm-dis`). Regular `tbaa` tags are still
present when loads are merged, however custom ones seem to perish.
Is this expected? If yes, is there any way I can make them persist from
within a custom AA pass at all? I tried overwriting copyValue() in the AA
pass but it doesn't seem to get called at all. The main idea is to
recognize certain types of loads and have other information in the my.tbaa
metadata that regular tbaa doesn't provide. The only other solution I can
think of right now is to encode that extra information in tbaa...