{"push_id":561932151,"size":5,"distinct_size":5,"ref":"refs/heads/master","head":"5450e78701fa5088a457df311250d1b6f7482d7e","before":"d0483a994a928705886ed7af5317b6f23e7f3906","commits":[{"sha":"e8f9a05486e6f57d5f0d06005ddfc30036ad1c61","author":{"email":"420c9fb3407b8e11ac322a0e7703f7b1f526df04@gmail.com","name":"Chandler Carruth"},"message":"[multiversion] Implement the old pass manager's TTI wrapper pass in\nterms of the new pass manager's TargetIRAnalysis.\n\nYep, this is one of the nicer bits of the new pass manager's design.\nPasses can in many cases operate in a vacuum and so we can just nest\nthings when convenient. This is particularly convenient here as I can\nnow consolidate all of the TargetMachine logic on this analysis.\n\nThe most important change here is that this pushes the function we need\nTTI for all the way into the TargetMachine, and re-creates the TTI\nobject for each function rather than re-using it for each function.\nWe're now prepared to teach the targets to produce function-specific TTI\nobjects with specific subtargets cached, etc.\n\nOne piece of feedback I'd love here is whether its worth renaming any of\nthis stuff. None of the names really seem that awesome to me at this\npoint, but TargetTransformInfoWrapperPass is particularly ... odd.\nTargetIRAnalysisWrapper might make more sense. I would want to do that\nrename separately anyways, but let me know what you think.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227731 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/e8f9a05486e6f57d5f0d06005ddfc30036ad1c61"},{"sha":"250793d4a18f957be1856d9b54b7b8f059568a60","author":{"email":"ea91796269c7842d401af30276638d4aaa593379@googlemail.com","name":"Benjamin Kramer"},"message":"EarlyCSE: Replace custom hash mixing with Hashing.h\n\nBrings it in line with the other hashes in EarlyCSE.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227733 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/250793d4a18f957be1856d9b54b7b8f059568a60"},{"sha":"e1837af79542a37e293a80bc64205a1ff1952734","author":{"email":"420c9fb3407b8e11ac322a0e7703f7b1f526df04@gmail.com","name":"Chandler Carruth"},"message":"[multiversion] Remove a false freedom to leave the TargetMachine pointer\nnull.\n\nFor some reason some of the original TTI code supported a null target\nmachine. This seems to have been legacy, and I made matters worse when\nrefactoring this code by spreading that pattern further through the\nvarious targets.\n\nThe TargetMachine can't actually be null, and it doesn't make sense to\nsupport that use case. I've now consistently removed it and removed all\nof the code trying to cope with that situation. This is probably good,\nas several targets *didn't* cope with it being null despite the null\ndefault argument in their constructors. =]\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227734 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/e1837af79542a37e293a80bc64205a1ff1952734"},{"sha":"09fbb5d2a924e9b9d74923aa4a1c0881cbfb8c51","author":{"email":"420c9fb3407b8e11ac322a0e7703f7b1f526df04@gmail.com","name":"Chandler Carruth"},"message":"[multiversion] Switch all of the targets over to use the\nTargetIRAnalysis access path directly rather than implementing getTTI.\n\nThis even removes getTTI from the interface. It's more efficient for\neach target to just register a precise callback that creates their\nspecific TTI.\n\nAs part of this, all of the targets which are building their subtargets\nindividually per-function now build their TTI instance with the function\nand thus look up the correct subtarget and cache it. NVPTX, R600, and\nXCore currently don't leverage this functionality, but its trivial for\nthem to add it now.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227735 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/09fbb5d2a924e9b9d74923aa4a1c0881cbfb8c51"},{"sha":"5450e78701fa5088a457df311250d1b6f7482d7e","author":{"email":"420c9fb3407b8e11ac322a0e7703f7b1f526df04@gmail.com","name":"Chandler Carruth"},"message":"[multiversion] Remove another place we were \"handling\" nullptr even\nthough it was never a reasonable input.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227736 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/earl/llvm-mirror/commits/5450e78701fa5088a457df311250d1b6f7482d7e"}]}