mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Use a module to group calling convention values, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45236 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d6b62a5722
commit
1475142b93
@ -55,11 +55,13 @@ module Visibility = struct
|
||||
| Protected
|
||||
end
|
||||
|
||||
let ccc = 0
|
||||
let fastcc = 8
|
||||
let coldcc = 9
|
||||
let x86_stdcallcc = 64
|
||||
let x86_fastcallcc = 65
|
||||
module CallConv = struct
|
||||
let c = 0
|
||||
let fast = 8
|
||||
let cold = 9
|
||||
let x86_stdcall = 64
|
||||
let x86_fastcall = 65
|
||||
end
|
||||
|
||||
module Icmp = struct
|
||||
type t =
|
||||
|
@ -95,16 +95,18 @@ end
|
||||
(* The following calling convention values may be accessed with
|
||||
[function_call_conv f] and [set_function_call_conv conv f]. Calling
|
||||
conventions are open-ended. *)
|
||||
val ccc : int (** [ccc] is the C calling convention. **)
|
||||
val fastcc : int (** [fastcc] is the calling convention to allow LLVM
|
||||
module CallConv : sig
|
||||
val c : int (** [c] is the C calling convention. **)
|
||||
val fast : int (** [fast] is the calling convention to allow LLVM
|
||||
maximum optimization opportunities. Use only with
|
||||
internal linkage. **)
|
||||
val coldcc : int (** [coldcc] is the calling convention for
|
||||
val cold : int (** [cold] is the calling convention for
|
||||
callee-save. **)
|
||||
val x86_stdcallcc : int (** [x86_stdcallcc] is the familiar stdcall calling
|
||||
val x86_stdcall : int (** [x86_stdcall] is the familiar stdcall calling
|
||||
convention from C. **)
|
||||
val x86_fastcallcc : int (** [x86_fastcallcc] is the familiar fastcall calling
|
||||
val x86_fastcall : int (** [x86_fastcall] is the familiar fastcall calling
|
||||
convention from C. **)
|
||||
end
|
||||
|
||||
(** The predicate for an integer comparison ([icmp]) instruction.
|
||||
See the [llvm::ICmpInst::Predicate] enumeration. **)
|
||||
|
@ -496,9 +496,9 @@ let test_functions () =
|
||||
*)
|
||||
group "callconv";
|
||||
let fn = define_function "Fn5" ty m in
|
||||
insist (ccc = function_call_conv fn);
|
||||
set_function_call_conv fastcc fn;
|
||||
insist (fastcc = function_call_conv fn);
|
||||
insist (CallConv.c = function_call_conv fn);
|
||||
set_function_call_conv CallConv.fast fn;
|
||||
insist (CallConv.fast = function_call_conv fn);
|
||||
ignore (build_unreachable (builder_at_end (entry_block fn)));
|
||||
|
||||
begin group "collector";
|
||||
|
Loading…
Reference in New Issue
Block a user