[llvm-commits] [PATCH] revise/enhance atomic primitive code generation
Michael Liao
michael.liao at intel.com
Thu Jul 26 02:26:04 PDT 2012
On Wed, 2012-07-25 at 15:34 -0700, Chandler Carruth wrote:
> First off, these sound like fantastic enhancements! =] Thanks for
> pulling them out.
>
>
> Can you split this into separate patches and post them individually
> for review? I think each of your bullet points would make for a good
> patch to review.
The original patch is split into 6 pieces attached (need applying them
in that order):
* 0001-unify-the-logic-in-SelectAtomicLoadAdd-and-SelectAto.patch
merge SelectAtomicLoadAdd & SelectAtomicLoadArith into a single
function. atomic op table is extended to support ADD/SUB/INC/DEC.
* 0002-refine-code-generation-for-atomic-operations-with-sp.patch
revise atomic operations based on spin-loop, reduce one unnecessary load
and clean-up/merge the functions. td fils are also cleaned up by
eliminating unnecessary attributes for pseudo insn.
* 0003-revise-atomic-instruction-td-files.patch
rewrite most of atomic instructions in templates
* 0004-add-missing-i8-max-min-umax-umin-support.patch
add missing i8 max/min/umax/umin support
* 0005-add-missing-i64-max-min-umax-umin-on-32-bit-target.patch
add missing i64 max/min/umax/umin support on 32-bit target
* 0006-add-lock-prefix-output-support-in-assembly-printer.patch
enable assembly printer to output 'lock' prefix to simplify mnemonic in
td files
test cases are added for the previously missing atomic operatons.
Yours
- Michael
>
>
> On Wed, Jul 25, 2012 at 3:06 PM, Michael Liao <michael.liao at intel.com>
> wrote:
> - unify the logic in SelectAtomicLoadAdd and
> SelectAtomicLoadArith and
> merge them together
> - refine spin-loop to reduce one unnecessary load
> - add missing i8 max/min/umax/umin
> - add missing i64 max/min/umax/umin on 32-bit target
> - refine atomic instruction td files to use the template for
> groups of
> instructions
> - Output 'lock' prefix in assembler printer to simplify the
> assembly
> text in td files
>
> Please review the attached patch and commit if it's OK.
>
> Yours
> - Michael
>
> ---
> [1] http://software.intel.com/file/36945
> [2]
> http://software.intel.com/en-us/blogs/2012/02/07/transactional-synchronization-in-haswell/
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-unify-the-logic-in-SelectAtomicLoadAdd-and-SelectAto.patch
Type: text/x-patch
Size: 11390 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120726/1a5b0451/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-refine-code-generation-for-atomic-operations-with-sp.patch
Type: text/x-patch
Size: 49774 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120726/1a5b0451/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-revise-atomic-instruction-td-files.patch
Type: text/x-patch
Size: 24714 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120726/1a5b0451/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-add-missing-i8-max-min-umax-umin-support.patch
Type: text/x-patch
Size: 6433 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120726/1a5b0451/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-add-missing-i64-max-min-umax-umin-on-32-bit-target.patch
Type: text/x-patch
Size: 8223 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120726/1a5b0451/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-add-lock-prefix-output-support-in-assembly-printer.patch
Type: text/x-patch
Size: 12863 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120726/1a5b0451/attachment-0005.bin>
More information about the llvm-commits
mailing list