Displaying 1 result from an estimated 1 matches for "islifetimestart".
2016 Apr 18
2
Different index types in GEPs -> non-aliasing?
...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
store i16 98, i16* %_tmp2
Digging further it seems the reason for this is that the alias analysis
considers the two pointers...