1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib
Jonas Paulsson 92dfdbb7d5 [SystemZ] Copy Access registers and CC with the correct register class.
On SystemZ there are a set of "access registers" that can be copied in and
out of 32-bit GPRs with special instructions. These instructions can only
perform the copy using low 32-bit parts of the 64-bit GPRs. However, the
default register class for 32-bit integers is GRX32, which also contains the
high 32-bit part registers.

In order to never end up with a case of such a COPY into a high reg, this
patch adds a new simple pre-RA pass that selects such COPYs into target
instructions.

This pass also handles COPYs from CC (Condition Code register), and COPYs to
CC can now also be emitted from a high reg in copyPhysReg().

Fixes: https://bugs.llvm.org/show_bug.cgi?id=44254

Review: Ulrich Weigand.

Differential Revision: https://reviews.llvm.org/D75014
2020-03-03 16:41:09 +01:00
..
Analysis Revert "[LoopNest]: Analysis to discover properties of a loop nest." 2020-03-03 14:07:49 +00:00
AsmParser Revert "Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP"" 2020-03-02 14:02:13 -08:00
BinaryFormat Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
Bitcode Reland "[DebugInfo][clang][DWARF5]: Added support for debuginfo generation for defaulted parameters 2020-03-02 16:45:48 +05:30
Bitstream Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeGen [RDA][ARM] collectKilledOperands across multiple blocks 2020-03-03 15:23:05 +00:00
DebugInfo DebugInfo: Separate different debug_macinfo contributions & print the offset of a contribution 2020-03-02 19:30:30 -08:00
Demangle Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
DWARFLinker [DWARFLinker][NFC] Remove usages of "const object::ObjectFile" from DWARFLinker. 2020-02-28 13:26:22 +03:00
ExecutionEngine Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
Frontend [NFC] Revert unnecessary parts of b91c267380 2020-02-15 01:38:58 -06:00
Fuzzer
FuzzMutate Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
IR Revert "Restore "[WPD/LowerTypeTests] Delay lowering/removal of type tests until after ICP"" 2020-03-02 14:02:13 -08:00
IRReader
LineEditor Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Linker IR Linking: Support merging Warning+Max module metadata flags 2020-02-07 16:29:58 -08:00
LTO [LTO] onfig::addSaveTemps: clear ResolutionFile upon an error 2020-03-02 17:49:04 -08:00
MC [AIX][XCOFF] Fix XCOFFObjectWriter assertion failure with alignment-related gap and improve text section output testing 2020-03-03 10:02:40 -05:00
MCA Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Object [NFC] Fix typo in error message 2020-02-24 18:22:05 +01:00
ObjectYAML [yaml2obj] - Address post commit comments for D74764 2020-02-25 13:26:46 +03:00
Option Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Passes Revert "[LoopNest]: Analysis to discover properties of a loop nest." 2020-03-03 14:07:49 +00:00
ProfileData [Coverage] Collect all function records in an object (D69471 followup) 2020-03-02 12:01:09 -08:00
Remarks Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Support Revert abb00753 "build: reduce CMake handling for zlib" (PR44780) 2020-03-03 11:03:09 +01:00
TableGen Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
Target [SystemZ] Copy Access registers and CC with the correct register class. 2020-03-03 16:41:09 +01:00
Testing
TextAPI [llvm][MachO] fix adding weak def syms 2020-03-02 17:00:24 -08:00
ToolDrivers [llvm] Replace SmallStr.str().str() with std::string conversion operator. 2020-01-29 21:16:46 -08:00
Transforms [AssumeBundles] Add API to fill a map from operand bundles of an llvm.assume. 2020-03-03 14:22:52 +01:00
WindowsManifest Try to fix WindowsManifest CMake logic on Windows 2020-02-28 17:24:03 -08:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt
LLVMBuild.txt