diff options
| author | Dylan McKay <dylanmckay34@gmail.com> | 2016-12-10 10:16:13 +0000 |
|---|---|---|
| committer | Dylan McKay <dylanmckay34@gmail.com> | 2016-12-10 10:16:13 +0000 |
| commit | 5d0233bea22a103b5ecb5a9b5453f1206f2defe0 (patch) | |
| tree | 49aa4e50293a75d02c4ae233141126d8101efdcd /llvm/lib/Target/AVR | |
| parent | 85588fa2b0cd2a41a7c6ce58f989706bd470d04c (diff) | |
| download | bcm5719-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.cpp | 3 |
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; } |

