llvm-project/llvm/test
Roger Ferrer Ibanez aea4208720 [ARM] Allow the scheduler to clone a node with glue to avoid a copy CPSR ↔ GPR.
In Thumb 1, with the new ADDCARRY / SUBCARRY the scheduler may need to do
copies CPSR ↔ GPR but not all Thumb1 targets implement them.

The schedule can attempt, before attempting a copy, to clone the instructions
but it does not currently do that for nodes with input glue. In this patch we
introduce a target-hook to let the hook decide if a glued machinenode is still
eligible for copying. In this case these are ARM::tADCS and ARM::tSBCS .

As a follow-up of this change we should actually implement the copies for the
Thumb1 targets that do implement them and restrict the hook to the targets that
can't really do such copy as these clones are not ideal.

This change fixes PR35836.

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

llvm-svn: 323857
2018-01-31 09:23:43 +00:00
..
Analysis [ValueTracking] add recursion depth param to matchSelectPattern 2018-01-24 15:20:37 +00:00
Assembler LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
Bindings [LLVM-C] Add Accessors For A Module's Source File Name 2018-01-30 21:34:29 +00:00
Bitcode Add testcase accidentally left out from r323460. 2018-01-25 22:23:52 +00:00
BugPoint
CodeGen [ARM] Allow the scheduler to clone a node with glue to avoid a copy CPSR ↔ GPR. 2018-01-31 09:23:43 +00:00
DebugInfo [DWARF] Recommitting a test that was removed with r323564. Restricted to x86 linux target. 2018-01-30 18:41:31 +00:00
Examples
ExecutionEngine Don't try to run MCJIT/OrcJIT EH tests when C++ library is statically linked 2018-01-08 02:48:41 +00:00
Feature Mark two tests REQUIRES: x86-registered-backend 2018-01-31 07:32:03 +00:00
FileCheck [FileCheck] - Fix possible buffer out of bounds access when parsing --check-prefix. 2018-01-16 08:09:24 +00:00
Instrumentation [InstrProfiling] Don't exit early when an unused intrinsic is found 2018-01-27 00:01:04 +00:00
Integer
JitListener
LTO LTO: Drop comdats when converting definitions to declarations. 2018-01-31 02:51:03 +00:00
Linker [IRMover] Add comment and fix test case 2018-01-25 08:35:52 +00:00
MC AMDGPU/SI: Add decoding in the GFX80_UNPACKED decoding namespace. 2018-01-30 16:42:40 +00:00
Object Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
ObjectYAML [WebAssembly] Remove debug names from symbol table 2018-01-17 19:28:43 +00:00
Other Re-commit : [PowerPC] Add handling for ColdCC calling convention and a pass to mark 2018-01-30 16:17:22 +00:00
SafepointIRVerifier [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes 2017-12-25 09:35:10 +00:00
SymbolRewriter
TableGen [TableGen] Make sure !if is evaluated throughout class inheritance. 2018-01-30 19:29:21 +00:00
ThinLTO/X86 Teach ValueMapper to use ODR uniqued types when available 2018-01-30 20:16:32 +00:00
Transforms [SLP] Add extra test for extractelement shuffle, NFC. 2018-01-30 21:06:06 +00:00
Unit
Verifier [Metadata] Extend 'count' field of DISubrange to take a metadata node 2018-01-24 09:56:07 +00:00
YAMLParser
tools Mark two tests REQUIRES: x86-registered-backend 2018-01-31 07:32:03 +00:00
.clang-format
CMakeLists.txt
TestRunner.sh
lit.cfg.py Don't try to run MCJIT/OrcJIT EH tests when C++ library is statically linked 2018-01-08 02:48:41 +00:00
lit.site.cfg.py.in