llvm-6502/lib
Hal Finkel ba51ae6864 [PowerPC] Support non-direct-sub/superclass VSX copies
Our register allocation has become better recently, it seems, and is now
starting to generate cross-block copies into inflated register classes. These
copies are not transformed into subregister insertions/extractions by the
PPCVSXCopy class, and so need to be handled directly by
PPCInstrInfo::copyPhysReg. The code to do this was *almost* there, but not
quite (it was unnecessarily restricting itself to only the direct
sub/super-register-class case (not copying between, for example, something in
VRRC and the lower-half of VSRC which are super-registers of F8RC).

Triggering this behavior manually is difficult; I'm including two
bugpoint-reduced test cases from the test suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229457 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-16 23:46:30 +00:00
..
Analysis Revert 229175 2015-02-15 19:07:31 +00:00
AsmParser AsmParser: extractvalue requires at least one index operand 2015-02-16 09:18:13 +00:00
Bitcode Bitcode: Fix major regression: large files w/ debug info 2015-02-16 19:18:01 +00:00
CodeGen RegisterCoalescer: Don't rematerialize subregister definitions. 2015-02-16 22:05:17 +00:00
DebugInfo llvm-pdbdump: Add flags controlling the type of values to dump. 2015-02-15 20:27:53 +00:00
ExecutionEngine [ExecutionEngine] Fix dependence issue by moving RTDyldMemoryManager into 2015-02-15 23:22:43 +00:00
Fuzzer [fuzzer] move default sanitizer options to a separate file 2015-02-06 19:52:07 +00:00
IR [X86] Remove the multiply by 8 that goes into the shift constant for X86ISD::VSHLDQ and X86ISD::VSRLDQ. This simplifies the pattern matching in isel and allows these nodes to become the patterns embedded in the instruction. 2015-02-16 20:52:07 +00:00
IRReader Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker [LinkModules] Change the way ModuleLinker merges triples. 2015-02-13 00:40:41 +00:00
LTO [PM] Remove the old 'PassManager.h' header file at the top level of 2015-02-13 10:01:29 +00:00
MC Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
Object Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Option Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
ProfileData Revert "InstrProf: Add unit tests for the profile reader and writer" 2015-02-16 23:31:07 +00:00
Support We require MSVC 1800 as our minimum, so these checks can safely go away; NFC. 2015-02-16 18:23:00 +00:00
TableGen MSVC 2013 does not ICE on this code in the same fashion that MSVC 2012 did; NFC. 2015-02-16 19:33:36 +00:00
Target [PowerPC] Support non-direct-sub/superclass VSX copies 2015-02-16 23:46:30 +00:00
Transforms InstCombine: fold more cases of (fp_to_u/sint (u/sint_to_fp val)) 2015-02-16 21:47:54 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile