<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/Transforms/PhaseOrdering, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2020-03-19T09:12:16+00:00</updated>
<entry>
<title>../llvm/utils/update_test_checks.py --opt-binary bin/opt ../llvm/test/Transforms/PhaseOrdering/min-max-abs-cse.ll</title>
<updated>2020-03-19T09:12:16+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@chromium.org</email>
</author>
<published>2020-03-19T09:12:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5401d393f88b9fa99a8d3a2a1b3013e757d958a2'/>
<id>urn:sha1:5401d393f88b9fa99a8d3a2a1b3013e757d958a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[EarlyCSE] avoid crashing when detecting min/max/abs patterns (PR41083)</title>
<updated>2020-03-19T09:02:25+00:00</updated>
<author>
<name>Sanjay Patel</name>
<email>spatel@rotateright.com</email>
</author>
<published>2020-02-10T22:13:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=623461b2ce421cd287f1bea50c0998003375a782'/>
<id>urn:sha1:623461b2ce421cd287f1bea50c0998003375a782</id>
<content type='text'>
As discussed in PR41083:
https://bugs.llvm.org/show_bug.cgi?id=41083
...we can assert/crash in EarlyCSE using the current hashing scheme and
instructions with flags.

ValueTracking's matchSelectPattern() may rely on overflow (nsw, etc) or
other flags when detecting patterns such as min/max/abs composed of
compare+select. But the value numbering / hashing mechanism used by
EarlyCSE intersects those flags to allow more CSE.

Several alternatives to solve this are discussed in the bug report.
This patch avoids the issue by doing simple matching of min/max/abs
patterns that never requires instruction flags. We give up some CSE
power because of that, but that is not expected to result in much
actual performance difference because InstCombine will canonicalize
these patterns when possible. It even has this comment for abs/nabs:

  /// Canonicalize all these variants to 1 pattern.
  /// This makes CSE more likely.

