summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AVR
diff options
context:
space:
mode:
authorDylan McKay <dylanmckay34@gmail.com>2016-12-10 10:16:13 +0000
committerDylan McKay <dylanmckay34@gmail.com>2016-12-10 10:16:13 +0000
commit5d0233bea22a103b5ecb5a9b5453f1206f2defe0 (patch)
tree49aa4e50293a75d02c4ae233141126d8101efdcd /llvm/lib/Target/AVR
parent85588fa2b0cd2a41a7c6ce58f989706bd470d04c (diff)
downloadbcm5719-llvm-5d0233bea22a103b5ecb5a9b5453f1206f2defe0.tar.gz
bcm5719-llvm-5d0233bea22a103b5ecb5a9b5453f1206f2defe0.zip
[AVR] Support stores to undefined pointers
This would previously trigger an assertion error in AVRISelDAGToDAG. llvm-svn: 289321
Diffstat (limited to 'llvm/lib/Target/AVR')
-rw-r--r--llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp b/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
index 098ee61b738..9ef98749cdc 100644
--- a/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
+++ b/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
@@ -328,7 +328,8 @@ template <> bool AVRDAGToDAGISel::select<ISD::STORE>(SDNode *N) {
SDValue BasePtr = ST->getBasePtr();
// Early exit when the base pointer is a frame index node or a constant.
- if (isa<FrameIndexSDNode>(BasePtr) || isa<ConstantSDNode>(BasePtr)) {
+ if (isa<FrameIndexSDNode>(BasePtr) || isa<ConstantSDNode>(BasePtr) ||
+ BasePtr.isUndef()) {
return false;
}
OpenPOWER on IntegriCloud