[PATCH] D146811: [LSR] Preserve LCSSA when rewriting instruction with PHI user

Sam Tebbs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 11 07:38:53 PDT 2023


samtebbs added a comment.

The mve-float-loops.ll change that was added after the review is a performance regression because of the extra mov instruction. The mov comes from a copy that can't be merged because of "interference" in RegisterCoalescer.cpp.

  Considering merging to rGPR with %73 in %106
  RHS = %73 [384r,448r:0) 0 at 384r  weight:0.000000e+00
  LHS = %106 [192r,240B:0)[240B,432r:3)[448r,896B:4)[896B,1008r:5)[1312r,1504B:1)[1616r,2096B:2) 0 at 192r 1 at 1312r 2 at 1616r 3 at 240B-phi 4 at 448r 5 at 896B-phi  weight:0.000000e+00
  merge %106:4 at 448r into %73:0 at 384r --> @384r
  interference at %73:0 at 384r
  Interference!

Do you think you'd be able to fix that in this patch or a follow-up?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146811/new/

https://reviews.llvm.org/D146811



More information about the llvm-commits mailing list