[llvm] r289755 - Make processing @llvm.assume more efficient by using operand bundles

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 08:19:34 PST 2016


On Mon, Dec 19, 2016 at 12:21 AM, Chandler Carruth via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> I spent some time looking at this.
>
> Hal, I think we need to revert all of this. =[
>
> The operand bundle thing solves a very real issue in InstCombine and
> ValueTracking but it makes the inline cost computation superlinear. I'm
> actually amazed we didn't see this sooner.
>

Sorry to deliver bad news, but, FYI, this also has a very negative
impact on CVP/LVI, and it seems to be responsible for some of the
regressions (but, unfortunately not all of them) I've reported in my
llvm-dev thread (subject: llvm is getting slower).
In particular, with this patch in `opt -O2` compile-time increases
substantially.

   2.8784 ( 11.4%)   0.1255 ( 19.6%)   3.0039 ( 11.6%)   2.9973 (
11.5%)  Value Propagation
to
  74.4273 ( 76.4%)   0.1218 ( 20.9%)  74.5491 ( 76.1%)  74.5410 (
76.1%)  Value Propagation

And it's really a pity because this patch actually made InstCombine
better in some cases.
If you decide to reland this, feel free to cc: me and I'll try to do
some more testing/profiling as needed (after the christmas break).

Thanks!

-- 
Davide

"There are no solved problems; there are only problems that are more
or less solved" -- Henri Poincare


More information about the llvm-commits mailing list