<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/Transforms/FunctionSpecialization/function-specialization-stats.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>[FuncSpec][NFC] Command line option renaming.</title>
<updated>2023-03-15T18:03:44+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2023-03-03T15:29:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9627bcdeac33a3c2752035455228299155c82046'/>
<id>9627bcdeac33a3c2752035455228299155c82046</id>
<content type='text'>
Standardize all options with 'funcspec' prefix and shorter abreviations.

Differential Revision: https://reviews.llvm.org/D145378
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Standardize all options with 'funcspec' prefix and shorter abreviations.

Differential Revision: https://reviews.llvm.org/D145378
</pre>
</div>
</content>
</entry>
<entry>
<title>[FuncSpec] Minor refactoring in statistics and debug messages.</title>
<updated>2023-03-15T09:10:06+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2023-02-22T21:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67fde2b932a0b5b4ab23c2ccedeffe44dc1bde50'/>
<id>67fde2b932a0b5b4ab23c2ccedeffe44dc1bde50</id>
<content type='text'>
* Remove redundant variable `NbFunctionsSpecialized` as it is no longer
  used by the cost model.
* Rename statistic `NumFuncSpecialized` to `NumSpecsCreated` as a better
  description (the old name confusingly implied number of functions we have
  created clones for).
* Same for variable `SpecializedFuncs`. Renamed to `Specializations`.
* Move debug message in the destructor (avoids repetition when MaxIters &gt; 1).

Differential Revision: https://reviews.llvm.org/D145375
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Remove redundant variable `NbFunctionsSpecialized` as it is no longer
  used by the cost model.
* Rename statistic `NumFuncSpecialized` to `NumSpecsCreated` as a better
  description (the old name confusingly implied number of functions we have
  created clones for).
* Same for variable `SpecializedFuncs`. Renamed to `Specializations`.
* Move debug message in the destructor (avoids repetition when MaxIters &gt; 1).

Differential Revision: https://reviews.llvm.org/D145375
</pre>
</div>
</content>
</entry>
<entry>
<title>[IPSCCP] Create a Pass parameter to control specialization of functions.</title>
<updated>2022-12-23T16:54:45+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2022-12-22T17:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f952bc05fda6647bedadf552c5aa5b00672861fc'/>
<id>f952bc05fda6647bedadf552c5aa5b00672861fc</id>
<content type='text'>
Required for D140210 in order to disable FuncSpec at {Os, Oz}
optimization levels.

Differential Revision: https://reviews.llvm.org/D140564
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Required for D140210 in order to disable FuncSpec at {Os, Oz}
optimization levels.

Differential Revision: https://reviews.llvm.org/D140564
</pre>
</div>
</content>
</entry>
<entry>
<title>[FuncSpec] Make the Function Specializer part of the IPSCCP pass.</title>
<updated>2022-12-10T14:39:49+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2022-12-09T17:41:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8136a0172b3ce04975650732cc3cc9da89908211'/>
<id>8136a0172b3ce04975650732cc3cc9da89908211</id>
<content type='text'>
Reland 877a9f9abec61f06e39f1cd872e37b828139c2d1 since D138654 (parent)
has been fixed with 9ebaf4fef4aac89d4eff08e48185d61bc893f14e and with
8f1e11c5a7d70f96943a72649daa69f152d73e90.

Differential Revision: https://reviews.llvm.org/D126455
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reland 877a9f9abec61f06e39f1cd872e37b828139c2d1 since D138654 (parent)
has been fixed with 9ebaf4fef4aac89d4eff08e48185d61bc893f14e and with
8f1e11c5a7d70f96943a72649daa69f152d73e90.

Differential Revision: https://reviews.llvm.org/D126455
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[FuncSpec] Make the Function Specializer part of the IPSCCP pass."</title>
<updated>2022-12-08T12:41:43+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2022-12-08T12:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0f0cb92cb2ad3aeb6479acaa5bfbdefd17b764a7'/>
<id>0f0cb92cb2ad3aeb6479acaa5bfbdefd17b764a7</id>
<content type='text'>
This reverts commit 877a9f9abec61f06e39f1cd872e37b828139c2d1.

It depends on the parent revision 42c2dc401742266da3e0251b6c1ca491f4779963
which needs to be reverted as it broke some buildbots, so reverting both.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 877a9f9abec61f06e39f1cd872e37b828139c2d1.

It depends on the parent revision 42c2dc401742266da3e0251b6c1ca491f4779963
which needs to be reverted as it broke some buildbots, so reverting both.
</pre>
</div>
</content>
</entry>
<entry>
<title>[FuncSpec] Make the Function Specializer part of the IPSCCP pass.</title>
<updated>2022-12-08T12:14:27+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2022-11-28T21:47:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=877a9f9abec61f06e39f1cd872e37b828139c2d1'/>
<id>877a9f9abec61f06e39f1cd872e37b828139c2d1</id>
<content type='text'>
The aim of this patch is to minimize the compilation time overhead of
running Function Specialization. It is about 40% slower to run as a
standalone pass (IPSCCP + FuncSpec vs IPSCCP with FuncSpec) according
to my measurements. I compiled the llvm testsuite with NewPM-O3 + LTO
and measured single threaded [user + system] time of IPSCCP and FuncSpec
by passing the '-time-passes' option to lld. Then I compared the two
configurations in terms of Instruction Count of the total compilation
(not of the individual passes) as in https://llvm-compile-time-tracker.com.
Geomean for non-LTO builds is -0.25% and LTO is -0.5% approximately.

You can find more info below:

https://discourse.llvm.org/t/rfc-should-we-enable-function-specialization/61518

Differential Revision: https://reviews.llvm.org/D126455
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The aim of this patch is to minimize the compilation time overhead of
running Function Specialization. It is about 40% slower to run as a
standalone pass (IPSCCP + FuncSpec vs IPSCCP with FuncSpec) according
to my measurements. I compiled the llvm testsuite with NewPM-O3 + LTO
and measured single threaded [user + system] time of IPSCCP and FuncSpec
by passing the '-time-passes' option to lld. Then I compared the two
configurations in terms of Instruction Count of the total compilation
(not of the individual passes) as in https://llvm-compile-time-tracker.com.
Geomean for non-LTO builds is -0.25% and LTO is -0.5% approximately.

You can find more info below:

https://discourse.llvm.org/t/rfc-should-we-enable-function-specialization/61518

Differential Revision: https://reviews.llvm.org/D126455
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Port all FunctionSpecialization tests to `-passes=` syntax</title>
<updated>2022-12-07T23:38:43+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-12-07T23:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a1314b2f6256ae10e2c9ce2b6efd6c9c77da6aaa'/>
<id>a1314b2f6256ae10e2c9ce2b6efd6c9c77da6aaa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FunctionSpecialization: Convert tests to opaque pointers</title>
<updated>2022-11-28T14:35:48+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-11-26T22:32:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ebdf5aefcb75ed52f44227a85b190bd26a01dddd'/>
<id>ebdf5aefcb75ed52f44227a85b190bd26a01dddd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[FuncSpec] Don't specialize function which are easy to inline</title>
<updated>2021-08-23T11:20:21+00:00</updated>
<author>
<name>Chuanqi Xu</name>
<email>yedeng.yd@linux.alibaba.com</email>
</author>
<published>2021-08-23T11:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2556f58148836f0af3ad2c73fe54bbdf49f0295a'/>
<id>2556f58148836f0af3ad2c73fe54bbdf49f0295a</id>
<content type='text'>
It would waste time to specialize a function which would inline finally.
This patch did two things:

- Don't specialize functions which are always-inline.
- Don't spescialize functions whose lines of code are less than threshold
(100 by default).

For spec2017int, this patch could reduce the number of specialized
functions by 33%. Then the compile time didn't increase for every
benchmark.

Reviewed By: SjoerdMeijer, xbolva00, snehasish

Differential Revision: https://reviews.llvm.org/D107897
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It would waste time to specialize a function which would inline finally.
This patch did two things:

- Don't specialize functions which are always-inline.
- Don't spescialize functions whose lines of code are less than threshold
(100 by default).

For spec2017int, this patch could reduce the number of specialized
functions by 33%. Then the compile time didn't increase for every
benchmark.

Reviewed By: SjoerdMeijer, xbolva00, snehasish

Differential Revision: https://reviews.llvm.org/D107897
</pre>
</div>
</content>
</entry>
<entry>
<title>[FuncSpec] Remove other passes in a test RUN line. NFC.</title>
<updated>2021-06-16T09:36:22+00:00</updated>
<author>
<name>Sjoerd Meijer</name>
<email>sjoerd.meijer@arm.com</email>
</author>
<published>2021-06-16T09:31:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c8a3fce7769633157cd8598f7bc1210c89a7aefb'/>
<id>c8a3fce7769633157cd8598f7bc1210c89a7aefb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
