search for: cflandersaaresult

Displaying 4 results from an estimated 4 matches for "cflandersaaresult".

2018 May 22
1
CFLAndersAliasAnalysis print implementation
...t function for the anders alias analysis, and the print function parameter Module *M and the Result calculated each indicate that there are no aliases. I'm certain I'm missing something, but I don't know what. To be absolutely clear, a Result is calculated of type: std::unique_ptr<CFLAndersAAResult> Result; And CFLAndersAAResult contains member fields: DenseMap<const Function *, Optional<FunctionInfo>> Cache; std::forward_list<cflaa::FunctionHandle<CFLAndersAAResult>> Handles; The DenseMap Cache is empty, and so is Handles. I can do -print-alias-sets, and t...
2017 Jul 14
2
PartialAlias: different start addresses
...I'm asking this because: >> 1) This condition seems very strict and I don't think it's met in a few >> places I found by manual inspection > If I read the definition correctly, at least our Andersens' AA > implementation violates it. > see: > > AliasResult CFLAndersAAResult::alias(const MemoryLocation &LocA, > const MemoryLocation &LocB) { > if (LocA.Ptr == LocB.Ptr) > return LocA.Size == LocB.Size ? MustAlias : PartialAlias; > > > (i.e. the two objects are overlapping here *and* start at the same...
2017 Jul 14
2
PartialAlias: different start addresses
Hi, I going through the alias analysis documentation (http://llvm.org/docs/AliasAnalysis.html) and noticed the following in the definition of PartialAlias: " The PartialAlias response is used when the two memory objects are known to be overlapping in some way, but *do not start at the same address*. " Is it really required that the objects do no start at the same address? if
2017 Jul 14
2
PartialAlias: different start addresses
...he AA algorithm would need to prove that. I'm asking this because: 1) This condition seems very strict and I don't think it's met in a few places I found by manual inspection If I read the definition correctly, at least our Andersens' AA implementation violates it. see: AliasResult CFLAndersAAResult::alias(const MemoryLocation &LocA, const MemoryLocation &LocB) { if (LocA.Ptr == LocB.Ptr) return LocA.Size == LocB.Size ? MustAlias : PartialAlias; (i.e. the two objects are overlapping here *and* start at the same address). I've never n...