[PATCH] D87972: [OldPM] Pass manager: run SROA after (simple) loop unrolling

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 19 11:25:06 PDT 2020


lebedev.ri created this revision.
lebedev.ri added reviewers: fhahn, rampitec, arsenm, MaskRay.
lebedev.ri added a project: LLVM.
Herald added subscribers: nikic, kerbowa, zzheng, hiraditya, nhaehnle, jvesely.
lebedev.ri requested review of this revision.
Herald added a subscriber: wdng.

I have stumbled into this pretty accidentally, when rewriting some spaghetti-like code
into something more structured, which involved using some `std::arrays`.
And to my surprise, the `alloca`s remained, causing about `+160%` perf regression.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D87972

Files:
  llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/test/Other/opt-O2-pipeline.ll
  llvm/test/Other/opt-O3-pipeline-enable-matrix.ll
  llvm/test/Other/opt-O3-pipeline.ll
  llvm/test/Other/opt-Os-pipeline.ll
  llvm/test/Transforms/PhaseOrdering/X86/SROA-after-loop-unrolling.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87972.292980.patch
Type: text/x-patch
Size: 8578 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200919/f4f538a1/attachment.bin>


More information about the llvm-commits mailing list