1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/CodeGen
Craig Topper 2116458c40 [DAGCombiner] Call ExtendUsesToFormExtLoad in (zext (and (load)))->(and (zextload)) even when the and does not have multiple uses
Same for the sign extend case.

Currently we check for multiple uses on the binop. Then we call ExtendUsesToFormExtLoad to capture SetCCs that use the load. So we only end up finding any setccs when the and has additional uses and the load is used by a setcc. I don't think the and having multiple uses is relevant here. I think we should only be checking for the load having multiple uses.

This changes an NVPTX test because we now find that the load has a second use by a truncate, but ExtendUsesToFormExtLoad only looks at setccs it can extend. All other operations just check isTruncateFree. Maybe we should allow widening of an existing truncate even if its not free?

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

llvm-svn: 325289
2018-02-15 20:20:32 +00:00
..
AArch64 GlobalISel: IRTranslate llvm.fmuladd.* intrinsic 2018-02-13 00:47:46 +00:00
AMDGPU [AMDGPU] Remove non-temporal flag from argument loads 2018-02-14 18:05:14 +00:00
ARC
ARM [ARM] Fix redirect in inline assembly test 2018-02-15 19:17:55 +00:00
AVR
BPF bpf: fix a bug in dag2dag optimization for loads from readonly section 2018-02-15 17:06:45 +00:00
Generic
Hexagon [Hexagon] Fix lowering of formal arguments after r324737 2018-02-15 15:47:53 +00:00
Inputs
Lanai
Mips [SelectionDAG] Add initial implementation of TargetLowering::SimplifyDemandedVectorElts 2018-02-15 12:14:15 +00:00
MIR
MSP430
Nios2
NVPTX [DAGCombiner] Call ExtendUsesToFormExtLoad in (zext (and (load)))->(and (zextload)) even when the and does not have multiple uses 2018-02-15 20:20:32 +00:00
PowerPC
RISCV
SPARC
SystemZ
Thumb
Thumb2
WebAssembly
WinCFGuard
WinEH
X86 [X86] Add test cases for opportunities for using BT instead of TEST under optsize. 2018-02-15 19:00:11 +00:00
XCore