LLVM API Documentation
00001 //===-- MipsMCNaCl.h - NaCl-related declarations --------------------------===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 00010 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCNACL_H 00011 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCNACL_H 00012 00013 #include "llvm/MC/MCELFStreamer.h" 00014 00015 namespace llvm { 00016 00017 // Log2 of the NaCl MIPS sandbox's instruction bundle size. 00018 static const unsigned MIPS_NACL_BUNDLE_ALIGN = 4u; 00019 00020 bool isBasePlusOffsetMemoryAccess(unsigned Opcode, unsigned *AddrIdx, 00021 bool *IsStore = nullptr); 00022 bool baseRegNeedsLoadStoreMask(unsigned Reg); 00023 00024 // This function creates an MCELFStreamer for Mips NaCl. 00025 MCELFStreamer *createMipsNaClELFStreamer(MCContext &Context, MCAsmBackend &TAB, 00026 raw_ostream &OS, 00027 MCCodeEmitter *Emitter, 00028 const MCSubtargetInfo &STI, 00029 bool RelaxAll, bool NoExecStack); 00030 00031 } 00032 00033 #endif