Add back llvmcall
Check if ptx function
Function signature is changed for ptx functions to get pointers and address space annotation
tid_x intercepted to generate ptx intrinsic (ugly, but it works for now)
Array arguments in function signature are now correctly processed
Commented out hackish code to enable ptx intrinsic
Merge branch 'pr/5046' into ptx_extension
Fix namespace issue
Avoid bounds checking for ptx kernels
Avoid casting arrays to jl_value_t when accessing arrays
Removed superfluous intrinsics code
Array indexing is still starting at 1, intrinsics will have to add 1 to return value to counteract this (this has to happen in julia in order to make optimization work)
Added array bounds checking (idx >= 0)
Please enter the commit message for your changes. Lines starting
Added useful (but simple) error message for bounds check
Custom writer for module dump
Enable nvptx compilation in llvm
Add inline keyword to function
Write to cuda module
base/exports.jl & base/relfection.jl
Provide julia interface to print llvm modules
(native currently only for cuda module)

src/cgutils.cpp
Avoid mutliple declarations of vprintf and error message for cuda min index check

src/codegen.cpp
Create and initialise cuda module
Create module pass manager for cuda module
Provided function to dump llvm/native module
Add cuda functions to correct module
Added function which retrieves the unique llvm name of a specific method
PTX functions are now annotated with "kernel" annotation
Basic datatypes can now be passed to kernels
General bugfixes
Fixed vprintf issues (currently a bit hackish)
llvm name now accepts function types