llvm-6502/test
Chandler Carruth 1c7c2e8650 [x86] Fix PR22524: the DAG combiner was incorrectly handling illegal
nodes when folding bitcasts of constants.

We can't fold things and then check after-the-fact whether it was legal.
Once we have formed the DAG node, arbitrary other nodes may have been
collapsed to it. There is no easy way to go back. Instead, we need to
test for the specific folding cases we're interested in and ensure those
are legal first.

This could in theory make this less powerful for bitcasting from an
integer to some vector type, but AFAICT, that can't actually happen in
the SDAG so its fine. Now, we *only* whitelist specific int->fp and
fp->int bitcasts for post-legalization folding. I've added the test case
from the PR.

(Also as a note, this does not appear to be in 3.6, no backport needed)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228656 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-10 02:25:56 +00:00
..
Analysis MemDerefPrinter: Require DataLayoutPass for higher accuracy 2015-02-09 21:50:03 +00:00
Assembler IR: Allow 32-bits for lines in debug location 2015-02-06 22:50:13 +00:00
Bindings [OCaml] Add Llvm.build_empty_phi. 2015-02-06 13:42:03 +00:00
Bitcode
BugPoint
CodeGen [x86] Fix PR22524: the DAG combiner was incorrectly handling illegal 2015-02-10 02:25:56 +00:00
DebugInfo Debug info: When updating debug info during SROA, do not emit debug info 2015-02-09 23:57:22 +00:00
ExecutionEngine [Orc] Make OrcMCJITReplacement::addObject calls transfer buffer ownership to the 2015-02-02 19:51:18 +00:00
Feature
FileCheck
Instrumentation [msan] Fix "missing origin" in atomic store. 2015-02-06 21:47:39 +00:00
Integer
JitListener
Linker Utils: Resolve cycles under distinct MDNodes 2015-02-04 19:44:34 +00:00
LTO
MC This change implements the following three logical vector operations: 2015-02-09 17:03:18 +00:00
Object
Other
SymbolRewriter
TableGen
tools Add code to llvm-objdump so the -section option with -macho will dump literal 2015-02-06 23:25:38 +00:00
Transforms PlaceSafepoints: modernize gc.result.* -> gc.result 2015-02-09 23:00:40 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Remove a gross usage of environment variables in MachineVerifier, replacing it with support for setting the -verify-machineinstrs flag via an environment variable in LIT. 2015-02-04 00:02:59 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh