search for: callcapturesbefor

Displaying 7 results from an estimated 7 matches for "callcapturesbefor".

Did you mean: callcapturesbefore
2015 Aug 07
2
load instruction erroneously removed by GVN
...e following analysis at the end: // See if this instruction (e.g. a call or vaarg) mod/ref's the pointer. AliasAnalysis::ModRefResult MR = AA->getModRefInfo(Inst, MemLoc); // If necessary, perform additional analysis. if (MR == AliasAnalysis::ModRef) MR = AA->callCapturesBefore(Inst, MemLoc, DT); switch (MR) { case AliasAnalysis::NoModRef: // If the call has no effect on the queried pointer, just ignore it. continue; case AliasAnalysis::Mod: return MemDepResult::getClobber(Inst); case AliasAnalysis::Ref: // If the call is k...
2014 May 21
4
[LLVMdev] GVN incorrectly handling readnone parameter attribute?
...arameter attributes is incorrect, as the load can be affected through a different pointer. So before I try to fix GVN, my question is, am I on the right track? Specifically, is the definition in the LangRef correct? Thanks, Rob. P.S. GVN's checking of the attributes is done in AliasAnalysis::callCapturesBefore in lib/Analysis/AliasAnalysis.cpp -- Robert Lougher SN Systems - Sony Computer Entertainment Group
2015 Aug 10
2
load instruction erroneously removed by GVN
Hi, On 08/07/2015 10:30 PM, Nick Lewycky wrote: [...] > Depends. What is the exact declaration of format_long? > > > In the input .ll file it is: > > ; Function Attrs: minsize optsize > define internal i16 @format_long(i16* %res.8.par, i16 %base.9.par, > i32 %x.10.par) #3 { > > which is later changed somewhere in opt to: > > ;
2018 Sep 25
3
RFC Storing BB order in llvm::Instruction for faster local dominance
...; > Do you have a sense of where these expensive domtree queries are > coming from? Are they from a couple of key places or are they > scattered throughout the pass pipeline? > When I dug into the profile with WPA, most of the time was spent in DSE and memcpyopt, which call AAResults::callCapturesBefore, which calls llvm::PointerMayBeCapturedBefore. Neither pass in an OrderedBasicBlock, so they rebuild the OrderedBasicBlock in linear time on every query. These passes insert instructions, so it's not correct to simply create and reuse an OrderedBasicBlock at this level. As suggested in the bu...
2018 Sep 25
2
RFC Storing BB order in llvm::Instruction for faster local dominance
On Mon, Sep 24, 2018 at 10:07 PM Chris Lattner <clattner at nondot.org> wrote: > > On Sep 24, 2018, at 9:54 PM, Chris Lattner <clattner at nondot.org> wrote: > >> I think we have consensus that we should go forward with this. Would > anyone mind formally stamping it in phab? So far everyone understandably > has said "makes sense to me, but I don't
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
this is definitely a bug in AA. 225 for (auto I = CS2.arg_begin(), E = CS2.arg_end(); I != E; ++I) { 226 const Value *Arg = *I; 227 if (!Arg->getType()->isPointerTy()) -> 228 continue; 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, CS2ArgIdx, TLI);
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...g->getType()->isPointerTy()) + if (!Arg->getType()->isPtrOrPtrVectorTy()) continue; unsigned CS1ArgIdx = std::distance(CS1.arg_begin(), I); auto CS1ArgLoc = MemoryLocation::getForArgument(CS1, CS1ArgIdx, TLI); @@ -458,7 +458,7 @@ ModRefInfo AAResults::callCapturesBefore(const Instruction *I, // Only look at the no-capture or byval pointer arguments. If this // pointer were passed to arguments that were neither of these, then it // couldn't be no-capture. - if (!(*CI)->getType()->isPointerTy() || + if (!(*CI)->getType()->isPtr...