<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/X86/X86TargetMachine.cpp, branch users/koachan/spr/main.sparcias-enable-parseforallfeatures-in-matchoperandparserimpl</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>[X86] Add AMXProgModel to YAML serialization (#94988)</title>
<updated>2024-06-11T11:08:55+00:00</updated>
<author>
<name>aengelke</name>
<email>engelke@in.tum.de</email>
</author>
<published>2024-06-11T11:08:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=214ff5036cb407222e6ff34ef2c1eeef55c70b4a'/>
<id>214ff5036cb407222e6ff34ef2c1eeef55c70b4a</id>
<content type='text'>
This allows tested passes to depend on the AMX model in the function
info. Preparatory work for to adopt #94358 for other AMX passes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows tested passes to depend on the AMX model in the function
info. Preparatory work for to adopt #94358 for other AMX passes.</pre>
</div>
</content>
</entry>
<entry>
<title>Reland "[NewPM][CodeGen] Port selection dag isel to new pass manager" (#94149)</title>
<updated>2024-06-04T00:10:58+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-06-04T00:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7652a59407018c057cdc1163c9f64b5b6f0954eb'/>
<id>7652a59407018c057cdc1163c9f64b5b6f0954eb</id>
<content type='text'>
- Fix build with `EXPENSIVE_CHECKS`
- Remove unused `PassName::ID` to resolve warning
- Mark `~SelectionDAGISel` virtual so AArch64 backend can work properly</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fix build with `EXPENSIVE_CHECKS`
- Remove unused `PassName::ID` to resolve warning
- Mark `~SelectionDAGISel` virtual so AArch64 backend can work properly</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[NewPM][CodeGen] Port selection dag isel to new pass manager" (#94146)</title>
<updated>2024-06-02T06:31:52+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-06-02T06:31:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8917afaf0ec2ebe390284e3727e720eaf97967eb'/>
<id>8917afaf0ec2ebe390284e3727e720eaf97967eb</id>
<content type='text'>
This reverts commit de37c06f01772e02465ccc9f538894c76d89a7a1 to
de37c06f01772e02465ccc9f538894c76d89a7a1

It still breaks EXPENSIVE_CHECKS build. Sorry.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit de37c06f01772e02465ccc9f538894c76d89a7a1 to
de37c06f01772e02465ccc9f538894c76d89a7a1

It still breaks EXPENSIVE_CHECKS build. Sorry.</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM][CodeGen] Port selection dag isel to new pass manager (#83567)</title>
<updated>2024-06-02T01:12:33+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-06-02T01:12:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d2cdc8ab45d74f8691f73cb5a2b8c431585cd449'/>
<id>d2cdc8ab45d74f8691f73cb5a2b8c431585cd449</id>
<content type='text'>
Port selection dag isel to new pass manager.
Only `AMDGPU` and `X86` support new pass version. `-verify-machineinstrs` in new pass manager belongs to verify instrumentation, it is enabled by default.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Port selection dag isel to new pass manager.
Only `AMDGPU` and `X86` support new pass version. `-verify-machineinstrs` in new pass manager belongs to verify instrumentation, it is enabled by default.</pre>
</div>
</content>
</entry>
<entry>
<title>[X86][GlobalISel] Enable G_BUILD_VECTOR and G_CONSTANT_POOL (#92844)</title>
<updated>2024-05-29T22:53:43+00:00</updated>
<author>
<name>Evgenii Kudriashov</name>
<email>evgenii.kudriashov@intel.com</email>
</author>
<published>2024-05-29T22:53:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=11d7203c1d2f44085e105b8d4d726f2589f62f40'/>
<id>11d7203c1d2f44085e105b8d4d726f2589f62f40</id>
<content type='text'>
* Add support for G_LOAD from G_CONSTANT_POOL on X86 and X64
* Add X86GlobalBaseRegPass to handle base register initialization for
X86.
* Fix vector type legalization for G_STORE and G_LOAD as well as enable
scalarization for them.
* Custom lower G_BUILD_VECTOR into G_LOAD from G_CONSTANT_POOL.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add support for G_LOAD from G_CONSTANT_POOL on X86 and X64
* Add X86GlobalBaseRegPass to handle base register initialization for
X86.
* Fix vector type legalization for G_STORE and G_LOAD as well as enable
scalarization for them.
* Custom lower G_BUILD_VECTOR into G_LOAD from G_CONSTANT_POOL.</pre>
</div>
</content>
</entry>
<entry>
<title>[X86] getEffectiveX86CodeModel - take a Triple argument instead of just a Is64Bit flag. NFC. (#87479)</title>
<updated>2024-04-03T14:06:54+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2024-04-03T14:06:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1f7c3d609b01d0cf2a0b973cc17a9b0bca8e56b5'/>
<id>1f7c3d609b01d0cf2a0b973cc17a9b0bca8e56b5</id>
<content type='text'>
Matches what most other targets do and makes it easier to specify code model based off other triple settings in the future.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Matches what most other targets do and makes it easier to specify code model based off other triple settings in the future.</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Port AtomicExpand to new Pass Manager (#71220)</title>
<updated>2024-02-25T13:12:22+00:00</updated>
<author>
<name>Rishabh Bali</name>
<email>rishabhsbali@gmail.com</email>
</author>
<published>2024-02-25T13:12:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe42e72db29e48aa81eac2aa922afd90a7f01517'/>
<id>fe42e72db29e48aa81eac2aa922afd90a7f01517</id>
<content type='text'>
Port the `atomicexpand` pass to the new Pass Manager. 
Fixes #64559</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Port the `atomicexpand` pass to the new Pass Manager. 
Fixes #64559</pre>
</div>
</content>
</entry>
<entry>
<title>[X86] Add missing pass initialization calls. (#82447)</title>
<updated>2024-02-21T05:11:01+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-02-21T05:11:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e4057aacc52bf8b352898504be8e7f8190841aac'/>
<id>e4057aacc52bf8b352898504be8e7f8190841aac</id>
<content type='text'>
If the passes aren't registered, they don't show up in print-after-all.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the passes aren't registered, they don't show up in print-after-all.</pre>
</div>
</content>
</entry>
<entry>
<title>[X86] Fix RTTI proxy emission for 32-bit (#78622)</title>
<updated>2024-01-18T21:31:33+00:00</updated>
<author>
<name>Shoaib Meenai</name>
<email>smeenai@fb.com</email>
</author>
<published>2024-01-18T21:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=741b8363300f0799f7aeabb83910ff8b98f9a919'/>
<id>741b8363300f0799f7aeabb83910ff8b98f9a919</id>
<content type='text'>
32-bit x86 doesn't have an appropriate relocation type we can use to
elide the RTTI proxies, so we need to emit them. This would previously
cause crashes when using the relative vtable ABI for 32-bit x86.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
32-bit x86 doesn't have an appropriate relocation type we can use to
elide the RTTI proxies, so we need to emit them. This would previously
cause crashes when using the relative vtable ABI for 32-bit x86.</pre>
</div>
</content>
</entry>
<entry>
<title>[X86][NFC] Rename variables/passes for EVEX compression optimization</title>
<updated>2024-01-06T04:41:09+00:00</updated>
<author>
<name>Shengchen Kan</name>
<email>shengchen.kan@intel.com</email>
</author>
<published>2024-01-06T03:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a5902a4d2425ac083f1530719e35b5c562cb1e60'/>
<id>a5902a4d2425ac083f1530719e35b5c562cb1e60</id>
<content type='text'>
RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031

APX introduces EGPR, NDD and NF instructions. In addition to compressing
EVEX encoded AVX512 instructions into VEX encoding, we also have several
more possible optimizations.

a. Promoted instruction (EVEX space) -&gt; pre-promotion instruction (legacy space)
b. NDD (EVEX space) -&gt; non-NDD (legacy space)
c. NF_ND (EVEX space) -&gt; NF (EVEX space)

The first two types of compression can usually reduce code size, while
the third type of compression can help hardware decode although the
instruction length remains unchanged.

So we do the renaming for the upcoming APX optimizations.

BTW, I clang-format the code in X86CompressEVEX.cpp,
X86CompressEVEXTablesEmitter.cpp.

This patch also extracts the NFC in #77065 into a separate commit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031

APX introduces EGPR, NDD and NF instructions. In addition to compressing
EVEX encoded AVX512 instructions into VEX encoding, we also have several
more possible optimizations.

a. Promoted instruction (EVEX space) -&gt; pre-promotion instruction (legacy space)
b. NDD (EVEX space) -&gt; non-NDD (legacy space)
c. NF_ND (EVEX space) -&gt; NF (EVEX space)

The first two types of compression can usually reduce code size, while
the third type of compression can help hardware decode although the
instruction length remains unchanged.

So we do the renaming for the upcoming APX optimizations.

BTW, I clang-format the code in X86CompressEVEX.cpp,
X86CompressEVEXTablesEmitter.cpp.

This patch also extracts the NFC in #77065 into a separate commit.
</pre>
</div>
</content>
</entry>
</feed>
