diff options
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; } |

