1*962a2479SLang Hames //===------------- MemoryFlags.cpp - Memory allocation flags --------------===// 2*962a2479SLang Hames // 3*962a2479SLang Hames // The LLVM Compiler Infrastructure 4*962a2479SLang Hames // 5*962a2479SLang Hames // This file is distributed under the University of Illinois Open Source 6*962a2479SLang Hames // License. See LICENSE.TXT for details. 7*962a2479SLang Hames // 8*962a2479SLang Hames //===----------------------------------------------------------------------===// 9*962a2479SLang Hames 10*962a2479SLang Hames #include "llvm/ExecutionEngine/JITLink/MemoryFlags.h" 11*962a2479SLang Hames 12*962a2479SLang Hames #define DEBUG_TYPE "jitlink" 13*962a2479SLang Hames 14*962a2479SLang Hames namespace llvm { 15*962a2479SLang Hames namespace jitlink { 16*962a2479SLang Hames operator <<(raw_ostream & OS,MemProt MP)17*962a2479SLang Hamesraw_ostream &operator<<(raw_ostream &OS, MemProt MP) { 18*962a2479SLang Hames return OS << (((MP & MemProt::Read) != MemProt::None) ? 'R' : '-') 19*962a2479SLang Hames << (((MP & MemProt::Write) != MemProt::None) ? 'W' : '-') 20*962a2479SLang Hames << (((MP & MemProt::Exec) != MemProt::None) ? 'X' : '-'); 21*962a2479SLang Hames } 22*962a2479SLang Hames operator <<(raw_ostream & OS,MemDeallocPolicy MDP)23*962a2479SLang Hamesraw_ostream &operator<<(raw_ostream &OS, MemDeallocPolicy MDP) { 24*962a2479SLang Hames return OS << (MDP == MemDeallocPolicy::Standard ? "standard" : "finalize"); 25*962a2479SLang Hames } 26*962a2479SLang Hames operator <<(raw_ostream & OS,AllocGroup AG)27*962a2479SLang Hamesraw_ostream &operator<<(raw_ostream &OS, AllocGroup AG) { 28*962a2479SLang Hames return OS << '(' << AG.getMemProt() << ", " << AG.getMemDeallocPolicy() 29*962a2479SLang Hames << ')'; 30*962a2479SLang Hames } 31*962a2479SLang Hames 32*962a2479SLang Hames } // end namespace jitlink 33*962a2479SLang Hames } // end namespace llvm 34