1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test
Jeremy Morse 0dad0e2b4e [DebugInfo] Make postra sinking of DBG_VALUEs subregister-safe
Currently the machine instruction sinker identifies DBG_VALUE insts that
also need to sink by comparing register numbers. Unfortunately this isn't
safe, because (after register allocation) a DBG_VALUE may read a register
that aliases what's being sunk. To fix this, identify the DBG_VALUEs that
need to sink by recording & examining their register units. Register units
gives us the following guarantee:

  "Two registers overlap if and only if they have a common register unit"
  [MCRegisterInfo.h]

Thus we can always identify aliasing DBG_VALUEs if the set of register
units read by the DBG_VALUE, and the register units of the instruction
being sunk, intersect. (MachineSink already uses classes like
"LiveRegUnits" for determining sinking validity anyway).

The test added checks for super and subregister DBG_VALUE reads of a sunk
copy being sunk as well.

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

llvm-svn: 369247
2019-08-19 09:53:07 +00:00
..
Analysis [ARM] MVE sext costs 2019-08-19 09:13:22 +00:00
Assembler
Bindings Revert "Expose TailCallKind via the LLVM C API" 2019-08-15 03:49:51 +00:00
Bitcode [Intrinsics] Add a 'NoAlias' intrinsic property; annotate llvm.memcpy 2019-08-14 08:33:07 +00:00
BugPoint
CodeGen [ARM] Add support for MVE vaddv 2019-08-19 09:38:28 +00:00
DebugInfo [DebugInfo] Make postra sinking of DBG_VALUEs subregister-safe 2019-08-19 09:53:07 +00:00
Demangle
Examples
ExecutionEngine [ORC] Refactor definition-generation, add a generator for static libraries. 2019-08-13 16:05:18 +00:00
Feature
FileCheck [FileCheck] Move -dump-input diagnostic to first line 2019-08-14 02:56:09 +00:00
Instrumentation
Integer
JitListener
Linker
LTO [MC] Don't emit .symver redirected symbols to the symbol table 2019-08-19 06:17:30 +00:00
MachineVerifier [GlobalISel]: Fix lowering of G_SHUFFLE_VECTOR with scalar sources 2019-08-13 21:49:11 +00:00
MC [MC] Delete unnecessary diagnostic: "No relocation available to represent this relative expression" 2019-08-19 07:59:35 +00:00
Object Recommit r369190 "[llvm-readobj/llvm-readelf] - Improve/cleanup the error reporting API." 2019-08-17 16:07:18 +00:00
ObjectYAML
Other [BuildLibCalls] Noalias annotation 2019-08-14 16:50:06 +00:00
Reduce [Bugpoint redesign] Added Pass to Remove Global Variables 2019-08-15 22:54:09 +00:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen MVT: Add v3i16/v3f16 vectors 2019-08-15 18:58:25 +00:00
ThinLTO/X86 [NewPM][PassInstrumentation] Fix test added in r369024. 2019-08-15 23:24:14 +00:00
tools Revert r369230 and r369231 2019-08-19 06:45:48 +00:00
Transforms [NFC][InstCombine] Some tests for 'shift amount reassoc in bit test - trunc-of-lshr' (PR42399) 2019-08-17 21:35:33 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh