<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/SwitchLoweringUtils.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>[CodeGen] Use Register in SwitchLoweringUtils. NFC (#109092)</title>
<updated>2024-09-18T16:43:21+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-09-18T16:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=292ee93a87018bfef519ceff7de676e4792aa8d9'/>
<id>292ee93a87018bfef519ceff7de676e4792aa8d9</id>
<content type='text'>
Use an empty Register() instead of -1U.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use an empty Register() instead of -1U.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Add reference to the clustering algortihm for switch statements (#98239)</title>
<updated>2024-07-10T04:26:32+00:00</updated>
<author>
<name>AdityaK</name>
<email>hiraditya@msn.com</email>
</author>
<published>2024-07-10T04:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3e4adef9467734a3ced62a651ae7f35f5bf45901'/>
<id>3e4adef9467734a3ced62a651ae7f35f5bf45901</id>
<content type='text'>
Menezes, Evandro, Sebastian Pop, and Aditya Kumar. "Clustering case
statements for indirect branch predictors." arXiv preprint
arXiv:1910.02351 (2019).

https://arxiv.org/pdf/1910.02351v2</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Menezes, Evandro, Sebastian Pop, and Aditya Kumar. "Clustering case
statements for indirect branch predictors." arXiv preprint
arXiv:1910.02351 (2019).

https://arxiv.org/pdf/1910.02351v2</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: Extract switch lowering binary tree splitting code from DAG into SwitchLoweringUtils.</title>
<updated>2024-01-07T15:42:27+00:00</updated>
<author>
<name>Amara Emerson</name>
<email>amara@apple.com</email>
</author>
<published>2024-01-07T15:34:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=535d8e8b92e3f8cf4107d9431012310c9a72c8d3'/>
<id>535d8e8b92e3f8cf4107d9431012310c9a72c8d3</id>
<content type='text'>
This will help re-use this code with the upcoming GlobalISel implementation of
this optimization.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will help re-use this code with the upcoming GlobalISel implementation of
this optimization.
</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen][DebugInfo] Add missing debug info for jump table BB (#71021)</title>
<updated>2023-11-18T11:17:51+00:00</updated>
<author>
<name>HaohaiWen</name>
<email>haohai.wen@intel.com</email>
</author>
<published>2023-11-18T11:17:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=394bba766ddd2f5ea8ac8007dcadb724f79bafc4'/>
<id>394bba766ddd2f5ea8ac8007dcadb724f79bafc4</id>
<content type='text'>
visitJumpTable is called on FinishBasicBlock. At that time, getCurSDLoc
will always return SDLoc without DebugLoc since CurInst was set to
nullptr after visiting each instruction.
This patch passes SDLoc to buildJumpTable when visiting SwitchInst so
that visitJumpTable can use it later.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
visitJumpTable is called on FinishBasicBlock. At that time, getCurSDLoc
will always return SDLoc without DebugLoc since CurInst was set to
nullptr after visiting each instruction.
This patch passes SDLoc to buildJumpTable when visiting SwitchInst so
that visitJumpTable can use it later.</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>[APInt] Normalize naming on keep constructors / predicate methods.</title>
<updated>2021-09-09T16:50:24+00:00</updated>
<author>
<name>Chris Lattner</name>
<email>clattner@nondot.org</email>
</author>
<published>2021-09-09T05:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=735f46715d90fd0ff48dd44d1007302640ab4d11'/>
<id>735f46715d90fd0ff48dd44d1007302640ab4d11</id>
<content type='text'>
This renames the primary methods for creating a zero value to `getZero`
instead of `getNullValue` and renames predicates like `isAllOnesValue`
to simply `isAllOnes`.  This achieves two things:

1) This starts standardizing predicates across the LLVM codebase,
   following (in this case) ConstantInt.  The word "Value" doesn't
   convey anything of merit, and is missing in some of the other things.

2) Calling an integer "null" doesn't make any sense.  The original sin
   here is mine and I've regretted it for years.  This moves us to calling
   it "zero" instead, which is correct!

APInt is widely used and I don't think anyone is keen to take massive source
breakage on anything so core, at least not all in one go.  As such, this
doesn't actually delete any entrypoints, it "soft deprecates" them with a
comment.

