aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/llvm14/lib/ExecutionEngine/JITLink/MemoryFlags.cpp
blob: b73a310b2910dd1afbc98848102e836a4d161cc1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//===------------- MemoryFlags.cpp - Memory allocation flags --------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "llvm/ExecutionEngine/JITLink/MemoryFlags.h"

#define DEBUG_TYPE "jitlink"

namespace llvm {
namespace jitlink {

raw_ostream &operator<<(raw_ostream &OS, MemProt MP) {
  return OS << (((MP & MemProt::Read) != MemProt::None) ? 'R' : '-')
            << (((MP & MemProt::Write) != MemProt::None) ? 'W' : '-')
            << (((MP & MemProt::Exec) != MemProt::None) ? 'X' : '-');
}

raw_ostream &operator<<(raw_ostream &OS, MemDeallocPolicy MDP) {
  return OS << (MDP == MemDeallocPolicy::Standard ? "standard" : "finalize");
}

raw_ostream &operator<<(raw_ostream &OS, AllocGroup AG) {
  return OS << '(' << AG.getMemProt() << ", " << AG.getMemDeallocPolicy()
            << ')';
}

} // end namespace jitlink
} // end namespace llvm