<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/MIR/Generic, 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>MIR: Replace undef with poison in some MIR tests (#131282)</title>
<updated>2025-03-14T17:20:18+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-03-14T17:20:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=87a55191a5c5f1e89c71bda9dceb2f695105a60a'/>
<id>87a55191a5c5f1e89c71bda9dceb2f695105a60a</id>
<content type='text'>
The IR doesn't matter so much in these.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The IR doesn't matter so much in these.</pre>
</div>
</content>
</entry>
<entry>
<title>[RegAlloc][NewPM] Plug Greedy RA in codegen pipeline (#120557)</title>
<updated>2025-03-03T05:36:15+00:00</updated>
<author>
<name>Akshat Oke</name>
<email>Akshat.Oke@amd.com</email>
</author>
<published>2025-03-03T05:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aa1fe57b196de4255bb2516ef6c5515491c4aaab'/>
<id>aa1fe57b196de4255bb2516ef6c5515491c4aaab</id>
<content type='text'>
Use `-passes="regallocgreedy&lt;[all|sgpr|wwm|vgpr]&gt;` to insert the greedy
RA with a filter and `-regalloc-npm=&lt;type&gt;` to control which RA to use
in existing pipeline.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use `-passes="regallocgreedy&lt;[all|sgpr|wwm|vgpr]&gt;` to insert the greedy
RA with a filter and `-regalloc-npm=&lt;type&gt;` to control which RA to use
in existing pipeline.</pre>
</div>
</content>
</entry>
<entry>
<title>[MIR] Serialize virtual register flags (#110228)</title>
<updated>2024-10-14T08:49:53+00:00</updated>
<author>
<name>Akshat Oke</name>
<email>76596238+optimisan@users.noreply.github.com</email>
</author>
<published>2024-10-14T08:49:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=dbfca24b99987111586551698253dba0afbec09b'/>
<id>dbfca24b99987111586551698253dba0afbec09b</id>
<content type='text'>
[MIR] Serialize virtual register flags

This introduces target-specific vreg flag serialization. Flags are represented as `uint8_t` and the `TargetRegisterInfo` override provides methods `getVRegFlagValue` to deserialize and `getVRegFlagsOfReg` to serialize.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[MIR] Serialize virtual register flags

This introduces target-specific vreg flag serialization. Flags are represented as `uint8_t` and the `TargetRegisterInfo` override provides methods `getVRegFlagValue` to deserialize and `getVRegFlagsOfReg` to serialize.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM] Add HasFakeUses to MachineFunction (#110097)</title>
<updated>2024-10-04T12:13:30+00:00</updated>
<author>
<name>Stephen Tozer</name>
<email>stephen.tozer@sony.com</email>
</author>
<published>2024-10-04T12:13:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d826b0c90f0b0ebebd2b7ed37bf6ff71b34360c8'/>
<id>d826b0c90f0b0ebebd2b7ed37bf6ff71b34360c8</id>
<content type='text'>
Following the addition of the llvm.fake.use intrinsic and corresponding
MIR instruction, two further changes are planned: to add an
-fextend-lifetimes flag to Clang that emits these intrinsics, and to
have -Og enable this flag by default. Currently, some logic for handling
fake uses is gated by the optdebug attribute, which is intended to be
switched on by -fextend-lifetimes (and by extension -Og later on).
However, the decision was made that a general optdebug attribute should
be incompatible with other opt_ attributes (e.g. optsize, optnone),
since they all express different intents for how to optimize the
program. We would still like to allow -fextend-lifetimes with optsize
however (i.e. -Os -fextend-lifetimes should be legal), since it may be a
useful configuration and there is no technical reason to not allow it.

This patch resolves this by tracking MachineFunctions that have fake
uses, allowing us to run passes that interact with them and skip passes
that clash with them.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following the addition of the llvm.fake.use intrinsic and corresponding
MIR instruction, two further changes are planned: to add an
-fextend-lifetimes flag to Clang that emits these intrinsics, and to
have -Og enable this flag by default. Currently, some logic for handling
fake uses is gated by the optdebug attribute, which is intended to be
switched on by -fextend-lifetimes (and by extension -Og later on).
However, the decision was made that a general optdebug attribute should
be incompatible with other opt_ attributes (e.g. optsize, optnone),
since they all express different intents for how to optimize the
program. We would still like to allow -fextend-lifetimes with optsize
however (i.e. -Os -fextend-lifetimes should be legal), since it may be a
useful configuration and there is no technical reason to not allow it.

This patch resolves this by tracking MachineFunctions that have fake
uses, allowing us to run passes that interact with them and skip passes
that clash with them.</pre>
</div>
</content>
</entry>
<entry>
<title>[MIR] Fix return value when computed properties conflict with given prop (#109923)</title>
<updated>2024-09-25T08:47:14+00:00</updated>
<author>
<name>Dominik Montada</name>
<email>dominik.montada@arm.com</email>
</author>
<published>2024-09-25T08:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d853adee004dcee7d5a4984539c07f08394cf2b4'/>
<id>d853adee004dcee7d5a4984539c07f08394cf2b4</id>
<content type='text'>
This fixes a test failure when expensive checks are enabled. Use the
correct return value when computing machine function properties resulted
in an error (e.g. when conflicting with explicitly set values).

Without this, the machine verifier would crash even in the presence of
parsing errors which should have gently terminated execution.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes a test failure when expensive checks are enabled. Use the
correct return value when computing machine function properties resulted
in an error (e.g. when conflicting with explicitly set values).

Without this, the machine verifier would crash even in the presence of
parsing errors which should have gently terminated execution.</pre>
</div>
</content>
</entry>
<entry>
<title>[MIR] Allow overriding isSSA, noPhis, noVRegs in MIR input (#108546)</title>
<updated>2024-09-24T12:21:45+00:00</updated>
<author>
<name>Dominik Montada</name>
<email>dominik.montada@arm.com</email>
</author>
<published>2024-09-24T12:21:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8ba334bc4ad1e20c8201b85ed0a3e3b87bc47fe1'/>
<id>8ba334bc4ad1e20c8201b85ed0a3e3b87bc47fe1</id>
<content type='text'>
Allow setting the computed properties IsSSA, NoPHIs, NoVRegs for MIR
functions in MIR input. The default value is still the computed value.
If the property is set to false, the computed result is ignored. Conflicting
values (e.g. setting IsSSA where the input MIR is clearly not SSA) lead to
an error.

Closes #37787</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow setting the computed properties IsSSA, NoPHIs, NoVRegs for MIR
functions in MIR input. The default value is still the computed value.
If the property is set to false, the computed result is ignored. Conflicting
values (e.g. setting IsSSA where the input MIR is clearly not SSA) lead to
an error.

Closes #37787</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen][NewPM] Port `MachineVerifier` to new pass manager (#98628)</title>
<updated>2024-07-15T04:42:44+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-07-15T04:42:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c09ed6a29e392e406623f7c4dc0a8240d2cbc9f2'/>
<id>c09ed6a29e392e406623f7c4dc0a8240d2cbc9f2</id>
<content type='text'>
- Add `MachineVerifierPass`.
- Use complete `MachineVerifierPass` in `VerifyInstrumentation` if
possible.

`LiveStacksAnalysis` will be added in future, all other analyses are
done.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add `MachineVerifierPass`.
- Use complete `MachineVerifierPass` in `VerifyInstrumentation` if
possible.

`LiveStacksAnalysis` will be added in future, all other analyses are
done.</pre>
</div>
</content>
</entry>
<entry>
<title>[MIR] Replace bespoke DIExpression parser</title>
<updated>2024-07-10T19:26:13+00:00</updated>
<author>
<name>Scott Linder</name>
<email>Scott.Linder@amd.com</email>
</author>
<published>2024-06-26T21:11:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9f5756abefc622de543833584e4a25ffa3e9ff02'/>
<id>9f5756abefc622de543833584e4a25ffa3e9ff02</id>
<content type='text'>
Resolve FIXME by using the LLParser implementation of parseDIExpression
from the MIParser.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolve FIXME by using the LLParser implementation of parseDIExpression
from the MIParser.
</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM][MIR] Support parsing bfloat immediates in MIR parser (#96010)</title>
<updated>2024-06-25T20:44:14+00:00</updated>
<author>
<name>Stephen Chou</name>
<email>stephenchouca@users.noreply.github.com</email>
</author>
<published>2024-06-25T20:44:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3c24eb39fb7e9c8b61992c86cb44d8cacc5853d2'/>
<id>3c24eb39fb7e9c8b61992c86cb44d8cacc5853d2</id>
<content type='text'>
Adds support in MIR parser for parsing bfloat immediates, and adds a
test for this.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds support in MIR parser for parsing bfloat immediates, and adds a
test for this.</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM][CodeGen] Port `regallocfast` to new pass manager (#94426)</title>
<updated>2024-06-07T04:22:42+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-06-07T04:22:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1bc8b3258e6d42f702fb11eb60d84d0e23935e3e'/>
<id>1bc8b3258e6d42f702fb11eb60d84d0e23935e3e</id>
<content type='text'>
This pull request port `regallocfast` to new pass manager. It exposes
the parameter `filter` to handle different register classes for AMDGPU.
IIUC AMDGPU need to allocate different register classes separately so it
need implement its own `--&lt;reg-class&gt;-regalloc`. Now users can use e.g.
`-passe=regallocfast&lt;filter=sgpr&gt;` to allocate specific register class.
The command line option `--regalloc-npm` is still in work progress, plan
to reuse the syntax of passes, e.g. use
`--regalloc-npm=regallocfast&lt;filter=sgpr&gt;,greedy&lt;filter=vgpr&gt;` to
replace `--sgpr-regalloc` and `--vgpr-regalloc`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pull request port `regallocfast` to new pass manager. It exposes
the parameter `filter` to handle different register classes for AMDGPU.
IIUC AMDGPU need to allocate different register classes separately so it
need implement its own `--&lt;reg-class&gt;-regalloc`. Now users can use e.g.
`-passe=regallocfast&lt;filter=sgpr&gt;` to allocate specific register class.
The command line option `--regalloc-npm` is still in work progress, plan
to reuse the syntax of passes, e.g. use
`--regalloc-npm=regallocfast&lt;filter=sgpr&gt;,greedy&lt;filter=vgpr&gt;` to
replace `--sgpr-regalloc` and `--vgpr-regalloc`.</pre>
</div>
</content>
</entry>
</feed>
