llvm-project/llvm
Tim Northover d28d3cc079 GlobalISel: disambiguate types when printing MIR
Some generic instructions have multiple types. While in theory these always be
discovered by inspecting the single definition of each generic vreg, in
practice those definitions won't always be local and traipsing through a big
function to find them will not be fun.

So this changes MIRPrinter to print out the type of uses as well as defs, if
they're known to be different or not known to be the same.

On the parsing side, we're a little more flexible: provided each register is
given a type in at least one place it's mentioned (and all types are
consistent) we accept the MIR. This doesn't introduce ambiguity but makes
writing tests manually a bit less painful.

llvm-svn: 281204
2016-09-12 11:20:10 +00:00
..
bindings Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
cmake [cmake] Fix a stale comment from an earlier version of r281085. NFC. 2016-09-09 19:48:22 +00:00
docs It should also be legal to pass a swifterror parameter to a call as a swifterror 2016-09-10 19:42:53 +00:00
examples [ORC] Update examples for header changes in r281171. 2016-09-11 21:34:13 +00:00
include MC: Move MCSection::begin/end to header, NFC 2016-09-12 00:17:09 +00:00
lib GlobalISel: disambiguate types when printing MIR 2016-09-12 11:20:10 +00:00
projects Enable in-tree builds of parallel-libs. 2016-09-09 21:34:12 +00:00
resources
runtimes [CMake] Connecting check-all and test-depends targets correctly 2016-09-01 18:26:01 +00:00
test GlobalISel: disambiguate types when printing MIR 2016-09-12 11:20:10 +00:00
tools [ORC] Rename RPCChannel to RPCByteChannel. NFC. 2016-09-11 18:41:05 +00:00
unittests ADT: Never allocate nodes in iplist<> and ilist<> 2016-09-11 23:43:43 +00:00
utils [cmake] Export gtest/gtest_main and its dependencies via a special build tree only cmake exports file. 2016-09-09 19:45:34 +00:00
.arcconfig
.clang-format
.clang-tidy .clang-tidy: parameters and members should be CamelCased. 2016-09-08 23:29:37 +00:00
.gitignore gitignore: ignore VS Code editor files 2016-09-02 22:54:26 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
CODE_OWNERS.TXT CODE_OWNERS: bring my entry up to date 2016-09-05 17:42:46 +00:00
CREDITS.TXT Shamelessly add myself to CREDITS.TXT 2016-08-04 16:28:22 +00:00
LICENSE.TXT Remove autoconf references from LICENSE.TXT 2016-08-12 20:11:03 +00:00
LLVMBuild.txt
README.txt Revert rL277454 2016-08-02 13:26:07 +00:00
RELEASE_TESTERS.TXT Adding RELEASE_TESTERS.TXT 2016-07-21 16:46:44 +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.