[PATCH] D29004: New OptimizationRemarkEmitter pass for MIR

Adam Nemet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jan 22 21:51:38 PST 2017


anemet created this revision.
Herald added subscribers: fhahn, mgorny, qcolombet.
Herald added a reviewer: javed.absar.

This allows MIR passes to emit optimization remarks with the same level
of functionality that is available to IR passes.

It also hooks up the greedy register allocator to report spills.  This
allows for things like interesting use cases like increasing
interleaving on a loop until spilling of registers is observed.

I still need to experiment whether reporting every spill scales but this
demonstrates for now that the functionality works from llc
using -pass-remarks*=<pass>.


https://reviews.llvm.org/D29004

Files:
  include/llvm/Analysis/OptimizationDiagnosticInfo.h
  include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
  include/llvm/IR/DiagnosticInfo.h
  include/llvm/InitializePasses.h
  lib/Analysis/OptimizationDiagnosticInfo.cpp
  lib/CodeGen/CMakeLists.txt
  lib/CodeGen/InlineSpiller.cpp
  lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
  lib/CodeGen/RegAllocGreedy.cpp
  lib/CodeGen/Spiller.h
  lib/IR/DiagnosticInfo.cpp
  test/CodeGen/AArch64/arm64-spill-remarks.ll
  tools/llc/llc.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29004.85321.patch
Type: text/x-patch
Size: 28068 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170123/8be6bf4b/attachment.bin>


More information about the llvm-commits mailing list