{"push_id":561998638,"size":10,"distinct_size":10,"ref":"refs/heads/master","head":"24d7af7e4ee81681226b800b188bbb01b50e1517","before":"d4c7cfd1c6e220718a95eee0e73674dfc0aa4331","commits":[{"sha":"cdbc31dcf09d613416c99e19ddcea3b5855705c7","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Split out RuntimePointerCheck from LoopVectorizationLegality\n\nRuntimePointerCheck will be used through LoopAccessAnalysis in\nLoopVectorizationLegality.  Later in the patchset it will become a local class\nof LoopAccessAnalysis.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/cdbc31dcf09d613416c99e19ddcea3b5855705c7"},{"sha":"a29425e686b64948d8cafd36bd705aec0f4ef64f","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Factor out duplicated code into Report::emitAnalysis\n\nThe logic in emitAnalysis is duplicated across multiple functions.  This\nsplits it into a function.  Another use will be added by the patchset.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/a29425e686b64948d8cafd36bd705aec0f4ef64f"},{"sha":"0f7e42b41c19f04fc836fb8aa5bccb05070ff261","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Rename the Report class to VectorizationReport\n\nThis class will become public in the new LoopAccessAnalysis header so the name\nneeds to be more global.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/0f7e42b41c19f04fc836fb8aa5bccb05070ff261"},{"sha":"870b129577916c3b2dc97119366b994fd1697cb2","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Add accessors for Num{Stores,Loads,PredStores} in AccessAnalysis\n\nThese members are moving to LoopAccessAnalysis.  The accessors help to hide\nthis.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/870b129577916c3b2dc97119366b994fd1697cb2"},{"sha":"06cb44789b020ce5fc8f3b2775591832612d4e0f","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Split out LoopAccessAnalysis from LoopVectorizationLegality\n\nMove the canVectorizeMemory functionality from LoopVectorizationLegality to a\nnew class LoopAccessAnalysis and forward users.\n\nCurrently the collection of the symbolic stride information is kept with\nLoopVectorizationLegality and it becomes an input to LoopAccessAnalysis.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/06cb44789b020ce5fc8f3b2775591832612d4e0f"},{"sha":"7d01a58f9be870f5591698e4260aba0edad7758c","author":{"email":"e806f483b3bcf1d4db80290a1d0721d0d23b5231@intel.com","name":"Michael Kuperstein"},"message":"[X86] Convert esp-relative movs of function arguments to pushes, step 2\n\nThis moves the transformation introduced in r223757 into a separate MI pass.\nThis allows it to cover many more cases (not only cases where there must be a\nreserved call frame), and perform rudimentary call folding. It still doesn't\nhave a heuristic, so it is enabled only for optsize/minsize, with stack\nalignment <= 8, where it ought to be a fairly clear win.\n\n(Re-commit of r227728)\n\nDifferential Revision: http://reviews.llvm.org/D6789","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/7d01a58f9be870f5591698e4260aba0edad7758c"},{"sha":"aecaad0d122c52567205499cdf8c76479412ecd7","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Make hasVectorInstrinsicScalarOpd inline\n\nVectorUtils.h needs to be included in LoopAccessAnalysis.cpp for\ngetIntrinsicIDForCall but hasVectorInstrinsicScalarOpd is not used by this\nmodule.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/aecaad0d122c52567205499cdf8c76479412ecd7"},{"sha":"83ebdfa88cfd435686e490ebe2a24def0ce3ca94","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Pass parameters explicitly to MemoryDepChecker\n\nRather than using globals use a structure to pass parameters from the\nvectorizer.  This prepares the class to be moved outside the LoopVectorizer.\n\nIt's not great how all this is passed through in LoopAccessAnalysis but this\nis all expected to change once the class start servicing the Loop Distribution\npass as well where some of these parameters make no sense.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/83ebdfa88cfd435686e490ebe2a24def0ce3ca94"},{"sha":"70e71207e1e7c8c7e084d588f07fa0843cbf9aec","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Move RuntimePointerCheck under LoopAccessAnalysis\n\nThis class needs to remain public because it's used by\nLoopVectorizationLegality::addRuntimeCheck.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/70e71207e1e7c8c7e084d588f07fa0843cbf9aec"},{"sha":"24d7af7e4ee81681226b800b188bbb01b50e1517","author":{"email":"2df88d93b29f556204c4c4bee7e5b886dbefddeb@apple.com","name":"Adam Nemet"},"message":"[LoopVectorize] Move LoopAccessAnalysis to its own module\n\nOther than moving code and adding the boilerplate for the new files, the code\nbeing moved is unchanged.\n\nThere are a few global functions that are shared with the rest of the\nLoopVectorizer.  I moved these to the new module as well (emitLoopAnalysis,\nstripIntegerCast, replaceSymbolicStrideSCEV) along with the Report class used\nby emitLoopAnalysis.  There is probably room for further improvement in this\narea.\n\nI kept DEBUG_TYPE \"loop-vectorize\" because it's used as the PassName with\nemitOptimizationRemarkAnalysis.  This will obviously have to change.\n\nNFC.  This is part of the patchset that splits out the memory dependence logic\nfrom LoopVectorizationLegality into a new class LoopAccessAnalysis.\nLoopAccessAnalysis will be used by the new Loop Distribution pass.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project-submodule/commits/24d7af7e4ee81681226b800b188bbb01b50e1517"}]}