[PATCH] D8705: ScheduleDAGInstrs::buildSchedGraph() handling of memory dependecies rewritten.

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 3 02:54:18 PST 2015


jonpa added a comment.

Andy,

I think that when looking for underlying objects, objects will only be considered to not alias only if PSV->mayAlias(MFI) returns false:

if (!PSV->isAliased(MFI)) {

  bool MayAlias = PSV->mayAlias(MFI);
  Objects.push_back(UnderlyingObjectsVector::value_type(PSV, MayAlias));

}

Any other cases will either return either empty Objects, or aliasing objects. So, if MFI->hasTailCall(), an empty objects list is returned instead, which will make the instruction be treated as unknown store / load.

So I believe this is correct as long as the memory operands are correct, of course.

What do you think?


http://reviews.llvm.org/D8705





More information about the llvm-commits mailing list