search for: nonlocaldepresult

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

2013 Jan 16
1
[LLVMdev] llvm print-memdeps segfault
...9a8 1 opt 0x08eaff24 2 0xb7753400 __kernel_sigreturn + 0 3 opt 0x08c00c19 llvm::MemoryDependenceAnalysis::getNonLocalPointerDepFromBB(llvm::PHITransAddr const&, llvm::AliasAnalysis::Location const&, bool, llvm::BasicBlock*, llvm::SmallVectorImpl<llvm::NonLocalDepResult>&, llvm::DenseMap<llvm::BasicBlock*, llvm::Value*, llvm::DenseMapInfo<llvm::BasicBlock*> >&, bool) + 3673 4 opt 0x08c019aa llvm::MemoryDependenceAnalysis::getNonLocalPointerDependency(llvm::AliasAnalysis::Location const&, bool, llvm::BasicBlock*, llvm::SmallVec...
2011 Dec 13
1
[LLVMdev] Memory Dependence Analysis
...if (d.isClobber()) errs() << "clobber " << *(d.getInst()); if (d.isDef()) errs() << "def " << *(d.getInst()); if (d.isNonLocal()) { errs() << "\tnot defined in this block\n"; BasicBlock *bb = i->getParent(); SmallVectorImpl<NonLocalDepResult> result(4); bool isLoad = false; AliasAnalysis::Location loc; if (StoreInst *store = dyn_cast<StoreInst>(i)) loc = AA->getLocation(store); else if (LoadInst *load = dyn_cast<LoadInst>(i)) { loc = AA->getLocation(load); isLoad = true; } else errs() &l...
2010 Sep 23
2
[LLVMdev] Finding all values derived from a function argument
...(stores.size() > 0) { // find loads that depend on our stores, TODO: this seems fishy! for(std::list<llvm::LoadInst *>::iterator I = loads.begin(), E = loads.end(); I != E; ) { bool pick = false; #if 1 llvm::SmallVector<llvm::NonLocalDepResult, 16> results; mda->getNonLocalPointerDependency((*I)->getPointerOperand(), true, (*I)->getParent(), results); for(llvm::SmallVector<llvm::NonLocalDepResult, 16>::iterator II = results.begin(), EE = results.end(); !pick && II != EE; ++II)...
2018 Apr 18
1
[RFC] Making GVN able to visit the same block more than once
...;t handle it and give up. The approach I tried here is: * Turn Visited into a set of <BasicBlock*,Value*> pairs and keep the behaviour of ignoring blocks that we've already visited for a value but allow visiting a block more than once if it's for different values. * Adjust NonLocalDepResult to mark a result as originating in the block we started looking in (after phi-translation), not the one we eventually found it in. With this GVN then goes on to optimise this function exactly as we want. However we then get problems elsewhere. The problem ============ Let's take a loo...