{"push_id":597674206,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"5d3e9c24151780f13509bf758d8fb827811f0d97","before":"241a7ee319641b2d8b483cf760884b3707f3a9c2","commits":[{"sha":"ee74433d0e5445491aae3423e1aca70d7d3cfdd3","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LAA-memchecks 1/3] Split out NumComparisons checks. NFC\n\nThe check for the number of memchecks will be moved to the client of\nthis analysis.  Besides allowing for transform-specific thresholds, this\nalso lets Loop Distribution post-process the memchecks; Loop\nDistribution only needs memchecks between pointers of different\npartitions.\n\nThe motivation for this first patch is to untangle the CanDoRT check\nfrom the NumComparison check before moving the NumComparison part.\nCanDoRT means that we couldn't determine the bounds for the pointer.\nNote that NumComparison is set independent of this flag.","distinct":true,"url":"https://api.github.com/repos/chapuni/llvm-project-submodule/commits/ee74433d0e5445491aae3423e1aca70d7d3cfdd3"},{"sha":"264f80be4edee32da17838433147818d6b664f3d","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LAA-memchecks 2/3] Move number of memcheck threshold checking to LV\n\nNow the analysis won't \"fail\" if the memchecks exceed the threshold.  It\nis the transform pass' responsibility to perform the check.\n\nThis allows the transform pass to further analyze/eliminate the\nmemchecks.  E.g. in Loop distribution we only need to check pointers\nthat end up in different partitions.\n\nNote that there is a slight change of functionality here.  The logic in\nanalyzeLoop is that if dependence checking fails due to non-constant\ndistance between the pointers, another attempt is made to prove safety\nof the dependences purely using run-time checks.\n\nBefore this patch we could fail the loop due to exceeding the memcheck\nthreshold after the first step, now we only check the threshold in the\nclient after the full analysis.  There is no measurable compile-time\neffect but I wanted to record this here.","distinct":true,"url":"https://api.github.com/repos/chapuni/llvm-project-submodule/commits/264f80be4edee32da17838433147818d6b664f3d"},{"sha":"5d3e9c24151780f13509bf758d8fb827811f0d97","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LAA-memchecks 3/3] Introduce pointer partitions for memchecks\n\nThis is the final patch that actually introduces the new parameter of\npartition mapping to RuntimePointerCheck::needsChecking.\n\nAnother API (LAI::getInstructionsForAccess) is also exposed that helps\nto map pointers to instructions because ultimately we partition\ninstructions.\n\nThe WIP version of the Loop Distribution pass in D6930 has been adapted\nto use all this.  See for example, how\nInstrPartitionContainer::computePartitionSetForPointers sets up the\npartitions using the above API and then calls to LAI::addRuntimeCheck\nwith the pointer partitions.","distinct":true,"url":"https://api.github.com/repos/chapuni/llvm-project-submodule/commits/5d3e9c24151780f13509bf758d8fb827811f0d97"}]}