1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/test/CodeGen
Jatin Bhateja 84f0cdcd15 [X86] Improvement in CodeGen instruction selection for LEAs (re-applying post required revision changes.)
Summary:
   1/  Operand folding during complex pattern matching for LEAs has been
       extended, such that it promotes Scale to accommodate similar operand
       appearing in the DAG.
       e.g.
         T1 = A + B
         T2 = T1 + 10
         T3 = T2 + A
       For above DAG rooted at T3, X86AddressMode will no look like
         Base = B , Index = A , Scale = 2 , Disp = 10

   2/  During OptimizeLEAPass down the pipeline factorization is now performed over LEAs
       so that if there is an opportunity then complex LEAs (having 3 operands)
       could be factored out.
       e.g.
         leal 1(%rax,%rcx,1), %rdx
         leal 1(%rax,%rcx,2), %rcx
       will be factored as following
         leal 1(%rax,%rcx,1), %rdx
         leal (%rdx,%rcx)   , %edx

   3/ Aggressive operand folding for AM based selection for LEAs is sensitive to loops,
      thus avoiding creation of any complex LEAs within a loop.

Reviewers: lsaba, RKSimon, craig.topper, qcolombet, jmolloy

Reviewed By: lsaba

Subscribers: jmolloy, spatel, igorb, llvm-commits

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

llvm-svn: 314886
2017-10-04 09:02:10 +00:00
..
AArch64 [AArch64] Use LateSimplifyCFG after expanding atomic operations. 2017-10-03 22:39:24 +00:00
AMDGPU AMDGPU: Expand setcc for v2i32 and v4i32 2017-10-03 21:31:24 +00:00
ARC
ARM Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-10-03 16:59:13 +00:00
AVR [AVR] Fix the build after setting alignment to 1 in r314179 2017-09-26 02:07:54 +00:00
BPF bpf: add new insns for bswap_to_le and negation 2017-09-28 02:46:11 +00:00
Generic
Hexagon [Hexagon] Check vector elements for equivalence in the HexagonVectorLoopCarriedReuse pass 2017-10-02 00:34:07 +00:00
Inputs
Lanai
Mips Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-10-03 16:59:13 +00:00
MIR Recommit [UnreachableBlockElim] Use COPY if PHI input is undef 2017-10-04 07:42:45 +00:00
MSP430
Nios2
NVPTX [NVPTX] added match.{any,all}.sync instructions, intrinsics & builtins. 2017-09-26 17:07:23 +00:00
PowerPC Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-10-03 16:59:13 +00:00
SPARC Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-10-03 16:59:13 +00:00
SystemZ [SystemZ] implement shouldCoalesce() 2017-09-29 14:31:39 +00:00
Thumb Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-10-03 16:59:13 +00:00
Thumb2
WebAssembly
WinEH
X86 [X86] Improvement in CodeGen instruction selection for LEAs (re-applying post required revision changes.) 2017-10-04 09:02:10 +00:00
XCore