summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/atomic-idempotent.ll
Commit message (Collapse)AuthorAgeFilesLines
* Use an offset from TOS for idempotent rmw locked op loweringPhilip Reames2019-05-141-4/+4
| | | | | | | | This was the portion split off D58632 so that it could follow the redzone API cleanup. Note that I changed the offset preferred from -8 to -64. The difference should be very minor, but I thought it might help address one concern which had been previously raised. Differential Revision: https://reviews.llvm.org/D61862 llvm-svn: 360719
* [X86] Use X86 instead of X32 as a check prefix in atomic-idempotent.ll. NFCCraig Topper2019-05-141-149/+145
| | | | | | | | | | X32 can refer to a 64-bit ABI that uses 32-bit ints, longs, and pointers. I plan to add gnux32 command lines to this test so this prepares for that. Also remove some check lines that have a prefix that is not in any run lines. llvm-svn: 360642
* [X86] Improve lowering of idemptotent RMW operationsPhilip Reames2019-05-091-65/+23
| | | | | | | | The current lowering uses an mfence. mfences are substaintially higher latency than the locked operations originally requested, but we do want to avoid contention on the original cache line. As such, use a locked instruction on a cache line assumed to be thread local. Differential Revision: https://reviews.llvm.org/D58632 llvm-svn: 360393
* [Tests] Landing tests for D58632 to show diffs in reviewPhilip Reames2019-05-081-0/+200
| | | | llvm-svn: 360274
* [DAGCombiner] If a TokenFactor would be merged into its user, consider the ↵Nirav Dave2019-03-131-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | user later. Summary: A number of optimizations are inhibited by single-use TokenFactors not being merged into the TokenFactor using it. This makes we consider if we can do the merge immediately. Most tests changes here are due to the change in visitation causing minor reorderings and associated reassociation of paired memory operations. CodeGen tests with non-reordering changes: X86/aligned-variadic.ll -- memory-based add folded into stored leaq value. X86/constant-combiners.ll -- Optimizes out overlap between stores. X86/pr40631_deadstore_elision -- folds constant byte store into preceding quad word constant store. Reviewers: RKSimon, craig.topper, spatel, efriedma, courbet Reviewed By: courbet Subscribers: dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, javed.absar, eraman, hiraditya, kbarton, jrtc27, atanasyan, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D59260 llvm-svn: 356068
* [Tests] Rename some test files for consistencyPhilip Reames2019-02-131-0/+166
Most are named "atomic-something" so rename the few which were "atomic_something". I keep typing the wrong name due to the inconsistency. :) llvm-svn: 353956
OpenPOWER on IntegriCloud