Displaying 8 results from an estimated 8 matches for "aatags".
2018 May 22
2
DSE: Remove useless stores between malloc & memset
It works with
MemoryLocation MemoryLocation::get(const CallInst *CI) {
AAMDNodes AATags;
CI->getAAMetadata(AATags);
const auto &DL = CI->getModule()->getDataLayout();
return MemoryLocation(CI, DL.getTypeStoreSize(CI->getType()), AATags);
}
Is it fine? :)
2018-05-22 23:56 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
> Looks like there are many...
2018 May 22
2
DSE: Remove useless stores between malloc & memset
...ween calloc and strlen). Any suggestions?
>
> 2018-05-23 0:49 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com
> <mailto:david.bolvansky at gmail.com>>:
>
> It works with
>
> MemoryLocation MemoryLocation::get(const CallInst *CI) {
> AAMDNodes AATags;
> CI->getAAMetadata(AATags);
> const auto &DL = CI->getModule()->getDataLayout();
>
> return MemoryLocation(CI, DL.getTypeStoreSize(CI->getType()), AATags);
> }
>
> Is it fine? :)
>
> 2018-05-22 23:56 GMT+02:00 Dávid Bolvanský
>...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
...ill wrongly transformed with this code to ret i32 0 (but there
is write between calloc and strlen). Any suggestions?
2018-05-23 0:49 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
> It works with
>
> MemoryLocation MemoryLocation::get(const CallInst *CI) {
> AAMDNodes AATags;
> CI->getAAMetadata(AATags);
> const auto &DL = CI->getModule()->getDataLayout();
>
> return MemoryLocation(CI, DL.getTypeStoreSize(CI->getType()), AATags);
> }
>
> Is it fine? :)
>
> 2018-05-22 23:56 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
...code to ret i32 0 (but
> there is write between calloc and strlen). Any suggestions?
>
> 2018-05-23 0:49 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
>
>> It works with
>>
>> MemoryLocation MemoryLocation::get(const CallInst *CI) {
>> AAMDNodes AATags;
>> CI->getAAMetadata(AATags);
>> const auto &DL = CI->getModule()->getDataLayout();
>>
>> return MemoryLocation(CI, DL.getTypeStoreSize(CI->getType()), AATags);
>> }
>>
>> Is it fine? :)
>>
>> 2018-05-22 23:56 GMT+02:00 Dávid Bo...
2019 Jun 05
2
Question about a AA result and its use in Dependence Analysis
...e in the way that DA is using AA. DependenceAnalysis's underlyingObjectsAlias is doing this:
// Check the original locations (minus size) for noalias, which can happen for
// tbaa, incompatible underlying object locations, etc.
MemoryLocation LocAS(LocA.Ptr, LocationSize::unknown(), LocA.AATags);
MemoryLocation LocBS(LocB.Ptr, LocationSize::unknown(), LocB.AATags);
if (AA->alias(LocAS, LocBS) == NoAlias)
return NoAlias;
// Check the underlying objects are the same
const Value *AObj = GetUnderlyingObject(LocA.Ptr, DL);
const Value *BObj = GetUnderlyingObject(LocB.Ptr, DL)...
2018 May 22
0
DSE: Remove useless stores between malloc & memset
Looks like there are many overloads for "get".
http://llvm.org/doxygen/MemoryLocation_8cpp_source.html
But nothing for CallInst. Any suggestions how to do a proper one? I will
look at it too.
2018-05-22 23:34 GMT+02:00 Dávid Bolvanský <david.bolvansky at gmail.com>:
> Full stack trace:
>
> opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T*
>
2019 Jun 03
2
Question about a AA result and its use in Dependence Analysis
Alias analysis is figuring out the relationship between two pointer expressions, at some location in the program. At a given point in the program, do two expressions always refer to the same location? At a given point in the program, do two expressions never refer to the same location?
AliasAnalysis::alias() doesn't explicitly take a "point" in the program because we don't
2018 May 22
2
DSE: Remove useless stores between malloc & memset
Full stack trace:
opt: /home/xbolva00/LLVM/llvm/include/llvm/ADT/Optional.h:176: T*
llvm::Optional<T>::getPointer() [with T = llvm::MemoryLocation]: Assertion
`Storage.hasVal' failed.
Stack dump:
0. Program arguments: opt aaa.ll -dse -S
1. Running pass 'Function Pass Manager' on module 'aaa.ll'.
2. Running pass 'Dead Store Elimination' on function