llvm-6502/lib
Bill Schmidt 397fac95d5 [PPC64LE] Remove implicit-subreg restriction from VSX swap removal
In r241285, I removed the SUBREG_TO_REG restriction from VSX swap
removal, determining that this was overly conservative.  We have
another form of the same restriction in that we check for the presence
of implicit subregs in vector operations.  As with SUBREG_TO_REG for
partial register conversions, an implicit subreg is safe in and of
itself, provided no other operation makes a lane-sensitive assumption
about the result.  This patch removes that restriction, by removing
the HasImplicitSubreg flag and all code that relies on it.

I've added a test case that fails to optimize before this patch is
applied, and optimizes properly with the patch.  Test based on a
report from Anton Blanchard.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241290 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-02 19:01:22 +00:00
..
Analysis Delete whitespace at start of line. 2015-07-02 14:17:12 +00:00
AsmParser Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
Bitcode Fix for PR23310: llvm-dis crashes when trying to upgrade an intrinsic. 2015-07-02 16:22:40 +00:00
CodeGen Reapply r240291: Fix shl folding in DAG combiner. 2015-07-02 11:44:54 +00:00
DebugInfo Don't return error_code from a function that doesn't fail. 2015-06-30 04:08:37 +00:00
ExecutionEngine Use ErrorOr in getRelocationAdress. 2015-06-30 20:32:26 +00:00
Fuzzer
IR Fix a fixme and make DICompileUnit a distinct node. Tested via clang. 2015-06-30 18:32:18 +00:00
IRReader
LibDriver
LineEditor
Linker
LTO Teach LTOModule to emit linker flags for dllexported symbols, plus interface cleanup. 2015-06-29 22:04:09 +00:00
MC Convert a member variable to a local one. 2015-07-02 16:59:57 +00:00
Object Return ErrorOr from getSection. 2015-07-01 12:56:27 +00:00
Option
Passes
ProfileData
Support [Support] Lazy load of dbghlp.dll on Windows 2015-07-02 14:34:57 +00:00
TableGen
Target [PPC64LE] Remove implicit-subreg restriction from VSX swap removal 2015-07-02 19:01:22 +00:00
Transforms Remove whitespace from start of line, NFC. 2015-07-02 14:25:09 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile