summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2010-06-09 08:29:41 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2010-06-09 08:29:41 +0000
commit056113a211511de788837ab1a772703e91bf2aee (patch)
treed43deb02417dd369dce05c9293fa7b4ad26d763a /llvm/lib/Target/CellSPU
parentaf80f669977135aa8acf0fc0fc93d5f7ca7b29cf (diff)
downloadbcm5719-llvm-056113a211511de788837ab1a772703e91bf2aee.tar.gz
bcm5719-llvm-056113a211511de788837ab1a772703e91bf2aee.zip
Handle loading from/storing to undef pointers on SPU by inserting a
random load/store, rather than crashing llc. llvm-svn: 105710
Diffstat (limited to 'llvm/lib/Target/CellSPU')
-rw-r--r--llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp b/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
index bfb57d36136..f76ad763848 100644
--- a/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
+++ b/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
@@ -606,7 +606,9 @@ SPUDAGToDAGISel::DFormAddressPredicate(SDNode *Op, SDValue N, SDValue &Base,
Base = CurDAG->getTargetConstant(0, N.getValueType());
Index = N;
return true;
- } else if (Opc == ISD::Register || Opc == ISD::CopyFromReg) {
+ } else if (Opc == ISD::Register
+ ||Opc == ISD::CopyFromReg
+ ||Opc == ISD::UNDEF) {
unsigned OpOpc = Op->getOpcode();
if (OpOpc == ISD::STORE || OpOpc == ISD::LOAD) {
OpenPOWER on IntegriCloud