ocaml/asmcomp
Xavier Leroy ea6896f9f1 Update C calling conventions to the RISC-V ELF psABI
The original implementation of loc_external_arguments and
loc_external_results was following an older ABI,
where an FP argument passed in an FP register "burns" an integer register.

In the ELF psABI, integer registers and FP registers are used independently,
as in the OCaml calling convention.  Plus, if all FP registers are used
but an integer register remains, the integer register is used to pass
the next FP argument.

Fixes: #9515
2020-04-30 16:20:46 +02:00
..
amd64 x86 asm: handle unit names with special characters (#9465) 2020-04-19 11:17:00 +02:00
arm Per-architecture support for allocation size info in frame tables. 2019-10-23 09:24:13 +01:00
arm64 Per-architecture support for allocation size info in frame tables. 2019-10-23 09:24:13 +01:00
debug Split Linearize into two modules 2019-09-04 11:55:11 +01:00
i386 Per-architecture support for allocation size info in frame tables. 2019-10-23 09:24:13 +01:00
power Per-architecture support for allocation size info in frame tables. 2019-10-23 09:24:13 +01:00
riscv Update C calling conventions to the RISC-V ELF psABI 2020-04-30 16:20:46 +02:00
s390x Per-architecture support for allocation size info in frame tables. 2019-10-23 09:24:13 +01:00
CSEgen.ml Remove loop constructors in Cmm and Mach 2019-02-19 17:00:38 +01:00
CSEgen.mli Fixing typos in various files (#2246) 2019-02-13 14:04:56 +01:00
afl_instrument.ml Use typing information from Clambda for mutable Cmm variables 2020-02-25 15:03:14 +00:00
afl_instrument.mli More debugging information in Cmm terms (#2308) 2019-03-13 15:40:04 +00:00
asmgen.ml Stop before emit 2019-10-30 15:27:29 +00:00
asmgen.mli Move some code from Asmgen to the middle end directory etc. (#2288) 2019-05-10 15:11:22 +02:00
asmlibrarian.ml Refactor load path management and initial environment 2019-01-30 16:36:38 +00:00
asmlibrarian.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
asmlink.ml code review changes 2020-04-02 16:38:54 +05:30
asmlink.mli call_linker now returns exit_code for better error response on linking_error, fixes #7141 2020-03-23 06:12:05 +05:30
asmpackager.ml code review changes 2020-04-02 16:38:54 +05:30
asmpackager.mli Add option to dump the output of e.g. -dlambda in a file (#1913) 2018-07-27 08:51:53 +01:00
branch_relaxation.ml Use allocation-size info on more than just amd64. 2019-10-22 11:47:31 +01:00
branch_relaxation.mli Split Linearize into two modules 2019-09-04 11:55:11 +01:00
branch_relaxation_intf.ml Use allocation-size info on more than just amd64. 2019-10-22 11:47:31 +01:00
cmm.ml Use typing information from Clambda for mutable Cmm variables 2020-02-25 15:03:14 +00:00
cmm.mli Use typing information from Clambda for mutable Cmm variables 2020-02-25 15:03:14 +00:00
cmm_helpers.ml Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
cmm_helpers.mli Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
cmmgen.ml Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
cmmgen.mli Split cmmgen into generic cmm helpers and clambda-specific transformations (#1963) 2019-10-04 17:49:59 +02:00
cmmgen_state.ml Split cmmgen into generic cmm helpers and clambda-specific transformations (#1963) 2019-10-04 17:49:59 +02:00
cmmgen_state.mli Split cmmgen into generic cmm helpers and clambda-specific transformations (#1963) 2019-10-04 17:49:59 +02:00
coloring.ml Visit registers at most once in Coloring.iter_preferred 2020-03-31 12:34:02 +01:00
coloring.mli Pass num_stack_slots as argument 2019-09-11 18:48:20 +01:00
comballoc.ml Use allocation-size info on more than just amd64. 2019-10-22 11:47:31 +01:00
comballoc.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
deadcode.ml Eliminate dead `ICatch` handlers (#2321) 2019-08-06 12:23:13 +01:00
deadcode.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
dune [minor] fix dune build 2019-01-08 15:02:09 +01:00
emit.mli Split Linearize into two modules 2019-09-04 11:55:11 +01:00
emitaux.ml Print function names (derived from Lambda.scoped_location) in backtraces 2020-04-27 12:58:53 +01:00
emitaux.mli Use allocation-size info on more than just amd64. 2019-10-22 11:47:31 +01:00
interf.ml Revised handling of weights over preference edges (#8909) 2019-09-26 19:03:11 +02:00
interf.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
interval.ml Remove loop constructors in Cmm and Mach 2019-02-19 17:00:38 +01:00
interval.mli Correct copyright header formatting 2017-10-25 23:54:39 +01:00
linear.ml Move contains_calls and num_stack_slots from Proc to Mach.fundecl 2019-09-09 11:33:03 +01:00
linear.mli Move contains_calls and num_stack_slots from Proc to Mach.fundecl 2019-09-09 11:33:03 +01:00
linearize.ml Fix indentation 2019-09-10 12:43:30 +01:00
linearize.mli Split Linearize into two modules 2019-09-04 11:55:11 +01:00
linscan.ml Pass num_stack_slots as argument 2019-09-11 18:48:20 +01:00
linscan.mli Pass num_stack_slots as argument 2019-09-11 18:48:20 +01:00
liveness.ml Remove loop constructors in Cmm and Mach 2019-02-19 17:00:38 +01:00
liveness.mli liveness: print fatal errors fully on stderr 2018-07-15 15:08:48 -04:00
mach.ml Use allocation-size info on more than just amd64. 2019-10-22 11:47:31 +01:00
mach.mli Use allocation-size info on more than just amd64. 2019-10-22 11:47:31 +01:00
printcmm.ml Use typing information from Clambda for mutable Cmm variables 2020-02-25 15:03:14 +00:00
printcmm.mli Move backtrace support global variables to domain state. 2019-08-23 09:50:05 +05:30
printlinear.ml -dno-locations: hide source locations (and debug events) from IR dumps 2020-01-09 15:25:16 +01:00
printlinear.mli Split Linearize into two modules 2019-09-04 11:55:11 +01:00
printmach.ml -dno-locations: hide source locations (and debug events) from IR dumps 2020-01-09 15:25:16 +01:00
printmach.mli Merge dump_live and print_live 2019-09-30 15:56:40 +02:00
proc.mli Move contains_calls and num_stack_slots from Proc to Mach.fundecl 2019-09-09 11:33:03 +01:00
reg.ml Reset Reg.visit_generation during Reg.reset 2020-04-16 13:19:33 +01:00
reg.mli Visit registers at most once in Coloring.iter_preferred 2020-03-31 12:34:02 +01:00
reload.mli Pass num_stack_slots as argument 2019-09-11 18:48:20 +01:00
reloadgen.ml Pass num_stack_slots as argument 2019-09-11 18:48:20 +01:00
reloadgen.mli Pass num_stack_slots as argument 2019-09-11 18:48:20 +01:00
schedgen.ml Move contains_calls and num_stack_slots from Proc to Mach.fundecl 2019-09-09 11:33:03 +01:00
schedgen.mli Split Linearize into two modules 2019-09-04 11:55:11 +01:00
scheduling.mli Split Linearize into two modules 2019-09-04 11:55:11 +01:00
selectgen.ml Make Cconst_symbol have typ_int to fix no-naked-pointers mode (#9282) 2020-04-21 12:06:19 +01:00
selectgen.mli Assert that Cassign is only used on Clet_mut-bound variables 2020-02-25 15:23:38 +00:00
selection.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
spacetime_profiling.ml Retain debug information about allocation sizes, for statmemprof. 2019-10-22 11:47:31 +01:00
spacetime_profiling.mli Spacetime: a new memory profiler (#585) 2016-07-29 15:07:10 +01:00
spill.ml Move contains_calls and num_stack_slots from Proc to Mach.fundecl 2019-09-09 11:33:03 +01:00
spill.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
split.ml Move contains_calls and num_stack_slots from Proc to Mach.fundecl 2019-09-09 11:33:03 +01:00
split.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
strmatch.ml Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
strmatch.mli Replace Location.t with Lambda.scoped_location in Lambda code 2020-04-27 12:58:53 +01:00
x86_ast.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
x86_dsl.ml Add X86_dsl.r13 2016-06-20 11:19:17 +01:00
x86_dsl.mli Add X86_dsl.r13 2016-06-20 11:19:17 +01:00
x86_gas.ml s/string_of_int/Int.to_string/g 2018-11-07 13:52:02 +01:00
x86_gas.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
x86_masm.ml Update headers for the new license. 2016-02-18 16:59:16 +01:00
x86_masm.mli Update headers for the new license. 2016-02-18 16:59:16 +01:00
x86_proc.ml Remove support for compiler plugins (#2276) 2019-03-13 11:46:37 +01:00
x86_proc.mli Remove support for compiler plugins (#2276) 2019-03-13 11:46:37 +01:00