llvm-project/llvm/lib
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
..
Analysis Add handling of !invariant.load to PropagateMetadata. 2016-09-11 01:39:08 +00:00
AsmParser DebugInfo: use strongly typed enum for debug info flags 2016-09-06 10:46:28 +00:00
Bitcode Formatting with clang-format patch r280700 2016-09-06 17:03:02 +00:00
CodeGen GlobalISel: disambiguate types when printing MIR 2016-09-12 11:20:10 +00:00
DebugInfo [pdb] Print out some more info when dumping a raw stream. 2016-09-09 19:00:49 +00:00
Demangle Avoid using alignas and constexpr. 2016-09-06 20:36:24 +00:00
ExecutionEngine [ORC] Clone module flags metadata into the globals module in the 2016-09-04 17:53:30 +00:00
Fuzzer [libFuzzer] print a failed-merge warning only in the merge mode 2016-09-10 02:17:22 +00:00
IR It should also be legal to pass a swifterror parameter to a call as a swifterror 2016-09-10 19:42:53 +00:00
IRReader
LTO [lib/LTO] Add a way to run a custom pipeline 2016-09-07 17:46:16 +00:00
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker Fix ThinLTO crash with debug info 2016-09-03 21:12:33 +00:00
MC MC: Move MCSection::begin/end to header, NFC 2016-09-12 00:17:09 +00:00
Object Next set of additional error checks for invalid Mach-O files for bad load commands 2016-08-31 17:57:46 +00:00
ObjectYAML [macho2yaml] Don't write empty linkedit data 2016-08-17 21:46:04 +00:00
Option Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
Passes [EarlyCSE] Optionally use MemorySSA. NFC. 2016-08-31 19:24:10 +00:00
ProfileData [Coverage] Make sorting criteria for CounterMappingRegions local. 2016-08-31 07:01:17 +00:00
Support ADT: Add AllocatorList, and use it for yaml::Token 2016-09-11 22:40:40 +00:00
TableGen Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. 2016-08-23 17:14:32 +00:00
Target Fix WebAssembly broken build related to interface change in r281172. 2016-09-12 09:35:59 +00:00
Transforms [InstCombine] add helper function for folding {and,or,xor} (cast X), C ; NFCI 2016-09-12 00:16:23 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00