llvm-project/llvm/test
Mikael Holmen 6c062b7641 [RegisterCoalescing] Don't move COPY if it would interfere with another value
Summary:
RegisterCoalescer::removePartialRedundancy tries to hoist B = A from
BB0/BB2 to BB1:

  BB1:
       ...
  BB0/BB2:  ----
       B = A;   |
       ...      |
       A = B;   |
         |-------
         |

It does so if a number of conditions are fulfilled. However, it failed
to check if B was used by any of the terminators in BB1. Since we must
insert B = A before the terminators (since it's not a terminator itself),
this means that we could erroneously insert a new definition of B before a
use of it.

Reviewers: wmi, qcolombet

Reviewed By: wmi

Subscribers: MatzeB, llvm-commits, sdardis

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

llvm-svn: 328689
2018-03-28 06:01:30 +00:00
..
Analysis [SCEV] Make exact taken count calculation more optimistic 2018-03-27 07:30:38 +00:00
Assembler Make the LLParser accept call instructions of variables in the program AS 2018-02-27 11:15:11 +00:00
Bindings Fix go bindings test when using goma distributed build tool 2018-03-26 20:19:14 +00:00
Bitcode Refactor check for dllimport in the Verifier. 2018-03-06 17:19:23 +00:00
BugPoint
CodeGen [RegisterCoalescing] Don't move COPY if it would interfere with another value 2018-03-28 06:01:30 +00:00
DebugInfo AMDGPU: Really implement getFrameRegister 2018-03-27 23:26:59 +00:00
Examples
ExecutionEngine [RuntimeDyld][MachO] Fix assertion in encodeAddend, add missing directive to 2018-03-01 01:44:33 +00:00
Feature Remove the LoopInstSimplify pass (-loop-instsimplify) 2018-03-12 20:49:42 +00:00
FileCheck
Instrumentation [HWASan] Port HWASan to Linux x86-64 (LLVM) 2018-03-23 17:57:54 +00:00
Integer
JitListener
LTO Object: Fix handling of @@@ in .symver directive 2018-03-20 00:45:03 +00:00
Linker [DebugInfo] Add remaining files to r325970 2018-02-23 23:13:18 +00:00
MC Reapply "[DWARFv5] Emit file 0 to the line table." 2018-03-27 22:40:34 +00:00
Object [WebAssembly] Reorder reloc sections to come between symtab and name 2018-03-05 12:59:03 +00:00
ObjectYAML [WebAssembly] Disallow weak undefined globals in the object format 2018-03-09 16:30:44 +00:00
Other [PM][FunctionAttrs] add NoUnwind attribute inference to PostOrderFunctionAttrs pass 2018-03-23 21:46:16 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen TableGen: Streamline how defs are instantiated 2018-03-21 17:12:53 +00:00
ThinLTO/X86 [ThinLTO] Clear dllimport when setting dso_local. 2018-03-13 15:24:51 +00:00
Transforms [PGO] Fix branch probability remarks assert 2018-03-27 18:55:56 +00:00
Unit
Verifier [DebugInfo] Add verifier for DICompositeType vector 2018-03-08 19:31:37 +00:00
YAMLParser
tools [DWARF][DWARF v5]: Adding support for dumping DW_RLE_offset_pair and DW_RLE_base_address 2018-03-27 20:27:36 +00:00
.clang-format
CMakeLists.txt [dsymutil] Rename llvm-dsymutil -> dsymutil 2018-03-18 11:38:41 +00:00
TestRunner.sh
lit.cfg.py [dsymutil] Rename llvm-dsymutil -> dsymutil 2018-03-18 11:38:41 +00:00
lit.site.cfg.py.in