(And this patch adds PhaseOrdering tests to verify that the expected
transforms are still happening in the standard optimization pipelines.

I left this code to use ValueTracking's "flavor" enum values, so we
don't have to change the callers' code. If we decide to go back to
using the ValueTracking call (by changing the hashing algorithm
instead), it should be obvious how to replace this chunk.

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

(cherry picked from commit b8ebc11f032032c7ca449f020a1fe40346e707c8)
</content>
</entry>
<entry>
<title>[Transforms] add phase ordering tests for min/max/abs; NFC</title>
<updated>2020-03-19T09:02:25+00:00</updated>
<author>
<name>Sanjay Patel</name>
<email>spatel@rotateright.com</email>
</author>
<published>2020-02-10T20:10:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cfa792458fc47f9890d94a2718288c269c8a2a6e'/>
<id>urn:sha1:cfa792458fc47f9890d94a2718288c269c8a2a6e</id>
<content type='text'>
Test that instcombine and early-cse can cooperate
to reduce sequences of select patterns that are not
composed of the same underlying instructions.

There's a bug in EarlyCSE (PR41083), and we can test
how much a possible fix (D74285) may affect optimization.

(cherry picked from commit 0ad6e726ec7eee8ef14a89fa288d5a1420d96b1e)
</content>
</entry>
<entry>
<title>Reland [DataLayout] Fix occurrences that size and range of pointers are assumed to be the same.</title>
<updated>2019-12-13T14:30:21+00:00</updated>
<author>
<name>Nicola Zaghen</name>
<email>nicola.zaghen@imgtec.com</email>
</author>
<published>2019-12-13T09:55:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=97572775d2fe088d8059b3a9423f6d8539fafe33'/>
<id>urn:sha1:97572775d2fe088d8059b3a9423f6d8539fafe33</id>
<content type='text'>
GEP index size can be specified in the DataLayout, introduced in D42123. However, there were still places
in which getIndexSizeInBits was used interchangeably with getPointerSizeInBits. This notably caused issues
with Instcombine's visitPtrToInt; but the unit tests was incorrect, so this remained undiscovered.

This fixes the buildbot failures.

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

Patch by Joseph Faulls!
</content>
</entry>
<entry>
<title>Temporarily Revert "[DataLayout] Fix occurrences that size and range of pointers are assumed to be the same."</title>
<updated>2019-12-12T10:29:54+00:00</updated>
<author>
<name>Nicola Zaghen</name>
<email>nicola.zaghen@imgtec.com</email>
</author>
<published>2019-12-12T10:25:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=f798eb21eca97dc44ed40da52ece22780fb74230'/>
<id>urn:sha1:f798eb21eca97dc44ed40da52ece22780fb74230</id>
<content type='text'>
This reverts commit 5f6208778ff92567c57d7c1e2e740c284d7e69a5.

This caused failures in Transforms/PhaseOrdering/scev-custom-dl.ll
const: Assertion `getBitWidth() == CR.getBitWidth() &amp;&amp; "ConstantRange types don't agree!"' failed.
</content>
</entry>
<entry>
<title>[DataLayout] Fix occurrences that size and range of pointers are assumed to be the same.</title>
<updated>2019-12-12T10:07:01+00:00</updated>
<author>
<name>Nicola Zaghen</name>
<email>nicola.zaghen@imgtec.com</email>
</author>
<published>2019-12-02T11:13:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=5f6208778ff92567c57d7c1e2e740c284d7e69a5'/>
<id>urn:sha1:5f6208778ff92567c57d7c1e2e740c284d7e69a5</id>
<content type='text'>
GEP index size can be specified in the DataLayout, introduced in D42123. However, there were still places
in which getIndexSizeInBits was used interchangeably with getPointerSizeInBits. This notably caused issues
with Instcombine's visitPtrToInt; but the unit tests was incorrect, so this remained undiscovered.

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

Patch by Joseph Faulls!
</content>
</entry>
<entry>
<title>Revert "[Attributor] Move pass after InstCombine to futher eliminate null pointer checks"</title>
<updated>2019-11-27T21:45:47+00:00</updated>
<author>
<name>Dávid Bolvanský</name>
<email>david.bolvansky@gmail.com</email>
</author>
<published>2019-11-27T21:44:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=40963b2bf0e72626d21917a08f3c86e56541ae7a'/>
<id>urn:sha1:40963b2bf0e72626d21917a08f3c86e56541ae7a</id>
<content type='text'>
This reverts commit 7ca7d62c6ea1680ec0a1861083669596547fdd6f. Commited accidentally.
</content>
</entry>
<entry>
<title>[Attributor] Move pass after InstCombine to futher eliminate null pointer checks</title>
<updated>2019-11-27T21:36:51+00:00</updated>
<author>
<name>Dávid Bolvanský</name>
<email>david.bolvansky@gmail.com</email>
</author>
<published>2019-11-26T19:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7ca7d62c6ea1680ec0a1861083669596547fdd6f'/>
<id>urn:sha1:7ca7d62c6ea1680ec0a1861083669596547fdd6f</id>
<content type='text'>
Summary: PR44149

Reviewers: jdoerfert

Subscribers: mehdi_amini, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70737
</content>
</entry>
<entry>
<title>Revert "Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there.""</title>
<updated>2019-11-27T04:28:52+00:00</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@gmail.com</email>
</author>
<published>2019-11-27T04:28:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fd39b1bb20cec32c310ae9b6f1b4603c17a5f832'/>
<id>urn:sha1:fd39b1bb20cec32c310ae9b6f1b4603c17a5f832</id>
<content type='text'>
This reapplies: 8ff85ed905a7306977d07a5cd67ab4d5a56fafb4

Original commit message:

As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there.

This change doesn't include any change to move from selection dag to fast isel
and that will come with other numbers that should help inform that decision.
There also haven't been any real debuggability studies with this pipeline yet,
this is just the initial start done so that people could see it and we could start
tweaking after.

Test updates: Outside of the newpm tests most of the updates are coming from either
optimization passes not run anymore (and without a compelling argument at the moment)
that were largely used for canonicalization in clang.

Original post:

http://lists.llvm.org/pipermail/llvm-dev/2019-April/131494.html

Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65410

This reverts commit c9ddb02659e3ece7a0d9d6b4dac7ceea4ae46e6d.
</content>
</entry>
<entry>
<title>Revert "As a follow-up to my initial mail to llvm-dev here's a first pass at the O1 described there."</title>
<updated>2019-11-26T04:32:13+00:00</updated>
<author>
<name>Muhammad Omair Javaid</name>
<email>omair.javaid@linaro.org</email>
</author>
<published>2019-11-26T04:32:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c9ddb02659e3ece7a0d9d6b4dac7ceea4ae46e6d'/>
<id>urn:sha1:c9ddb02659e3ece7a0d9d6b4dac7ceea4ae46e6d</id>
<content type='text'>
This reverts commit 8ff85ed905a7306977d07a5cd67ab4d5a56fafb4.

This commit introduced 9 new failures on lldb buildbot host at http://lab.llvm.org:8014/builders/lldb-aarch64-ubuntu

Following tests were failing:
    lldb-api :: functionalities/tail_call_frames/ambiguous_tail_call_seq1/TestAmbiguousTailCallSeq1.py
    lldb-api :: functionalities/tail_call_frames/ambiguous_tail_call_seq2/TestAmbiguousTailCallSeq2.py
    lldb-api :: functionalities/tail_call_frames/disambiguate_call_site/TestDisambiguateCallSite.py
    lldb-api :: functionalities/tail_call_frames/disambiguate_paths_to_common_sink/TestDisambiguatePathsToCommonSink.py
    lldb-api :: functionalities/tail_call_frames/disambiguate_tail_call_seq/TestDisambiguateTailCallSeq.py
    lldb-api :: functionalities/tail_call_frames/inlining_and_tail_calls/TestInliningAndTailCalls.py
    lldb-api :: functionalities/tail_call_frames/sbapi_support/TestTailCallFrameSBAPI.py
    lldb-api :: functionalities/tail_call_frames/thread_step_out_message/TestArtificialFrameStepOutMessage.py
    lldb-api :: functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py
    lldb-api :: functionalities/tail_call_frames/unambiguous_sequence/TestUnambiguousTailCalls.py

Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65410
</content>
</entry>
</feed>
