Displaying 6 results from an estimated 6 matches for "findaliassetforunknowninst".
2015 Dec 06
2
Objects of MemoryLocation class are created for ‘llvm.memset.*‘ intrinsics
...alias sets in the
AliasSetTracker::addUnknown, have the following form:
call void @llvm.memset.p0i8.i64(i8* %scevgep..., i8 0, i64 256, i32 8, i1 false)
Furthermore, in this case, there aren’t any unknown instructions,
which are added by AliasSetTracker::addUnknown to alias sets that are
found by findAliasSetForUnknownInst. That’s why I would like to check
objects of MemoryLocation class that are created for ‘llvm.memset.*‘
intrinsics. If I’m not mistaken, objects of MemoryLocation class are
involved in alias analysis and, in particular, in work of
findAliasSetForUnknownInst.
Thank you for the attention!
--...
2016 Jan 27
2
Skip redundant checks in AliasSet::aliasesUnknownInst
Thank you for the idea! Could you please explain it? If I’m not
mistaken, you advise to insert the unknown insts of an every AS from
AliasSetTracker::add(const AliasSetTracker &AST) into a smallptrset
and consequently append it to merged alias sets from
AliasSetTracker::findAliasSetForUnknownInst. I think that Philip
proposed something similar to your approach in
https://llvm.org/bugs/show_bug.cgi?id=23077.
2016-01-24 22:44 GMT+05:00 Daniel Berlin <dberlin at dberlin.org>:
> It sounds like UnknownInsts should really be a SmallSet, SmallPtrSet, or
> DenseSet (if you can't do...
2015 Dec 12
2
Objects of MemoryLocation class are created for ‘llvm.memset.*‘ intrinsics
2015-12-11 23:44 GMT+05:00 Hal Finkel <hfinkel at anl.gov>:
> Hi Roman,
>
> The MemoryLocation objects are involved in findAliasSetForUnknownInst, but none are created there for the memset intrinsic. MemoryLocation objects are only involved for the regular memory accesses being compared to the unknown instruction. See AliasSet::aliasesUnknownInst in lib/Analysis/AliasSetTracker.cpp.
>
> We do know how to create MemoryLocation objects f...
2015 Jul 28
1
[LLVMdev] AliasSetTracker and UnknownInst's (callsites mostly) problem
...acker merging AliasSet's when meet
UnknownInst.
When adding new pointer it looks for existing AliasSet's aliased with new
pointer. And merging them together. It is ok for pointers: if %A mayalias
%B and %B mayalias %C then %A mayalias %C.
But the same logic when adding callsite is wrong (
findAliasSetForUnknownInst).
Callsite may be known to readonly access one pointer and change the content
of other pointer.
Why to merge together two noalias pointers if they have some mod/ref
relationships with common callsite?
If modrefinfo(%A, %call1) == REF and modrefinfo(%B, %call1) == MOD
it doesn't mean %A may/mu...
2016 Jan 27
2
Skip redundant checks in AliasSet::aliasesUnknownInst
...i know where to concetrate?
>
> If I’m not
> mistaken, you advise to insert the unknown insts of an every AS from
> AliasSetTracker::add(const AliasSetTracker &AST) into a smallptrset
> and consequently append it to merged alias sets from
> AliasSetTracker::findAliasSetForUnknownInst.
>
>
> Well, no. This is not the only place duplication can occur, because
> the merging of unknownInsts can occur through findAliasSetForPointer
> as well, if that AS has unknown instructions.
>
>
> See below.
>
> I think that Philip
> proposed something...
2016 Jan 24
4
Skip redundant checks in AliasSet::aliasesUnknownInst
Dear llvm contributors,
Could you please advise me how to skip
checks, which are performed in AliasSet::aliasesUnknownInst, of
unknown instructions from different alias sets of an alias set tracker
that is a parameter of ‘AliasSetTracker::add(const AliasSetTracker
&AST)’?
If this wasn’t available at the moment and someone could review me, I
would try to implement it. A temporary patch can be