Page MenuHomePhabricator

[X86] AMX programming model prototype.
Needs ReviewPublic

Authored by LuoYuanke on Sep 19 2020, 9:19 PM.

Details

Summary

This patch is a prototype for amx programming model that discussed in llvm-dev (http://lists.llvm.org/pipermail/llvm-dev/2020-August/144302.html). Thank Hal for the good suggestion in the RA. The fast RA is not in the prototype yet. We can extend the discussion in detail in the patch, so that the discussion is more convenient for us. The patch include:

  1. The c interface to end user.
  2. The AMX intrinsics in LLVM IR.
  3. The Lowering from AMX intrinsics to AMX pseudo instruction.
  4. The register allocation for tile register.
  5. Morph AMX pseudo instruction to AMX real instruction.

After we reaching the consensus on the programming model, I'd split the patch into several pieces and review it one by one.

Change-Id: I935e1080916ffcb72af54c2c83faa8b2e97d5cb0

Diff Detail

Unit TestsFailed

TimeTest
100 mslinux > Polly.ScopInfo/NonAffine::non-affine-loop-condition-dependent-access_3.ll
Script: -- : 'RUN: at line 1'; opt -polly-process-unprofitable -polly-remarks-minimal -polly-use-llvm-names -polly-import-jscop-dir=/mnt/disks/ssd0/agent/llvm-project/polly/test/ScopInfo/NonAffine -polly-codegen-verify -basic-aa -polly-scops -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false -analyze < /mnt/disks/ssd0/agent/llvm-project/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll | FileCheck /mnt/disks/ssd0/agent/llvm-project/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll --check-prefix=INNERMOST
380 mswindows > LLVM.tools/llvm-cov::warnings.h
Script: -- : 'RUN: at line 1'; c:\ws\w64\llvm-project\premerge-checks\build\bin\llvm-cov.exe show C:\ws\w64\llvm-project\premerge-checks\llvm\test\tools\llvm-cov/Inputs/prevent_false_instantiations.covmapping -instr-profile C:\ws\w64\llvm-project\premerge-checks\llvm\test\tools\llvm-cov/Inputs/elf_binary_comdat.profdata -path-equivalence=/tmp,C:\ws\w64\llvm-project\premerge-checks\llvm\test\tools\llvm-cov | c:\ws\w64\llvm-project\premerge-checks\build\bin\filecheck.exe C:\ws\w64\llvm-project\premerge-checks\llvm\test\tools\llvm-cov\warnings.h -allow-empty -check-prefix=FAKE-FILE-STDOUT

Event Timeline

LuoYuanke created this revision.Sep 19 2020, 9:19 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptSep 19 2020, 9:19 PM
LuoYuanke requested review of this revision.Sep 19 2020, 9:19 PM
LuoYuanke edited the summary of this revision. (Show Details)Sep 19 2020, 9:35 PM

Updating D87981: [X86] AMX programming model prototype.
Fixed some clang format issue.

LuoYuanke updated this revision to Diff 293051.Sep 20 2020, 7:35 PM

Updating D87981: [X86] AMX programming model prototype.
Fixed lit test case failure.

Updating D87981: [X86] AMX programming model prototype.
Fix clang format and add test case for RA that across function call.

LuoYuanke updated this revision to Diff 294036.Sep 24 2020, 6:26 AM

Updating D87981: [X86] AMX programming model prototype.
Rebase.