11# compiler driver and main interface
22
3+ # NOTE: the keyword arguments to compile/codegen control those aspects of compilation that
4+ # might have to be changed (e.g. set libraries=false when recursing, or set
5+ # strip=true for reflection). What remains defines the compilation job itself,
6+ # and those values are contained in the CompilerJob struct.
7+
38# (::CompilerJob)
49const compile_hook = Ref {Union{Nothing,Function}} (nothing )
510
@@ -17,12 +22,12 @@ The following keyword arguments are supported:
1722- `libraries`: link the CUDAnative runtime and `libdevice` libraries (if required)
1823- `dynamic_parallelism`: resolve dynamic parallelism (if required)
1924- `optimize`: optimize the code (default: true)
20- - `strip`: strip non-functional metadata and debug information (default: false)
25+ - `strip`: strip non-functional metadata and debug information (default: false)
2126- `strict`: perform code validation either as early or as late as possible
2227
2328Other keyword arguments can be found in the documentation of [`cufunction`](@ref).
2429"""
25- compile (target:: Symbol , cap:: VersionNumber , @nospecialize (f:: Core.Function ),
30+ compile (target:: Symbol , cap:: VersionNumber , @nospecialize (f:: Base.Callable ),
2631 @nospecialize (tt), kernel:: Bool = true ; libraries:: Bool = true ,
2732 dynamic_parallelism:: Bool = true , optimize:: Bool = true ,
2833 strip:: Bool = false , strict:: Bool = true , kwargs... ) =
5156
5257function codegen (target:: Symbol , job:: CompilerJob ;
5358 libraries:: Bool = true , dynamic_parallelism:: Bool = true , optimize:: Bool = true ,
54- strip:: Bool = false ,strict:: Bool = true )
59+ strip:: Bool = false , strict:: Bool = true )
5560 # # Julia IR
5661
5762 @timeit_debug to " validation" check_method (job)
0 commit comments