diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2015-09-08 09:07:03 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2015-09-08 09:07:03 +0000 |
commit | 808dfb8ba73f23230a5b11c6e35551b7c2fd7a52 (patch) | |
tree | d16d54b304420c911ceb41f60aaf80e2aa60779a /llvm/lib/Target | |
parent | d930ef76eaca107e80baa7edda864cf2eb075a24 (diff) | |
download | bcm5719-llvm-808dfb8ba73f23230a5b11c6e35551b7c2fd7a52.tar.gz bcm5719-llvm-808dfb8ba73f23230a5b11c6e35551b7c2fd7a52.zip |
[mips] Reserve address spaces 1-255 for software use.
Summary: And define them to have noop casts with address spaces 0-255.
Reviewers: pekka.jaaskelainen
Subscribers: pekka.jaaskelainen, llvm-commits
Differential Revision: http://reviews.llvm.org/D12678
llvm-svn: 246990
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/Mips/MipsISelLowering.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.h b/llvm/lib/Target/Mips/MipsISelLowering.h index 1ec0d2c618f..b0204ca516d 100644 --- a/llvm/lib/Target/Mips/MipsISelLowering.h +++ b/llvm/lib/Target/Mips/MipsISelLowering.h @@ -269,6 +269,14 @@ namespace llvm { unsigned getRegisterByName(const char* RegName, EVT VT, SelectionDAG &DAG) const override; + /// Returns true if a cast between SrcAS and DestAS is a noop. + bool isNoopAddrSpaceCast(unsigned SrcAS, unsigned DestAS) const override { + // Mips doesn't have any special address spaces so we just reserve + // the first 256 for software use (e.g. OpenCL) and treat casts + // between them as noops. + return SrcAS < 256 && DestAS < 256; + } + protected: SDValue getGlobalReg(SelectionDAG &DAG, EVT Ty) const; |