<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/clang/test/CodeGen/pgo-sample-thinlto-summary.c, branch main</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] Remove mentions of OLDPM</title>
<updated>2023-06-10T17:40:43+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2023-06-10T17:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0e7cfa59ebe9d87029ebf75bb4a05316dd3c3d63'/>
<id>0e7cfa59ebe9d87029ebf75bb4a05316dd3c3d63</id>
<content type='text'>
We stopped testing with -check-prefix=SAMPLEPGO-OLDPM and
-check-prefix=THINLTO-OLDPM as of:

  commit 8a7a28075b7fa70d56b131c10a4d1add777d5830
  Author: Thomas Preud'homme &lt;thomasp@graphcore.ai&gt;
  Date:   Fri Sep 17 10:23:40 2021 +0100
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We stopped testing with -check-prefix=SAMPLEPGO-OLDPM and
-check-prefix=THINLTO-OLDPM as of:

  commit 8a7a28075b7fa70d56b131c10a4d1add777d5830
  Author: Thomas Preud'homme &lt;thomasp@graphcore.ai&gt;
  Date:   Fri Sep 17 10:23:40 2021 +0100
</pre>
</div>
</content>
</entry>
<entry>
<title>[test] Remove references to -fexperimental-new-pass-manager in tests</title>
<updated>2022-04-11T20:29:08+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2022-04-11T20:14:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=61d418f97154805100dc19ff2ef1338e9de2f27d'/>
<id>61d418f97154805100dc19ff2ef1338e9de2f27d</id>
<content type='text'>
This has been the default for a while and we're in the process of removing the legacy PM optimization pipeline.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has been the default for a while and we're in the process of removing the legacy PM optimization pipeline.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix CodeGen/pgo-sample-thinlto-summary.c with old PM</title>
<updated>2021-09-17T14:21:22+00:00</updated>
<author>
<name>Thomas Preud'homme</name>
<email>thomasp@graphcore.ai</email>
</author>
<published>2021-09-17T09:23:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8a7a28075b7fa70d56b131c10a4d1add777d5830'/>
<id>8a7a28075b7fa70d56b131c10a4d1add777d5830</id>
<content type='text'>
Re-add -fexperimental-new-pass-manager to
Clang::CodeGen/pgo-sample-thinlto-summary.c for the test to work on
builds that still default to the old pass manager.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D109956
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Re-add -fexperimental-new-pass-manager to
Clang::CodeGen/pgo-sample-thinlto-summary.c for the test to work on
builds that still default to the old pass manager.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D109956
</pre>
</div>
</content>
</entry>
<entry>
<title>[PGO] Change ThinLTO test for targets with loop unrolling disabled</title>
<updated>2021-09-16T10:13:16+00:00</updated>
<author>
<name>Sherwin da Cruz</name>
<email>59867245+sherwin-dc@users.noreply.github.com</email>
</author>
<published>2021-09-16T10:07:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=005fc11ebdd6e1af29efee3d7c5da86f56138414'/>
<id>005fc11ebdd6e1af29efee3d7c5da86f56138414</id>
<content type='text'>
I am working on a target in a downstream LLVM repo, and it seems that if a target backend chooses to disable loop unrolling this test would fail. A solution would be to modify the test to search for a different string instead.

The specific test checks for `if.true.direct_targ` which appears in the output when thinlto is not used (ie samplepgo). The same is true for `if.false.orig_indirect`.

However, if a target disables loop unrolling in the backend, the test fails as  `if.true.direct_targ` no longer appears, though `if.false.orig_indirect` still does. This can be seen by using a clang pragma to disable loop unrolling in the `unroll()` function.

For reference, the following files are the outputs of the last 2 test functions being compiled as the test case does, with and without thinlto, and with and without loop unrolling on the latest x86 clang build. The loop unrolling pragma was used to simulate the loop unrolling being disabled in a backend.
```
// RUN: %clang_cc1 -O2 -fprofile-sample-use=%S/Inputs/pgo-sample-thinlto-summary.prof %s -emit-llvm -o out.ll
// RUN: %clang_cc1 -O2 -fprofile-sample-use=%S/Inputs/pgo-sample-thinlto-summary.prof %s -emit-llvm -flto=thin -o out.ll
```

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D109234
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I am working on a target in a downstream LLVM repo, and it seems that if a target backend chooses to disable loop unrolling this test would fail. A solution would be to modify the test to search for a different string instead.

The specific test checks for `if.true.direct_targ` which appears in the output when thinlto is not used (ie samplepgo). The same is true for `if.false.orig_indirect`.

However, if a target disables loop unrolling in the backend, the test fails as  `if.true.direct_targ` no longer appears, though `if.false.orig_indirect` still does. This can be seen by using a clang pragma to disable loop unrolling in the `unroll()` function.

For reference, the following files are the outputs of the last 2 test functions being compiled as the test case does, with and without thinlto, and with and without loop unrolling on the latest x86 clang build. The loop unrolling pragma was used to simulate the loop unrolling being disabled in a backend.
```
// RUN: %clang_cc1 -O2 -fprofile-sample-use=%S/Inputs/pgo-sample-thinlto-summary.prof %s -emit-llvm -o out.ll
// RUN: %clang_cc1 -O2 -fprofile-sample-use=%S/Inputs/pgo-sample-thinlto-summary.prof %s -emit-llvm -flto=thin -o out.ll
```

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D109234
</pre>
</div>
</content>
</entry>
<entry>
<title>Bring r325915 back.</title>
<updated>2018-02-23T19:30:48+00:00</updated>
<author>
<name>Rafael Espindola</name>
<email>rafael.espindola@gmail.com</email>
</author>
<published>2018-02-23T19:30:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=922f2aa9b2f13631febe7167e6db3cd3b421e161'/>
<id>922f2aa9b2f13631febe7167e6db3cd3b421e161</id>
<content type='text'>
The tests that failed on a windows host have been fixed.

Original message:

Start setting dso_local for COFF.

With this there are still some GVs where we don't set dso_local
because setGVProperties is never called. I intend to fix that in
followup commits. This is just the bare minimum to teach
shouldAssumeDSOLocal what it should do for COFF.

llvm-svn: 325940
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The tests that failed on a windows host have been fixed.

Original message:

Start setting dso_local for COFF.

With this there are still some GVs where we don't set dso_local
because setGVProperties is never called. I intend to fix that in
followup commits. This is just the bare minimum to teach
shouldAssumeDSOLocal what it should do for COFF.

llvm-svn: 325940
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable the new PM + SamlePGO + ThinLTO testing.</title>
<updated>2017-07-07T20:53:17+00:00</updated>
<author>
<name>Dehao Chen</name>
<email>dehao@google.com</email>
</author>
<published>2017-07-07T20:53:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4a7e66a84686f07b525adc90b97ea6f24ae86e00'/>
<id>4a7e66a84686f07b525adc90b97ea6f24ae86e00</id>
<content type='text'>
Summary: This patch should be enabled after https://reviews.llvm.org/D34895

Reviewers: chandlerc, tejohnson, davidxl

Reviewed By: tejohnson

Subscribers: sanjoy, mehdi_amini, inglorion, eraman, cfe-commits

Differential Revision: https://reviews.llvm.org/D34896

llvm-svn: 307438
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: This patch should be enabled after https://reviews.llvm.org/D34895

Reviewers: chandlerc, tejohnson, davidxl

Reviewed By: tejohnson

Subscribers: sanjoy, mehdi_amini, inglorion, eraman, cfe-commits

Differential Revision: https://reviews.llvm.org/D34896

llvm-svn: 307438
</pre>
</div>
</content>
</entry>
<entry>
<title>[PM] Add support for sample PGO in the new pass manager (clang-side)</title>
<updated>2017-06-29T23:33:13+00:00</updated>
<author>
<name>Dehao Chen</name>
<email>dehao@google.com</email>
</author>
<published>2017-06-29T23:33:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6d441bf05f5594902077d32e82aacb9e9ab16c88'/>
<id>6d441bf05f5594902077d32e82aacb9e9ab16c88</id>
<content type='text'>
Summary: This implements the clang bits of https://reviews.llvm.org/D34720, and add corresponding test to verify if it worked.

Reviewers: chandlerc, davidxl, davide, tejohnson

Reviewed By: chandlerc, tejohnson

Subscribers: tejohnson, sanjoy, mehdi_amini, eraman, cfe-commits

Differential Revision: https://reviews.llvm.org/D34721

llvm-svn: 306764
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: This implements the clang bits of https://reviews.llvm.org/D34720, and add corresponding test to verify if it worked.

Reviewers: chandlerc, davidxl, davide, tejohnson

Reviewed By: chandlerc, tejohnson

Subscribers: tejohnson, sanjoy, mehdi_amini, eraman, cfe-commits

Differential Revision: https://reviews.llvm.org/D34721

llvm-svn: 306764
</pre>
</div>
</content>
</entry>
<entry>
<title>Update the test comment to clarify the intention of the test.</title>
<updated>2017-06-27T17:45:40+00:00</updated>
<author>
<name>Dehao Chen</name>
<email>dehao@google.com</email>
</author>
<published>2017-06-27T17:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=874bc749a20f14d6fc30e43038b3c99d6c40c4a9'/>
<id>874bc749a20f14d6fc30e43038b3c99d6c40c4a9</id>
<content type='text'>
llvm-svn: 306434
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 306434
</pre>
</div>
</content>
</entry>
<entry>
<title>Update test for enabling ICP for AutoFDO.</title>
<updated>2017-06-27T17:23:42+00:00</updated>
<author>
<name>Dehao Chen</name>
<email>dehao@google.com</email>
</author>
<published>2017-06-27T17:23:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bc8c7dc054f350e1109997337539fee48707466d'/>
<id>bc8c7dc054f350e1109997337539fee48707466d</id>
<content type='text'>
Summary: This is the test update patch for https://reviews.llvm.org/D34662

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: cfe-commits, sanjoy, mehdi_amini, eraman, llvm-commits

Differential Revision: https://reviews.llvm.org/D34663

llvm-svn: 306430
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: This is the test update patch for https://reviews.llvm.org/D34662

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: cfe-commits, sanjoy, mehdi_amini, eraman, llvm-commits

Differential Revision: https://reviews.llvm.org/D34663

llvm-svn: 306430
</pre>
</div>
</content>
</entry>
<entry>
<title>[PGO/tests] Update comment to reflect reality.</title>
<updated>2017-04-25T18:04:31+00:00</updated>
<author>
<name>Davide Italiano</name>
<email>davide@freebsd.org</email>
</author>
<published>2017-04-25T18:04:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e2ff98d9f8c514b9c612cf293ac29e14d27b5876'/>
<id>e2ff98d9f8c514b9c612cf293ac29e14d27b5876</id>
<content type='text'>
llvm-svn: 301344
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-svn: 301344
</pre>
</div>
</content>
</entry>
</feed>
