1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/include/llvm
Tom Stellard 47e2407968 GlobalISel: Use a callback to compute constrained reg class for unallocatble registers
Summary:
constrainOperandRegClass() currently fails if it tries to constrain the
register class of an operand that is defeined with an unallocatable register
class.  This patch resolves this by adding a target callback to compute
register constriants in this case.

This is required by the AMDGPU because many of its instructions have source opreands
defined with the unallocatable register classe VS_32 which is a union of two allocatable
register classes VGPR_32 and SReg_32.

Reviewers: dsanders, aditya_nandakumar

Reviewed By: aditya_nandakumar

Subscribers: rovka, kristof.beyls, tpr, llvm-commits

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

llvm-svn: 331485
2018-05-03 21:44:16 +00:00
..
ADT Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
Analysis Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
AsmParser Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
BinaryFormat AMDGPU/NFC: Use enum values for first/last machs instead of numbers 2018-05-01 16:34:29 +00:00
Bitcode Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
CodeGen GlobalISel: Use a callback to compute constrained reg class for unallocatble registers 2018-05-03 21:44:16 +00:00
Config Stop setting LLVM_ON_WIN32 in config.h and llvm-config.h. 2018-04-30 20:19:48 +00:00
DebugInfo Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Demangle Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ExecutionEngine Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
FuzzMutate [llvm-opt-fuzzer] Avoid adding incorrect inputs to the fuzzer corpus 2018-02-05 11:05:47 +00:00
IR Rename invariant.group.barrier to launder.invariant.group 2018-05-03 11:03:01 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LineEditor
Linker Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
LTO [LTO] Add stats-file option to LTO/Config.h. 2018-04-20 10:18:36 +00:00
MC [MC] Factor MCObjectStreamer::addFragmentAtoms out of MachO streamer. 2018-05-02 23:01:10 +00:00
Object [WebAssembly] Fix debug printing of symbol types 2018-05-01 23:28:27 +00:00
ObjectYAML Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Option Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Passes Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
ProfileData Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Support Support: assume std::is_final with MSVC 2018-05-01 16:46:05 +00:00
TableGen Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Target Remove \brief commands from doxygen comments. 2018-05-01 15:54:18 +00:00
Testing/Support [Testing/Support] Make Failed() matcher work with abstract error types 2018-04-10 14:11:53 +00:00
ToolDrivers llvm: add llvm-dlltool support to the archiver 2017-07-18 21:26:38 +00:00
Transforms [reassociate] Fix excessive revisits when processing long chains of reassociatable instructions. 2018-05-02 17:59:16 +00:00
WindowsManifest Fix bug 34608 by moving private header out of public header. 2017-09-14 23:01:13 +00:00
WindowsResource [llvm-readobj] Teach readobj to dump .res files (WindowsResource). 2017-09-20 18:33:35 +00:00
XRay XRayRecord.h: Add missing #include 2017-11-21 00:23:19 +00:00
CMakeLists.txt
InitializePasses.h [LoopGuardWidening] Split out a loop pass version of GuardWidening 2018-04-27 17:29:10 +00:00
LinkAllIR.h Sink some IntrinsicInst.h and Intrinsics.h out of llvm/include 2017-09-07 23:27:44 +00:00
LinkAllPasses.h [LoopGuardWidening] Split out a loop pass version of GuardWidening 2018-04-27 17:29:10 +00:00
module.modulemap Rename *CommandFlags.def to *CommandFlags.inc 2018-04-11 18:49:37 +00:00
module.modulemap.build [Modules] Add module for Config/llvm-config.h 2017-10-24 06:18:52 +00:00
Pass.h Remove @brief commands from doxygen comments, too. 2018-05-01 16:10:38 +00:00
PassAnalysisSupport.h [NFC] fix trivial typos in comments 2018-01-23 05:49:30 +00:00
PassInfo.h [Pass] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-06 23:05:38 +00:00
PassRegistry.h [Pass] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-06 23:05:38 +00:00
PassSupport.h [Pass] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-09-06 23:05:38 +00:00