[PATCH] D94232: [LoopRotate] Add PrepareForLTO stage, avoid rotating with inline cands (WIP).

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 8 03:46:11 PST 2021


fhahn updated this revision to Diff 315338.
fhahn added a comment.

In D94232#2484727 <https://reviews.llvm.org/D94232#2484727>, @sanwou01 wrote:

> @fhahn I'm afraid I'm seeing runtime and verification errors on perlbench, gcc, gobmk, and astar in SPEC INT 2006. I'm guessing something later in the pipe really doesn't like it when certain loops aren't rotated?

Hmmm, I think it would be very surprising, if not rotating some loops would expose any serious mis-compiles in SPEC. When building with `-Oz` for example, hardly any loops are rotated.

What configuration are you using? I couldn't reproduce any SPEC2006 INT failures on either x86/ARM64 with -O3 -flto.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94232

Files:
  llvm/include/llvm/Analysis/CodeMetrics.h
  llvm/include/llvm/Transforms/Scalar.h
  llvm/include/llvm/Transforms/Scalar/LoopRotation.h
  llvm/include/llvm/Transforms/Utils/LoopRotationUtils.h
  llvm/lib/Analysis/CodeMetrics.cpp
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/lib/Transforms/Scalar/LoopRotation.cpp
  llvm/lib/Transforms/Utils/LoopRotationUtils.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94232.315338.patch
Type: text/x-patch
Size: 10818 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210108/817128bf/attachment.bin>


More information about the llvm-commits mailing list