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 --...