search for: aatags

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