diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Target/M68k/M68kISelLowering.h')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Target/M68k/M68kISelLowering.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/Target/M68k/M68kISelLowering.h b/contrib/llvm-project/llvm/lib/Target/M68k/M68kISelLowering.h index 02427a4e749e..d00907775f92 100644 --- a/contrib/llvm-project/llvm/lib/Target/M68k/M68kISelLowering.h +++ b/contrib/llvm-project/llvm/lib/Target/M68k/M68kISelLowering.h @@ -194,6 +194,15 @@ private: unsigned GetAlignedArgumentStackSize(unsigned StackSize, SelectionDAG &DAG) const; + bool isOffsetFoldingLegal(const GlobalAddressSDNode *GA) const override { + // In many cases, `GA` doesn't give the correct offset to fold. It's + // hard to know if the real offset actually fits into the displacement + // of the perspective addressing mode. + // Thus, we disable offset folding altogether and leave that to ISel + // patterns. + return false; + } + SDValue getReturnAddressFrameIndex(SelectionDAG &DAG) const; /// Emit a load of return address if tail call |
