1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test
Kyle Butt 77f7a2b7a8 Codegen: [PPC] Fix PPCVSXFMAMutate to handle duplicates.
The purpose of PPCVSXFMAMutate is to elide copies by changing FMA forms
on PPC.

    %vreg6<def> = COPY %vreg96
    %vreg6<def,tied1> = XSMADDASP %vreg6<tied0>, %vreg5<kill>, %vreg7
    ;v6 = v6 + v5 * v7

is replaced by

    %vreg5<def,tied1> = XSMADDMSP %vreg5<tied0>, %vreg7, %vreg96
    ;v5 = v5 * v7 + v96

This was broken in the case where the target register was also used as a
multiplicand. Fix this case by checking for it and replacing both uses
with the copied register.

    %vreg6<def> = COPY %vreg96
    %vreg6<def,tied1> = XSMADDASP %vreg6<tied0>, %vreg5<kill>, %vreg6
    ;v6 = v6 + v5 * v6

is replaced by

    %vreg5<def,tied1> = XSMADDMSP %vreg5<tied0>, %vreg96, %vreg96
    ;v5 = v5 * v96 + v96

llvm-svn: 259617
2016-02-03 01:41:09 +00:00
..
Analysis [LCG] Build an edge abstraction for the LazyCallGraph and use it to 2016-02-02 03:57:13 +00:00
Assembler Fix constant folding of constant vector GEPs with undef or null as pointer argument. 2016-01-19 16:34:31 +00:00
Bindings
Bitcode Add test for PR26419 (stable function summary ordering) 2016-02-01 23:26:30 +00:00
BugPoint
CodeGen Codegen: [PPC] Fix PPCVSXFMAMutate to handle duplicates. 2016-02-03 01:41:09 +00:00
DebugInfo [codeview] Improve readability of codeview assembly output 2016-02-02 23:18:23 +00:00
Examples
ExecutionEngine [RuntimeDyld][MachO] Fix handling of empty eh-frame sections. 2016-01-28 22:35:48 +00:00
Feature MachineScheduler: Honor optnone functions in the pre-ra scheduler. 2016-01-20 22:38:25 +00:00
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker Add a test for r258362. 2016-02-01 19:56:12 +00:00
LTO
MC [codeview] Correctly handle inlining functions post-dominated by unreachable 2016-02-02 19:22:34 +00:00
Object Fix identify_magic() to check that a file that starts with MH_MAGIC is 2016-01-26 23:43:37 +00:00
Other
SymbolRewriter
TableGen [llvm-tblgen] Stop emitting the intrinsic name matching code 2016-01-26 23:01:21 +00:00
tools Correct size calculations for ELF files 2016-02-02 21:41:49 +00:00
Transforms [LoopVersioning] Expose loop versioning as a pass too 2016-02-03 00:06:10 +00:00
Unit
Verifier Add a "gc-transition" operand bundle 2016-01-20 19:50:25 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh