search for: depinst

Displaying 3 results from an estimated 3 matches for "depinst".

Did you mean: gepinst
2016 Apr 18
2
Different index types in GEPs -> non-aliasing?
...GVN iteration: 0 GVN removed: %_tmp5 = load i16, i16* %_tmp4 GVN removed: %_tmp6 = icmp ne i16 undef, 98 When digging into why GVN does this, I found this little piece of code in GVN::AnalyzeLoadAvailability that triggers // Loading the allocation -> undef. if (isa<AllocaInst>(DepInst) || isMallocLikeFn(DepInst, TLI) || // Loading immediately after lifetime begin -> undef. isLifetimeStart(DepInst)) { Res = AvailableValue::get(UndefValue::get(LI->getType())); return true; } And the DepInst here is %a = alloca [3 x i16] and not the store sto...
2015 Aug 07
2
load instruction erroneously removed by GVN
...6 undef, i16 48), !dbg !24 ret i16 0, !dbg !25 } So GVN has deemed %_tmp33 = load i16, i16* %_tmp32, align 1, !dbg !24 useless, and removed it, replacing %_tmp33 with undef. While examining the load, processLoad does MemDepResult Dep = MD->getDependency(L); [...] Instruction *DepInst = Dep.getInst(); [...] // If this load really doesn't depend on anything, then we must be loading an // undef value. This can happen when loading for a fresh allocation with no // intervening stores, for example. if (isa<AllocaInst>(DepInst) || isMallocLikeFn(DepInst, TL...
2013 Jan 18
0
[LLVMdev] llvm getDependency() for ICMP instructions is UNKNOWN
...].insert(std::make_pair(getInstTypePair(Res), static_cast<BasicBlock *>(0))); } else //it does not enter here ..... ..... errs()<<*Inst; errs() << DepTypeStr[type]; if (DepBB) { errs() << DepBB; } if (DepInst) { errs() << *DepInst; ..... It prints all the imcp instructions and UNKNOWN. So I think I cannot use http://llvm.org/docs/doxygen/html/MemoryDependenceAnalysis_8h_source.html#l00151for ICMP. Do you know if I can use this method or another one? Thank you ! -------------- next part --...