Sasa Stankovic | 8c5736b | 2014-02-28 10:00:38 +0000 | [diff] [blame] | 1 | //===-- MipsMCNaCl.h - NaCl-related declarations --------------------------===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | |
Benjamin Kramer | a7c40ef | 2014-08-13 16:26:38 +0000 | [diff] [blame] | 10 | #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCNACL_H |
| 11 | #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCNACL_H |
Sasa Stankovic | 8c5736b | 2014-02-28 10:00:38 +0000 | [diff] [blame] | 12 | |
| 13 | #include "llvm/MC/MCELFStreamer.h" |
| 14 | |
| 15 | namespace llvm { |
| 16 | |
| 17 | // Log2 of the NaCl MIPS sandbox's instruction bundle size. |
| 18 | static const unsigned MIPS_NACL_BUNDLE_ALIGN = 4u; |
| 19 | |
Sasa Stankovic | 5fddf61 | 2014-03-10 20:34:23 +0000 | [diff] [blame] | 20 | bool isBasePlusOffsetMemoryAccess(unsigned Opcode, unsigned *AddrIdx, |
Craig Topper | e73658d | 2014-04-28 04:05:08 +0000 | [diff] [blame] | 21 | bool *IsStore = nullptr); |
Sasa Stankovic | 5fddf61 | 2014-03-10 20:34:23 +0000 | [diff] [blame] | 22 | bool baseRegNeedsLoadStoreMask(unsigned Reg); |
| 23 | |
Sasa Stankovic | 8c5736b | 2014-02-28 10:00:38 +0000 | [diff] [blame] | 24 | // This function creates an MCELFStreamer for Mips NaCl. |
Lang Hames | 02d3305 | 2017-10-11 01:57:21 +0000 | [diff] [blame] | 25 | MCELFStreamer *createMipsNaClELFStreamer(MCContext &Context, |
| 26 | std::unique_ptr<MCAsmBackend> TAB, |
Peter Collingbourne | f7b81db | 2018-05-18 18:26:45 +0000 | [diff] [blame] | 27 | std::unique_ptr<MCObjectWriter> OW, |
Lang Hames | 2241ffa | 2017-10-11 23:34:47 +0000 | [diff] [blame] | 28 | std::unique_ptr<MCCodeEmitter> Emitter, |
| 29 | bool RelaxAll); |
Alexander Kornienko | f00654e | 2015-06-23 09:49:53 +0000 | [diff] [blame] | 30 | } |
Sasa Stankovic | 8c5736b | 2014-02-28 10:00:38 +0000 | [diff] [blame] | 31 | |
| 32 | #endif |