[all-commits] [llvm/llvm-project] 1a3428: [NFC][Reassociate] Add patterns where `or` is part...
Roman Lebedev via All-commits
all-commits at lists.llvm.org
Wed Nov 18 06:55:48 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 1a3428163d97d7322e330d518d017fee80240e69
https://github.com/llvm/llvm-project/commit/1a3428163d97d7322e330d518d017fee80240e69
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2020-11-18 (Wed, 18 Nov 2020)
Changed paths:
A llvm/test/Transforms/Reassociate/load-combine-like-or.ll
Log Message:
-----------
[NFC][Reassociate] Add patterns where `or` is part of load reduction idiom
As Wei Mi is reporting in post-commit review:
https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20201116/853479.html
teaching -reassociate about add-like-or's (70472f3) results in breaking apart
load widening patterns, and reassociating them.
While that's great, it prevents the actual load widening in backend,
and that is not good. We should have load widening in middle-end,
but for now we should at least not regress the naive patterns..
Commit: 34ff90ad5d7d17a464bff9abbad70229c693a551
https://github.com/llvm/llvm-project/commit/34ff90ad5d7d17a464bff9abbad70229c693a551
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2020-11-18 (Wed, 18 Nov 2020)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/load-combine-like-or.ll
Log Message:
-----------
[Reassociate] Don't convert add-like-or's into add's if they appear to be part of load-combining idiom
As Wei Mi is reporting in post-commit review
https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20201116/853479.html
teaching -reassociate about add-like-or's (70472f3) results in breaking apart
load widening patterns, and reassociating them.
For now, simply exclude any such `or` that appears to be a root of
load widening idiom from the or->add transformation.
Note that the heuristic is greedy, it doesn't ensure that loads
can *actually* be widened into a single load.
Compare: https://github.com/llvm/llvm-project/compare/bd4662cd3f37...34ff90ad5d7d
More information about the All-commits
mailing list