llvm-6502/lib
Bill Schmidt 12ae7fd2da [PowerPC] Fix PR16556 (handle undef ppcf128 in LowerFP_TO_INT).
PPCTargetLowering::LowerFP_TO_INT() expects its source operand to be
either an f32 or f64, but this is not checked.  A long double
(ppcf128) operand will normally be custom-lowered to a conversion to
f64 in this context.  However, this isn't the case for an UNDEF node.

This patch recognizes a ppcf128 as a legal source operand for
FP_TO_INT only if it's an undef, in which case it creates an undef of
the target type.

At some point we might want to do a wholesale custom lowering of
ISD::UNDEF when the type is ppcf128, but it's not really clear that's
a great idea, and probably more work than it's worth for a situation
that only arises in the case of a programming error.  At this point I
think simple is best.

The test case comes from PR16556, and is a crash-test only.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185821 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-08 14:22:45 +00:00
..
Analysis Eliminate trivial redundant loads across nocapture+readonly calls to uncaptured 2013-07-07 10:15:16 +00:00
AsmParser Extend 'readonly' and 'readnone' to work on function arguments as well as 2013-07-06 00:29:58 +00:00
Bitcode
CodeGen Fix PromoteIntRes_BUILD_VECTOR crash with i1 vectors 2013-07-08 06:16:58 +00:00
DebugInfo
ExecutionEngine
IR Extend 'readonly' and 'readnone' to work on function arguments as well as 2013-07-06 00:29:58 +00:00
IRReader
Linker
MC Revert: Fix wrong code offset for unwind code SET_FPREG. 2013-07-08 04:48:34 +00:00
Object Remove a useless declarations (found by scan-build) 2013-07-05 15:58:12 +00:00
Option
Support Remove unique_file now that it is unused. 2013-07-05 21:19:35 +00:00
TableGen
Target [PowerPC] Fix PR16556 (handle undef ppcf128 in LowerFP_TO_INT). 2013-07-08 14:22:45 +00:00
Transforms InstCombine: Fold X-C1 <u 2 -> (X & -2) == C1 2013-07-08 11:53:08 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile