GitHub PushEvent at 2014-09-03 15:44:01
Repository: llvm
Actor: eliben
Payload: {"shas":[["cc9916444881b06a35ae6402d37a4e38a56dfd52","7932f6f8e186182cc51861f7d8587062b8d9ffdb@google.com","Fix MemoryDependenceAnalysis in cases where QueryInstr is a CmpXchg or a AtomicRMW\n\nSummary:\nMemoryDependenceAnalysis is currently cautious when the QueryInstr is an atomic\nload or store, but I forgot to check for atomic cmpxchg/atomicrmw. This patch\nis a way of fixing that, and making it less brittle (i.e. no risk that I forget\nanother possible kind of atomic, even if the IR ends up changing in the future),\nby adding a fallback checking mayReadOrWriteFromMemory.\n\nThanks to Philip Reames for finding this bug and suggesting this solution in\nhttp://reviews.llvm.org/D4845\n\nSadly, I don't see how to add a test for this, since the passes depending on\nMemoryDependenceAnalysis won't trigger for an atomic rmw anyway. Does anyone\nsee a way for testing it?\n\nTest Plan: none possible at first sight\n\nReviewers: jfb, reames\n\nSubscribers: llvm-commits\n\nDifferential Revision: http://reviews.llvm.org/D5019\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216940 91177308-0d34-0410-b5e6-96231b3b80d8","Robin Morisset",true],["ef02f8eb0b0a4430afdcbc9c0585c166337e6beb","788c14eeffa2067e120409a238fa186a04f20a10@amd.com","cmake: Don't reject unknown cpp files that start with .\n\nSome editors create hidden file backups in the same\ndirectory as the file, and it's annoying when cmake\nerrors on them.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216941 91177308-0d34-0410-b5e6-96231b3b80d8","Matt Arsenault",true],["96b466c066526a40640eba6d496bd1c7945aec33","4a8dfeb3a1c6b90c15fd5a5a91e8e25ea46ffe0b@rotateright.com","Refactor LowerFABS and LowerFNEG into one function (x86) (NFC)\n\nWe duplicate ~30 lines of code to lower FABS and FNEG for x86, so this patch combines them into one function. \nNo functional change intended, so no additional test cases. Test-suite behavior is unchanged.\n\nDifferential Revision: http://reviews.llvm.org/D5064\n\n\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216942 91177308-0d34-0410-b5e6-96231b3b80d8","Sanjay Patel",true],["9c21df64a4515829c7545d42026eeeea60d4fec1","788c14eeffa2067e120409a238fa186a04f20a10@amd.com","R600/SI: Fix hardcoded register numbers in test\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216944 91177308-0d34-0410-b5e6-96231b3b80d8","Matt Arsenault",true],["cb2522448c5c6303dde50efe186ae67b27aef5b0","e0477c5540c7c12dc7a3df05b9bde608a2a603fe@apple.com","Generate extract for in-tree uses if the use is scalar operand in vectorized instruction. radar://18144665\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216946 91177308-0d34-0410-b5e6-96231b3b80d8","Yi Jiang",true],["37753c5f9dad75b945e2c7a8500bd463a577be3a","d63bd1d6ac9d080b5972f6532a306c6be095ef3a@apple.com","[FastISel] Provide the option to skip target-independent instruction selection. NFC.\n\nThis allows the target to disable target-independent instruction selection and\njump directly into the target-dependent instruction selection code.\n\nThis can be beneficial for targets, such as AArch64, which could emit much\nbetter code, but never got a chance to do so, because the target-independent\ninstruction selector was able to find an instruction sequence.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216947 91177308-0d34-0410-b5e6-96231b3b80d8","Juergen Ributzka",true],["a2e22cd4cdd8f3c3ff5c888c82d98b3836e97a3a","d63bd1d6ac9d080b5972f6532a306c6be095ef3a@apple.com","[FastISel][AArch64] Move over to target-dependent instruction selection only.\n\nThis change moves FastISel for AArch64 to target-dependent instruction selection\nonly. This change replicates the existing target-independent behavior, therefore\nthere are no changes to the unit tests or new tests.\n\nFuture changes will take advantage of this change and update functionality\nand unit tests.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216955 91177308-0d34-0410-b5e6-96231b3b80d8","Juergen Ributzka",true],["bf301d5670dd2f014604d87267ea06436911cbf0","76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","Add a CFL Alias Analysis implementation\n\nThis provides an implementation of CFL alias analysis (including some\nsupporting data structures). Currently, we don't have any extremely fancy\nfeatures, sans some interprocedural analysis (i.e. no field sensitivity, etc.),\nand we do best sitting behind BasicAA + TBAA. In such a configuration, we take\n~0.6-0.8% of total compile time, and give ~7-8% NoAlias responses to queries\nTBAA and BasicAA couldn't answer when bootstrapping LLVM. In testing this on\nother projects, we've seen up to 10.5% of queries dropped by BasicAA+TBAA\nanswered with NoAlias by this algorithm.\n\nPatch by George Burgess IV (with minor modifications by me -- mostly adapting\nsome BasicAA tests), thanks!\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216970 91177308-0d34-0410-b5e6-96231b3b80d8","Hal Finkel",true],["2aab51a11896a4a1bf30c8c7c9c530198c92a75d","788c14eeffa2067e120409a238fa186a04f20a10@amd.com","R600/SI: Relax some ordering in tests.\n\nThis will help with enabling misched\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216971 91177308-0d34-0410-b5e6-96231b3b80d8","Matt Arsenault",true],["891198b358c79d9464bd40d94f5ba6249080741a","f2687d141d6df003196c0c086f0a189634ba4557@google.com","[asan]  Assign a low branch weight to ASan's slow path, patch by Jonas Wagner. This speeds up asan (at least on SPEC) by 1%-5% or more. Also fix lint in dfsan.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216972 91177308-0d34-0410-b5e6-96231b3b80d8","Kostya Serebryany",true],["d52e9a143f254be7ac1f2e648f3c3dbe278f4711","8800578b51f022c8d8adb9606a8b3db4fedbdac6@hanshq.net","BumpPtrAllocator: use uintptr_t when aligning addresses to avoid undefined behaviour\n\nIn theory, alignPtr() could push a pointer beyond the end of the current slab, making\ncomparisons with that pointer undefined behaviour. Use an integer type to avoid this.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216973 91177308-0d34-0410-b5e6-96231b3b80d8","Hans Wennborg",true],["e1b1cac5ad9b45af3f4bfcfa71c26a8fc0cd1c99","76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","Add pass-manager flags to use CFL AA\n\nAdd -use-cfl-aa (and -use-cfl-aa-in-codegen) to add CFL AA in the default pass\nmanagers (for easy testing).\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216978 91177308-0d34-0410-b5e6-96231b3b80d8","Hal Finkel",true],["ba709096bc0c98afa8665aa4db45b73dabf68ab6","76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","[CFLAA] constexpr -> LLVM_CONSTEXPR\n\nAttempt to fix the MSVC build by not using constexpr.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216979 91177308-0d34-0410-b5e6-96231b3b80d8","Hal Finkel",true],["76b55cc4b19b4843189525faa52c20b01ff7aa24","7932f6f8e186182cc51861f7d8587062b8d9ffdb@google.com","[X86] Allow atomic operations using immediates to avoid using a register\n\nThe only valid lowering of atomic stores in the X86 backend was mov from\nregister to memory. As a result, storing an immediate required a useless copy\nof the immediate in a register. Now these can be compiled as a simple mov.\n\nSimilarily, adding/and-ing/or-ing/xor-ing an\nimmediate to an atomic location (but through an atomic_store/atomic_load,\nnot a fetch_whatever intrinsic) can now make use of an 'add $imm, x(%rip)'\ninstead of using a register. And the same applies to inc/dec.\n\nThis second point matches the first issue identified in\n  http://llvm.org/bugs/show_bug.cgi?id=17281\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216980 91177308-0d34-0410-b5e6-96231b3b80d8","Robin Morisset",true],["4437658aff84fa25563740c806a091de1395e5f4","76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","[CFLAA] LLVM_CONSTEXPR -> const\n\nThe number is just a constant, and this should make MSVC happy (or at least\nhappier).\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216981 91177308-0d34-0410-b5e6-96231b3b80d8","Hal Finkel",true],["d5dd8ce2a5336df4e4b4cc04d23e4018d93944f9","34e6c836575097c76965abe8873967ccff230386@gmail.com","Reinstate \"Nuke the old JIT.\"\nApproved by Jim Grosbach, Lang Hames, Rafael Espindola.\n\nThis reinstates commits r215111, 215115, 215116, 215117, 215136.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216982 91177308-0d34-0410-b5e6-96231b3b80d8","Eric Christopher",true],["73d86aa56a757605896552bf171eee73c7859d47","b907bf8ad5a0e7bf3e0b7632b5263b02521ee29e@gmail.com","Nuke MCAnalysis.\n\nThe code is buggy and barely tested. It is also mostly boilerplate.\n(This includes MCObjectDisassembler, which is the interface to that\nfunctionality)\n\nFollowing an IRC discussion with Jim Grosbach, it seems sensible to just\nnuke the whole lot of functionality, and dig it up from VCS if\nnecessary (I hope not!).\n\nAll of this stuff appears to have been added in a huge patch dump (look\nat the timeframe surrounding e.g. r182628) where almost every patch\nseemed to be untested and not reviewed before being committed.\nPost-review responses to the patches were never addressed. I don't think\nany of it would have passed pre-commit review.\n\nI doubt anyone is depending on this, since this code appears to be\nextremely buggy. In limited testing that Michael Spencer and I did, we\ncouldn't find a single real-world object file that wouldn't crash the\nCFG reconstruction stuff. The symbolizer stuff has O(n^2) behavior and\nso is not much use to anyone anyway. It seemed simpler to remove them as\na whole. Most of this code is boilerplate, which is the only way it was\nable to scrape by 60% coverage.\n\nHEADSUP: Modules folks, some files I nuked were referenced from\ninclude/llvm/module.modulemap; I just deleted the references. Hopefully\nthat is the right fix (one was a FIXME though!).\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216983 91177308-0d34-0410-b5e6-96231b3b80d8","Sean Silva",true],["4919b697c2f893e3f6a541c1e3fa3f74997a19bb","d63bd1d6ac9d080b5972f6532a306c6be095ef3a@apple.com","[FastISel][AArch64] Use a new helper function to determine if a value type is supported. NFCI.\n\nFastISel for AArch64 supports more value types than are actually legal. Use a\ndedicated helper function to reflect this.\n\nIt is very similar to the isLoadStoreTypeLegal function, with the exception\nthat vector types are not supported yet.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216984 91177308-0d34-0410-b5e6-96231b3b80d8","Juergen Ributzka",true],["79ec2ed4171b5496f58f28998b85fd46827d22f8","d63bd1d6ac9d080b5972f6532a306c6be095ef3a@apple.com","[FastISel][AArch64] Use the target-dependent selection code for shifts first.\n\nThis uses the target-dependent selection code for shifts first, which allows us\nto create better code for shifts with immediates and sign-/zero-extend folding.\n\nVector type are not handled yet and the code falls back to target-independent\ninstruction selection for these cases.\n\nThis fixes rdar://problem/17907920.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216985 91177308-0d34-0410-b5e6-96231b3b80d8","Juergen Ributzka",true],["41b6e327f7dedfb9d3020f60f6c6804efeb75b16","76a8e82c3bdc78a1f9490a34857cdee8b1b06a45@anl.gov","[CFLAA] Remove tautological comparison\n\nFixes this (the warning is right, the unsigned value is not negative):\nlib/Analysis/StratifiedSets.h:689:53: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]\n  bool inbounds(StratifiedIndex N) const { return N >= 0 && N < Links.size(); }\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216987 91177308-0d34-0410-b5e6-96231b3b80d8","Hal Finkel",true]],"size":49,"ref":"refs/heads/master","head":"ce4caf146ffd843f7677b7d6466ae32af24767bb"}