Jlm
Loading...
Searching...
No Matches
jlm
llvm
ir
CallingConvention.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2026 HÃ¥vard Krogstie <krogstie.havard@gmail.com>
3
* See COPYING for terms of redistribution.
4
*/
5
6
#include <
jlm/llvm/ir/CallingConvention.hpp
>
7
#include <
jlm/util/BijectiveMap.hpp
>
8
#include <
jlm/util/common.hpp
>
9
10
#include <llvm/IR/CallingConv.h>
11
12
namespace
jlm::llvm
13
{
14
15
static
const
util::BijectiveMap<::llvm::CallingConv::ID, CallingConvention> &
16
getCallingConventionMap
()
17
{
18
static
util::BijectiveMap<::llvm::CallingConv::ID, CallingConvention>
map = {
19
{ ::llvm::CallingConv::C,
CallingConvention::C
},
20
{ ::llvm::CallingConv::Fast,
CallingConvention::Fast
},
21
{ ::llvm::CallingConv::Cold,
CallingConvention::Cold
},
22
{ ::llvm::CallingConv::Tail,
CallingConvention::Tail
},
23
};
24
return
map;
25
}
26
27
jlm::llvm::CallingConvention
28
convertCallingConventionToJlm
(::llvm::CallingConv::ID cc)
29
{
30
const
auto
& map =
getCallingConventionMap
();
31
// LookupKey throws if the calling convention could not be found
32
return
map.LookupKey(cc);
33
}
34
35
::llvm::CallingConv::ID
36
convertCallingConventionToLlvm
(
jlm::llvm::CallingConvention
cc)
37
{
38
const
auto
& map =
getCallingConventionMap
();
39
// LookupValue throws if the calling convention could not be found
40
return
map.LookupValue(cc);
41
}
42
43
}
BijectiveMap.hpp
CallingConvention.hpp
jlm::util::BijectiveMap
Definition
BijectiveMap.hpp:23
common.hpp
jlm::llvm
Global memory state passed between functions.
Definition
IpGraphToLlvmConverter.cpp:40
jlm::llvm::convertCallingConventionToJlm
jlm::llvm::CallingConvention convertCallingConventionToJlm(::llvm::CallingConv::ID cc)
Definition
CallingConvention.cpp:28
jlm::llvm::convertCallingConventionToLlvm
::llvm::CallingConv::ID convertCallingConventionToLlvm(jlm::llvm::CallingConvention cc)
Definition
CallingConvention.cpp:36
jlm::llvm::CallingConvention
CallingConvention
Definition
CallingConvention.hpp:21
jlm::llvm::CallingConvention::C
@ C
jlm::llvm::CallingConvention::Cold
@ Cold
jlm::llvm::CallingConvention::Fast
@ Fast
jlm::llvm::CallingConvention::Tail
@ Tail
jlm::llvm::getCallingConventionMap
static const util::BijectiveMap<::llvm::CallingConv::ID, CallingConvention > & getCallingConventionMap()
Definition
CallingConvention.cpp:16
Generated by
1.9.8