[PATCH] D31287: [mips] Fix atomic compare and swap at O0, v2
Simon Dardis via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 14 03:28:04 PDT 2017
sdardis updated this revision to Diff 102517.
sdardis added a comment.
This revision is now accepted and ready to land.
Herald added a subscriber: arichardson.
Updated the liveness tracking for new basic blocks produced by MipsExpandPseudo.
Reduced the number of basic blocks created by MipsISelLowering for atomic operations - this helps optimize the code operated on by FastRegAlloc, i.e. less spurious spills and reloads.
Updated the lowering of atomic operations not to produce spurious copies, the better liveness tracking handles values being live.
Updated the register flags used for atomic pseudos, my initial implementation marked the inputs as early clobber when it was the output that needed to be marked early clobber.
https://reviews.llvm.org/D31287
Files:
lib/Target/Mips/CMakeLists.txt
lib/Target/Mips/Mips.h
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsExpandPseudo.cpp
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
lib/Target/Mips/MipsInstrInfo.td
lib/Target/Mips/MipsTargetMachine.cpp
test/CodeGen/Mips/atomic.ll
test/CodeGen/Mips/atomicCmpSwapPW.ll
test/CodeGen/Mips/micromips-atomic.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31287.102517.patch
Type: text/x-patch
Size: 81528 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170614/8e87a02e/attachment.bin>
More information about the llvm-commits
mailing list