<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/SPIRV/function/trivial-function-definition.ll, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[SPIR-V] Rework usage of virtual registers' types and classes (#104104)</title>
<updated>2024-08-22T07:40:27+00:00</updated>
<author>
<name>Vyacheslav Levytskyy</name>
<email>vyacheslav.levytskyy@intel.com</email>
</author>
<published>2024-08-22T07:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67d3ef74b31e1517d4f679e754cc2b3041c95901'/>
<id>67d3ef74b31e1517d4f679e754cc2b3041c95901</id>
<content type='text'>
This PR continues https://github.com/llvm/llvm-project/pull/101732
changes in virtual register processing aimed to improve correctness of
emitted MIR between passes from the perspective of MachineVerifier.
Namely, the following changes are introduced:
* register classes (lib/Target/SPIRV/SPIRVRegisterInfo.td) and
instruction patterns (lib/Target/SPIRV/SPIRVInstrInfo.td) are corrected
and simplified (by removing unnecessary sophisticated options) -- e.g.,
this PR gets rid of duplicating 32/64 bits patterns, removes ANYID
register class and simplifies definition of the rest of register
classes,
* hardcoded LLT scalar types in passes before instruction selection are
corrected -- the goal is to have correct bit width before instruction
selection, and use 64 bits registers for pattern matching in the
instruction selection pass; 32-bit registers remain where they are
described in such terms by SPIR-V specification (like, for example,
creation of virtual registers for scope/mem semantics operands),
* rework virtual register type/class assignment for calls/builtins
lowering,
* a series of minor changes to fix validity of emitted code between
passes:
  - ensure that that bitcast changes the type,
  - fix the pattern for instruction selection for OpExtInst,
  - simplify inline asm operands usage,
  - account for arbitrary integer sizes / update legalizer rules;
* add '-verify-machineinstrs' to existed test cases.

See also https://github.com/llvm/llvm-project/issues/88129 that this PR
may resolve.

This PR fixes a great number of issues reported by MachineVerifier and,
as a result, reduces a number of failed test cases for the mode with
expensive checks set on from ~200 to ~57.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR continues https://github.com/llvm/llvm-project/pull/101732
changes in virtual register processing aimed to improve correctness of
emitted MIR between passes from the perspective of MachineVerifier.
Namely, the following changes are introduced:
* register classes (lib/Target/SPIRV/SPIRVRegisterInfo.td) and
instruction patterns (lib/Target/SPIRV/SPIRVInstrInfo.td) are corrected
and simplified (by removing unnecessary sophisticated options) -- e.g.,
this PR gets rid of duplicating 32/64 bits patterns, removes ANYID
register class and simplifies definition of the rest of register
classes,
* hardcoded LLT scalar types in passes before instruction selection are
corrected -- the goal is to have correct bit width before instruction
selection, and use 64 bits registers for pattern matching in the
instruction selection pass; 32-bit registers remain where they are
described in such terms by SPIR-V specification (like, for example,
creation of virtual registers for scope/mem semantics operands),
* rework virtual register type/class assignment for calls/builtins
lowering,
* a series of minor changes to fix validity of emitted code between
passes:
  - ensure that that bitcast changes the type,
  - fix the pattern for instruction selection for OpExtInst,
  - simplify inline asm operands usage,
  - account for arbitrary integer sizes / update legalizer rules;
* add '-verify-machineinstrs' to existed test cases.

See also https://github.com/llvm/llvm-project/issues/88129 that this PR
may resolve.

This PR fixes a great number of issues reported by MachineVerifier and,
as a result, reduces a number of failed test cases for the mode with
expensive checks set on from ~200 to ~57.</pre>
</div>
</content>
</entry>
<entry>
<title>[SPIRV] Fix formatting of function tests</title>
<updated>2022-10-13T23:55:27+00:00</updated>
<author>
<name>Michal Paszkowski</name>
<email>michal.paszkowski@outlook.com</email>
</author>
<published>2022-10-10T22:17:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=14ea4f5bf262037a90064d842138593961db7de9'/>
<id>14ea4f5bf262037a90064d842138593961db7de9</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D135624
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential Revision: https://reviews.llvm.org/D135624
</pre>
</div>
</content>
</entry>
<entry>
<title>[SPIRV] Fix style of LIT tests and remove metadata</title>
<updated>2022-08-02T23:33:24+00:00</updated>
<author>
<name>Andrey Tretyakov</name>
<email>andrey.tretyakov@mail.com</email>
</author>
<published>2022-08-02T18:59:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4bd9d98bc2be3548418dc67accc662cbeb10a2e1'/>
<id>4bd9d98bc2be3548418dc67accc662cbeb10a2e1</id>
<content type='text'>
Fix style, indentation, comments of LIT tests
and remove unnecessary metadata and attributes.

Differential Revision: https://reviews.llvm.org/D130664
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix style, indentation, comments of LIT tests
and remove unnecessary metadata and attributes.

Differential Revision: https://reviews.llvm.org/D130664
</pre>
</div>
</content>
</entry>
<entry>
<title>[SPIR-V](6/6) Add the module analysis pass and the simplest tests</title>
<updated>2022-04-19T23:10:25+00:00</updated>
<author>
<name>Ilia Diachkov</name>
<email>iliya.diyachkov@intel.com</email>
</author>
<published>2022-04-14T00:46:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=153dee34f16105dc0db6eb6d5bc617b4e5a31bc6'/>
<id>153dee34f16105dc0db6eb6d5bc617b4e5a31bc6</id>
<content type='text'>
This patch adds one SPIRV analysis pass and extends AsmPrinter. It is
essential for minimum SPIR-V output. Also it adds several simplest tests
to show that the target basically works.

Differential Revision: https://reviews.llvm.org/D116465

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov &lt;zuban32s@gmail.com&gt;
Co-authored-by: Ilia Diachkov &lt;iliya.diyachkov@intel.com&gt;
Co-authored-by: Michal Paszkowski &lt;michal.paszkowski@outlook.com&gt;
Co-authored-by: Andrey Tretyakov &lt;andrey1.tretyakov@intel.com&gt;
Co-authored-by: Konrad Trifunovic &lt;konrad.trifunovic@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds one SPIRV analysis pass and extends AsmPrinter. It is
essential for minimum SPIR-V output. Also it adds several simplest tests
to show that the target basically works.

Differential Revision: https://reviews.llvm.org/D116465

Authors: Aleksandr Bezzubikov, Lewis Crawford, Ilia Diachkov,
Michal Paszkowski, Andrey Tretyakov, Konrad Trifunovic

Co-authored-by: Aleksandr Bezzubikov &lt;zuban32s@gmail.com&gt;
Co-authored-by: Ilia Diachkov &lt;iliya.diyachkov@intel.com&gt;
Co-authored-by: Michal Paszkowski &lt;michal.paszkowski@outlook.com&gt;
Co-authored-by: Andrey Tretyakov &lt;andrey1.tretyakov@intel.com&gt;
Co-authored-by: Konrad Trifunovic &lt;konrad.trifunovic@intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
