llvm-project/llvm
Adam Nemet a964066705 New OptimizationRemarkEmitter pass for MIR
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 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>.

Differential Revision: https://reviews.llvm.org/D29004

llvm-svn: 293110
2017-01-25 23:20:33 +00:00
..
bindings Fix go bindings after r289702 (hopefully, don't really know how to build 2016-12-15 06:54:29 +00:00
cmake cmake: Only sanitize use-after-scope if the host compiler supports it 2017-01-18 19:01:58 +00:00
docs LangRef: Document the allowed metadata dropping transforms. 2017-01-25 21:50:14 +00:00
examples BrainF example: fixing output buffering issue 2017-01-17 13:27:28 +00:00
include New OptimizationRemarkEmitter pass for MIR 2017-01-25 23:20:33 +00:00
lib New OptimizationRemarkEmitter pass for MIR 2017-01-25 23:20:33 +00:00
projects
resources
runtimes [CMake] Handle common options for runtimes build 2017-01-10 19:47:05 +00:00
test New OptimizationRemarkEmitter pass for MIR 2017-01-25 23:20:33 +00:00
tools New OptimizationRemarkEmitter pass for MIR 2017-01-25 23:20:33 +00:00
unittests Fix for r293104, which renamed a directory. 2017-01-25 22:48:57 +00:00
utils Reinstate "r292904 - [lit] Allow boolean expressions in REQUIRES and XFAIL 2017-01-25 02:26:03 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore [AVR] Add the integrated testing tool to the .gitignore 2016-12-14 11:47:14 +00:00
CMakeLists.txt Bump trunk version to 5.0.0svn 2017-01-12 21:22:36 +00:00
CODE_OWNERS.TXT
CREDITS.TXT Revert revision 289721. 2016-12-14 21:58:42 +00:00
LICENSE.TXT Bump year to 2017 in LICENSE.txt 2017-01-12 18:02:42 +00:00
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Update the release tester for MIPS. NFC. 2017-01-17 11:00:28 +00:00
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.