Included in this patch are changes to a bunch of the codebase, but there are
more.  We should normalize SelectionDAG and other APIs as well, which would
make the API change more mechanical.

Differential Revision: https://reviews.llvm.org/D109483
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This renames the primary methods for creating a zero value to `getZero`
instead of `getNullValue` and renames predicates like `isAllOnesValue`
to simply `isAllOnes`.  This achieves two things:

1) This starts standardizing predicates across the LLVM codebase,
   following (in this case) ConstantInt.  The word "Value" doesn't
   convey anything of merit, and is missing in some of the other things.

2) Calling an integer "null" doesn't make any sense.  The original sin
   here is mine and I've regretted it for years.  This moves us to calling
   it "zero" instead, which is correct!

APInt is widely used and I don't think anyone is keen to take massive source
breakage on anything so core, at least not all in one go.  As such, this
doesn't actually delete any entrypoints, it "soft deprecates" them with a
comment.

Included in this patch are changes to a bunch of the codebase, but there are
more.  We should normalize SelectionDAG and other APIs as well, which would
make the API change more mechanical.

Differential Revision: https://reviews.llvm.org/D109483
</pre>
</div>
</content>
</entry>
<entry>
<title>SwitchLoweringUtils.h - reduce TargetLowering.h include. NFCI.</title>
<updated>2020-09-10T16:42:18+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-09-10T16:35:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f42f733af968e75948442c578e8ad0ae101cc8a3'/>
<id>f42f733af968e75948442c578e8ad0ae101cc8a3</id>
<content type='text'>
Only include the headers we actually need, and move the remaining includes down to implicit dependent files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only include the headers we actually need, and move the remaining includes down to implicit dependent files.
</pre>
</div>
</content>
</entry>
<entry>
<title>SelectionDAG.h - remove unnecessary FunctionLoweringInfo.h include. NFCI.</title>
<updated>2020-09-03T17:33:25+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-09-03T17:24:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1673a080443327829fc55bb1299904e8831ca636'/>
<id>1673a080443327829fc55bb1299904e8831ca636</id>
<content type='text'>
Use forward declarations and move the include down to dependent files that actually use it.

This also exposes a number of implicit dependencies on KnownBits.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use forward declarations and move the include down to dependent files that actually use it.

This also exposes a number of implicit dependencies on KnownBits.h
</pre>
</div>
</content>
</entry>
<entry>
<title>TargetLowering.h - remove unnecessary TargetMachine.h include. NFC</title>
<updated>2020-05-23T18:49:38+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-05-23T18:49:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe0006c882f1c134b2abe8552d48c876cde9343d'/>
<id>fe0006c882f1c134b2abe8552d48c876cde9343d</id>
<content type='text'>
Replace with forward declaration and move dependency down to source files that actually need it.

Both TargetLowering.h and TargetMachine.h are 2 of the most expensive headers (top 10) in the ClangBuildAnalyzer report when building llc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace with forward declaration and move dependency down to source files that actually need it.

Both TargetLowering.h and TargetMachine.h are 2 of the most expensive headers (top 10) in the ClangBuildAnalyzer report when building llc.
</pre>
</div>
</content>
</entry>
<entry>
<title>[PGO][PGSO] TargetLowering/TargetTransformationInfo/SwitchLoweringUtils part.</title>
<updated>2019-10-31T20:22:56+00:00</updated>
<author>
<name>Hiroshi Yamauchi</name>
<email>yamauchi@google.com</email>
</author>
<published>2019-10-29T18:30:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0d987e411aca1cd735c3149c799ea0866719a855'/>
<id>0d987e411aca1cd735c3149c799ea0866719a855</id>
<content type='text'>
Summary:
(Split of off D67120)

TargetLowering/TargetTransformationInfo/SwitchLoweringUtils changes for profile
guided size optimization.

Reviewers: davidxl

Subscribers: eraman, hiraditya, haicheng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69580
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
(Split of off D67120)

TargetLowering/TargetTransformationInfo/SwitchLoweringUtils changes for profile
guided size optimization.

Reviewers: davidxl

Subscribers: eraman, hiraditya, haicheng, llvm-commits

Tags: #llvm

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