<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp, 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>[SelectionDAG] Use Register and MCRegister. NFC</title>
<updated>2025-03-03T06:33:25+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2025-03-03T00:16:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7bd2be42666dfd5ceac5fb5b2fa793b6534206fc'/>
<id>7bd2be42666dfd5ceac5fb5b2fa793b6534206fc</id>
<content type='text'>
Add operators to Register to supporting adding an offset to get
another Register.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add operators to Register to supporting adding an offset to get
another Register.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SDAG] Use BatchAAResults for querying alias analysis (AA) results (#123934)</title>
<updated>2025-01-23T09:16:09+00:00</updated>
<author>
<name>Benjamin Maxwell</name>
<email>benjamin.maxwell@arm.com</email>
</author>
<published>2025-01-23T09:16:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=778138114e9e42e28fcb51c0a38224e667a3790c'/>
<id>778138114e9e42e28fcb51c0a38224e667a3790c</id>
<content type='text'>
Once we get to SelectionDAG the IR should not be changing anymore, so we
can use BatchAAResults rather than AAResults to cache AA queries.

This should be a NFC change for targets that enable AA during codegen
(such as AArch64), but also give a nice compile-time improvement in some
cases. See:
https://github.com/llvm/llvm-project/pull/123787#issuecomment-2606797041

Note: This follows Nikita's suggestion on #123787.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Once we get to SelectionDAG the IR should not be changing anymore, so we
can use BatchAAResults rather than AAResults to cache AA queries.

This should be a NFC change for targets that enable AA during codegen
(such as AArch64), but also give a nice compile-time improvement in some
cases. See:
https://github.com/llvm/llvm-project/pull/123787#issuecomment-2606797041

Note: This follows Nikita's suggestion on #123787.</pre>
</div>
</content>
</entry>
<entry>
<title>[LLVM] Fix various cl::desc typos and whitespace issues (NFC) (#121955)</title>
<updated>2025-01-08T10:07:23+00:00</updated>
<author>
<name>Ryan Mansfield</name>
<email>ryan_mansfield@apple.com</email>
</author>
<published>2025-01-08T10:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67efbd0bf1b2df8a479e09eb2be7db4c3c892f2c'/>
<id>67efbd0bf1b2df8a479e09eb2be7db4c3c892f2c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Use initial-stack-allocations for more data structures (#110544)</title>
<updated>2024-09-30T22:15:18+00:00</updated>
<author>
<name>Jeremy Morse</name>
<email>jeremy.morse@sony.com</email>
</author>
<published>2024-09-30T22:15:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=96f37ae45310885e09195be09d9c05e1c1dff86b'/>
<id>96f37ae45310885e09195be09d9c05e1c1dff86b</id>
<content type='text'>
This replaces some of the most frequent offenders of using a DenseMap that
cause a malloc, where the typical element-count is small enough to fit in
an initial stack allocation.

Most of these are fairly obvious, one to highlight is the collectOffset
method of GEP instructions: if there's a GEP, of course it's going to have
at least one offset, but every time we've called collectOffset we end up
calling malloc as well for the DenseMap in the MapVector.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces some of the most frequent offenders of using a DenseMap that
cause a malloc, where the typical element-count is small enough to fit in
an initial stack allocation.

Most of these are fairly obvious, one to highlight is the collectOffset
method of GEP instructions: if there's a GEP, of course it's going to have
at least one offset, but every time we've called collectOffset we end up
calling malloc as well for the DenseMap in the MapVector.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Move CodeGenTypes library to its own directory (#79444)</title>
<updated>2024-01-25T17:01:31+00:00</updated>
<author>
<name>Nico Weber</name>
<email>thakis@chromium.org</email>
</author>
<published>2024-01-25T17:01:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=184ca39529a93e69eb175861d7fff5fc79988e53'/>
<id>184ca39529a93e69eb175861d7fff5fc79988e53</id>
<content type='text'>
Finally addresses https://reviews.llvm.org/D148769#4311232 :)

No behavior change.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Finally addresses https://reviews.llvm.org/D148769#4311232 :)

No behavior change.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm][NFC] Use SDValue::getConstantOperandVal(i) where possible (#76708)</title>
<updated>2024-01-02T13:14:28+00:00</updated>
<author>
<name>Alex Bradbury</name>
<email>asb@igalia.com</email>
</author>
<published>2024-01-02T13:14:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=80aeb622117f6411e65bff42be5231720e8b8cef'/>
<id>80aeb622117f6411e65bff42be5231720e8b8cef</id>
<content type='text'>
This helper function shortens examples like
`cast&lt;ConstantSDNode&gt;(Node-&gt;getOperand(1))-&gt;getZExtValue();` to
`Node-&gt;getConstantOperandVal(1);`.

Implemented with:
`git grep -l
"cast&lt;ConstantSDNode&gt;\(.*-&gt;getOperand\(.*\)\)-&gt;getZExtValue\(\)" | xargs
sed -E -i

's/cast&lt;ConstantSDNode&gt;\((.*)-&gt;getOperand\((.*)\)\)-&gt;getZExtValue\(\)/\1-&gt;getConstantOperandVal(\2)/`
and `git grep -l
"cast&lt;ConstantSDNode&gt;\(.*\.getOperand\(.*\)\)-&gt;getZExtValue\(\)" | xargs
sed -E -i

's/cast&lt;ConstantSDNode&gt;\((.*)\.getOperand\((.*)\)\)-&gt;getZExtValue\(\)/\1.getConstantOperandVal(\2)/'`.
With a couple of simple manual fixes needed. Result then processed by
`git clang-format`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This helper function shortens examples like
`cast&lt;ConstantSDNode&gt;(Node-&gt;getOperand(1))-&gt;getZExtValue();` to
`Node-&gt;getConstantOperandVal(1);`.

Implemented with:
`git grep -l
"cast&lt;ConstantSDNode&gt;\(.*-&gt;getOperand\(.*\)\)-&gt;getZExtValue\(\)" | xargs
sed -E -i

's/cast&lt;ConstantSDNode&gt;\((.*)-&gt;getOperand\((.*)\)\)-&gt;getZExtValue\(\)/\1-&gt;getConstantOperandVal(\2)/`
and `git grep -l
"cast&lt;ConstantSDNode&gt;\(.*\.getOperand\(.*\)\)-&gt;getZExtValue\(\)" | xargs
sed -E -i

's/cast&lt;ConstantSDNode&gt;\((.*)\.getOperand\((.*)\)\)-&gt;getZExtValue\(\)/\1.getConstantOperandVal(\2)/'`.
With a couple of simple manual fixes needed. Result then processed by
`git clang-format`.</pre>
</div>
</content>
</entry>
<entry>
<title>[X86]Remove X86-specific dead code in ScheduleDAGRRList.cpp (#67629)</title>
<updated>2023-09-30T07:49:37+00:00</updated>
<author>
<name>XinWang10</name>
<email>108658776+XinWang10@users.noreply.github.com</email>
</author>
<published>2023-09-30T07:49:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fef1bec39642d7733eae22d6e79ac07c779bdef5'/>
<id>fef1bec39642d7733eae22d6e79ac07c779bdef5</id>
<content type='text'>
After patch https://github.com/llvm/llvm-project/pull/67288 landed,
unfoldMemoryOperand would not return NewMIs whose size ==3. So the
removed line is useless.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After patch https://github.com/llvm/llvm-project/pull/67288 landed,
unfoldMemoryOperand would not return NewMIs whose size ==3. So the
removed line is useless.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][CodeGen] Change CodeGenOpt::Level/CodeGenFileType into enum classes (#66295)</title>
<updated>2023-09-14T21:10:14+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2023-09-14T21:10:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0a1aa6cda2758b0926a95f87d39ffefb1cb90200'/>
<id>0a1aa6cda2758b0926a95f87d39ffefb1cb90200</id>
<content type='text'>
This will make it easy for callers to see issues with and fix up calls
to createTargetMachine after a future change to the params of
TargetMachine.

This matches other nearby enums.

For downstream users, this should be a fairly straightforward
replacement,
e.g. s/CodeGenOpt::Aggressive/CodeGenOptLevel::Aggressive
or s/CGFT_/CodeGenFileType::</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will make it easy for callers to see issues with and fix up calls
to createTargetMachine after a future change to the params of
TargetMachine.

This matches other nearby enums.

For downstream users, this should be a fairly straightforward
replacement,
e.g. s/CodeGenOpt::Aggressive/CodeGenOptLevel::Aggressive
or s/CGFT_/CodeGenFileType::</pre>
</div>
</content>
</entry>
<entry>
<title>[InlineAsm] refactor InlineAsm class NFC (#65649)</title>
<updated>2023-09-11T16:27:37+00:00</updated>
<author>
<name>Nick Desaulniers</name>
<email>nickdesaulniers@users.noreply.github.com</email>
</author>
<published>2023-09-11T16:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=93bd428742f985a4b909dd5efee462ea520c96c0'/>
<id>93bd428742f985a4b909dd5efee462ea520c96c0</id>
<content type='text'>
I would like to steal one of these bits to denote whether a kind may be
spilled by the register allocator or not, but I'm afraid to touch of any
this code using bitwise operands.

Make flags a first class type using bitfields, rather than launder data
around via `unsigned`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I would like to steal one of these bits to denote whether a kind may be
spilled by the register allocator or not, but I'm afraid to touch of any
this code using bitwise operands.

Make flags a first class type using bitfields, rather than launder data
around via `unsigned`.</pre>
</div>
</content>
</entry>
<entry>
<title>Restore CodeGen/MachineValueType.h from `Support`</title>
<updated>2023-05-02T15:13:20+00:00</updated>
<author>
<name>NAKAMURA Takumi</name>
<email>geek4civic@gmail.com</email>
</author>
<published>2023-04-10T15:05:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c1221251fbb13f382f9142a8a75af2d3b372da7f'/>
<id>c1221251fbb13f382f9142a8a75af2d3b372da7f</id>
<content type='text'>
This is rework of;

  - rG13e77db2df94 (r328395; MVT)

Since `LowLevelType.h` has been restored to `CodeGen`, `MachinveValueType.h`
can be restored as well.

Depends on D148767

Differential Revision: https://reviews.llvm.org/D149024
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is rework of;

  - rG13e77db2df94 (r328395; MVT)

Since `LowLevelType.h` has been restored to `CodeGen`, `MachinveValueType.h`
can be restored as well.

Depends on D148767

Differential Revision: https://reviews.llvm.org/D149024
</pre>
</div>
</content>
</entry>
</feed>
