llvm-project/llvm/test/CodeGen
Craig Topper 033774e144 [X86] Cleanups and safety checks around the isFNEG
This patch does a few things to start cleaning up the isFNEG function.

-Remove the Op0/Op1 peekThroughBitcast calls that seem unnecessary. getTargetConstantBitsFromNode has its own peekThroughBitcast inside. And we have a separate peekThroughBitcast on the return value.
-Add a check of the scalar size after the first peekThroughBitcast to ensure we haven't changed the element size and just did something like f32->i32 or f64->i64.
-Remove an unnecessary check that Op1's type is floating point after the peekThroughBitcast. We're just going to look for a bit pattern from a constant. We don't care about its type.
-Add VT checks on several places that consume the return value of isFNEG. Due to the peekThroughBitcasts inside, the type of the return value isn't guaranteed. So its not safe to use it to build other nodes without ensuring the type matches the type being used to build the node. We might be able to replace these checks with bitcasts instead, but I don't have a test case so a bail out check seemed better for now.

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

llvm-svn: 364206
2019-06-24 17:28:26 +00:00
..
AArch64 [AArch64] Regenerate vcvt tests. NFCI. 2019-06-24 17:18:20 +00:00
AMDGPU AMDGPU/GlobalISel: Fix selecting G_IMPLICIT_DEF for s1 2019-06-24 16:24:03 +00:00
ARC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
ARM [ARM GlobalISel] Tests for s64 G_ADD and G_SUB. 2019-06-20 22:00:07 +00:00
AVR [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
BPF [BPF] generate R_BPF_NONE relocation for BTF DataSec variables 2019-05-26 21:26:06 +00:00
Generic Rename ExpandISelPseudo->FinalizeISel, delay register reservation 2019-06-19 00:25:39 +00:00
Hexagon Rename ExpandISelPseudo->FinalizeISel, delay register reservation 2019-06-19 00:25:39 +00:00
Inputs
Lanai [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
MIR AMDGPU: Always use s33 for global scratch wave offset 2019-06-20 21:58:24 +00:00
MSP430 [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
Mips [MIPS GlobalISel] Select integer to floating point conversions 2019-06-20 09:05:02 +00:00
NVPTX SelectionDAG: accommodate atomic floating stores. 2019-05-10 11:23:04 +00:00
PowerPC Rename ExpandISelPseudo->FinalizeISel, delay register reservation 2019-06-19 00:25:39 +00:00
RISCV [RISCV] Add RISCV-specific TargetTransformInfo 2019-06-21 13:36:09 +00:00
SPARC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
SystemZ [SystemZ] Support vector load/store alignment hints 2019-06-19 14:20:00 +00:00
Thumb [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
Thumb2 [ARM] Comply with rules on ARMv8-A thumb mode partial deprecation of IT. 2019-06-18 20:55:09 +00:00
WebAssembly [WebAssembly] Optimize ISel for SIMD Boolean reductions 2019-06-19 00:02:13 +00:00
WinCFGuard
WinEH [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
X86 [X86] Cleanups and safety checks around the isFNEG 2019-06-24 17:28:26 +00:00
XCore [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00