1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test
Jeremy Morse 7a8e30eba0 [DebugInfo][InstrRef][1/4] Support transformations that widen values
Very late in compilation, backends like X86 will perform optimisations like
this:

    $cx = MOV16rm $rax, ...
    ->
    $rcx = MOV64rm $rax, ...

Widening the load from 16 bits to 64 bits. SEeing how the lower 16 bits
remain the same, this doesn't affect execution. However, any debug
instruction reference to the defined operand now refers to a 64 bit value,
nto a 16 bit one, which might be unexpected. Elsewhere in codegen, there's
often this pattern:

    CALL64pcrel32 @foo, implicit-def $rax
    %0:gr64 = COPY $rax
    %1:gr32 = COPY %0.sub_32bit

Where we want to refer to the definition of $eax by the call, but don't
want to refer the copies (they don't define values in the way
LiveDebugValues sees it). To solve this, add a subregister field to the
existing "substitutions" facility, so that we can describe a field within
a larger value definition. I would imagine that this would be used most
often when a value is widened, and we need to refer to the original,
narrower definition.

Differential Revision: https://reviews.llvm.org/D88891
2021-07-01 11:19:27 +01:00
..
Analysis [BasicAA] Use separate scale variable for GCD. 2021-06-30 20:04:39 +01:00
Assembler [OpaquePtr][BitcodeWriter] Handle attributes with types 2021-06-29 14:47:29 -07:00
Bindings
Bitcode [DebugInfo] Enforce implicit constraints on distinct MDNodes 2021-06-28 21:20:04 +00:00
BugPoint
CodeGen [PowerPC] add a testcase for byval parameter; NFC 2021-07-01 09:42:12 +00:00
DebugInfo [DebugInfo][InstrRef][1/4] Support transformations that widen values 2021-07-01 11:19:27 +01:00
Demangle [Demangle][Rust] Parse dot suffix 2021-06-18 09:29:45 +02:00
Examples [Orc] Run the examples as part of the tests 2021-06-30 21:45:16 +02:00
ExecutionEngine [JITLink][ELF] Move ELF section and symbol parsing into ELFLinkGraphBuilder. 2021-06-29 09:59:49 +10:00
Feature
FileCheck
Instrumentation [dfsan] Expose dfsan_get_track_origins to get origin tracking status 2021-06-29 20:32:39 +00:00
Integer
JitListener
Linker [IR] convert warn-stack-size from module flag to fn attr 2021-06-21 15:09:25 -07:00
LTO LTO: Export functions referenced by non-canonical CFI jump tables 2021-06-08 14:57:43 -07:00
MachineVerifier CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
MC [ARMInstPrinter] Print the target address of a branch instruction 2021-06-30 16:35:28 +07:00
Object [AMDGPU] Add gfx1035 target 2021-06-24 14:32:41 -04:00
ObjectYAML [WebAssembly] Rename event to tag 2021-06-17 20:34:19 -07:00
Other [Test] Regenerate test checks (NFC) 2021-06-29 23:44:56 +02:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Allow identical MnemonicAliases with no predicate 2021-06-30 10:53:39 +01:00
ThinLTO/X86 [LTO] Support new PM in ThinLTOCodeGenerator. 2021-06-09 10:05:14 +01:00
tools [llvm-objdump/mac] Print symbols at the same address deterministically 2021-06-30 22:38:07 -04:00
Transforms [Coroutine] Recommit Add statistics for the number of elided coroutine 2021-07-01 11:01:28 +08:00
Unit
Verifier [ObjC][ARC] Ignore operand bundle "clang.arc.attachedcall" on a call if 2021-06-28 11:02:30 -07:00
YAMLParser
.clang-format
CMakeLists.txt [Orc] Run the examples as part of the tests 2021-06-30 21:45:16 +02:00
lit.cfg.py [Orc] Run the examples as part of the tests 2021-06-30 21:45:16 +02:00
lit.site.cfg.py.in Make lit configs relocatable again after c747b7d1d9a 2021-06-22 15:27:32 -04:00
TestRunner.sh