1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00

Add support for getting a null pointer.

llvm-svn: 97380
This commit is contained in:
Erick Tryzelaar 2010-02-28 09:46:27 +00:00
parent 17cb74d29a
commit 7d687cbb84
3 changed files with 12 additions and 0 deletions

View File

@ -246,6 +246,7 @@ external replace_all_uses_with : llvalue -> llvalue -> unit
external is_constant : llvalue -> bool = "llvm_is_constant"
external const_null : lltype -> llvalue = "LLVMConstNull"
external const_all_ones : (*int|vec*)lltype -> llvalue = "LLVMConstAllOnes"
external const_pointer_null : lltype -> llvalue = "LLVMConstPointerNull"
external undef : lltype -> llvalue = "LLVMGetUndef"
external is_null : llvalue -> bool = "llvm_is_null"
external is_undef : llvalue -> bool = "llvm_is_undef"

View File

@ -527,6 +527,10 @@ external const_null : lltype -> llvalue = "LLVMConstNull"
[ty]. See the method [llvm::Constant::getAllOnesValue]. *)
external const_all_ones : (*int|vec*)lltype -> llvalue = "LLVMConstAllOnes"
(** [const_pointer_null ty] returns the constant null (zero) pointer of the type
[ty]. See the method [llvm::ConstantPointerNull::get]. *)
external const_pointer_null : lltype -> llvalue = "LLVMConstPointerNull"
(** [undef ty] returns the undefined value of the type [ty].
See the method [llvm::UndefValue::get]. *)
external undef : lltype -> llvalue = "LLVMGetUndef"

View File

@ -315,6 +315,13 @@ let test_constants () =
group "all ones";
let c = const_all_ones i64_type in
ignore (define_global "const_all_ones" c m);
group "pointer null"; begin
(* RUN: grep {const_pointer_null = global i64\\* null} < %t.ll
*)
let c = const_pointer_null (pointer_type i64_type) in
ignore (define_global "const_pointer_null" c m);
end;
(* RUN: grep {const_undef.*undef} < %t.ll
*)